64
Anne Banks Pidduck School of Computer Science

Anne Banks Pidduck School of Computer Science

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Anne Banks Pidduck School of Computer Science

Anne Banks PidduckSchool of Computer Science

Page 2: Anne Banks Pidduck School of Computer Science

Software Project Management 2

� Introduce students to a variety ofapproaches and techniques in SPM

� Identify and critique current SPM literature� Use current SPM tools� Develop new SPM ideas� Document reading, experiences and ideas� Improve writing and presentation skills

Page 3: Anne Banks Pidduck School of Computer Science

Software Project Management 3

� Introduction to CS 846� Fundamentals of Project Management� Introduction to Software Project Management

Page 4: Anne Banks Pidduck School of Computer Science

Software Project Management 4

� Introduction to PM and SPM� Software models and process improvement� Project planning, scheduling, estimation� Personnel and project organization� Change management, monitoring & control� Protocols and standards� Software QA and risk management

Page 5: Anne Banks Pidduck School of Computer Science

Software Project Management 5

� Two small research papers (20%)� In-class presentations (20%)� In-class critiques, discussion, etc. (20%)� One major project and presentation (40%)

� Hopefully something that you can submit toa conference or journal in 2004!

Page 6: Anne Banks Pidduck School of Computer Science

Software Project Management 6

� Recommended Text (Collection of Papers)– Software Engineering Project Management, edited by

Richard H. Thayer

� Lots of Other Texts (Widely varying content)– Rapid Development, Steve McConnell– Information Technology Project Management, Kathy

Schwalbe– IT Project Management, Jack Marchewka– Quality Software Project Management, D. Shafer– Software Project Survival Guide, Steve McConnell

Page 7: Anne Banks Pidduck School of Computer Science

Software Project Management 7

� Essentials of software project management� Research readings and writing� Practical, rapid development focus� Real-world case studies� Industry visitors� Highly interactive

Page 8: Anne Banks Pidduck School of Computer Science

Software Project Management 8

� Civil Engineering� Information Systems Management� 15 years each in industry and academia� 1 year with KPMG, IT Consulting� Projects of all shapes and sizes – health,

construction, government

Page 9: Anne Banks Pidduck School of Computer Science

Software Project Management 9

� Name� Academic Background� Industry Experience� Project Management Experience� Expectations & Objectives

Page 10: Anne Banks Pidduck School of Computer Science

Software Project Management 10

� Professional Organizations– Project Management Institute (PMI) (pmi.org)– Software Engineering Institute (SEI)– IEEE Software Engineering Group

� Certification– PMI PMP

� The “PMBOK” – PM Body of Knowledge

Page 11: Anne Banks Pidduck School of Computer Science

Software Project Management 11

� Leadership� Communications� Problem Solving� Negotiating� Influencing the Organization� Mentoring� Process and technical expertise

Page 12: Anne Banks Pidduck School of Computer Science

Software Project Management 12

Management

ProjectManagement

SoftwareProject

Management

Page 13: Anne Banks Pidduck School of Computer Science

Software Project Management 13

� 1970’s: Early PM ideas and software– military, defense, construction industry– Fred Brooks, The Mythical Man-Month

� 1980’s: SPM, TQM� 1990’s: Large shift to PM-based models

– 1990-93: Re-engineering, self-directed teams– 1996-99: Risk mgmt, project offices

� 2000’s: Global projects

Page 14: Anne Banks Pidduck School of Computer Science

Software Project Management 14

� What’s a project?� PMI definition

– A project is a temporary endeavor undertakento create a unique product or service

� Progressively elaborated– With repetitive elements

� A project manager– Analogy: conductor, coach, captain

Page 15: Anne Banks Pidduck School of Computer Science

Software Project Management 15

� What’s a ‘program’?� Mostly differences of scale� Often a number of related projects� Longer than projects� Definitions vary

Page 16: Anne Banks Pidduck School of Computer Science

Software Project Management 16

� As a PM, who do you interact with?� Project Stakeholders

– Project sponsor– Executives– Team (developers and maybe others)– Customers– Contractors (as needed)– Functional managers

Page 17: Anne Banks Pidduck School of Computer Science

Software Project Management 17

� Low-end– Basic features, tasks management, charting– MS Excel, Milestones Simplicity

� Mid-market– Handle larger projects, multiple projects, analysis tools– MS Project (approx. 50% of market)

� High-end– Very large projects, specialized needs, enterprise– AMS Realtime– Primavera Project Manager

Page 18: Anne Banks Pidduck School of Computer Science

Software Project Management 18

Page 19: Anne Banks Pidduck School of Computer Science

Software Project Management 19

Page 20: Anne Banks Pidduck School of Computer Science

Software Project Management 20

� Project integration management� Scope� Time� Cost� Quality� Human resource� Communications� Risk� Procurement

Page 21: Anne Banks Pidduck School of Computer Science

Software Project Management 21

� One size does not fit all� Patterns and Anti-Patterns� Spectrums

– Project types– Sizes– Formality and rigor

Page 22: Anne Banks Pidduck School of Computer Science

Software Project Management 22

� Faster delivery� Reduced risk (Why?)� Increased visibility to customer� Can’t forsake quality

Page 23: Anne Banks Pidduck School of Computer Science

Software Project Management 23

� Classic Mistake Avoidance� Development Fundamentals� Risk Management� Schedule-Oriented Practices

Page 24: Anne Banks Pidduck School of Computer Science

Software Project Management 24

� People� Process� Product� Technology

Page 25: Anne Banks Pidduck School of Computer Science

Software Project Management 25

� Fast, cheap, good. Choose two.

Page 26: Anne Banks Pidduck School of Computer Science

Software Project Management 26

� Know which of these are fixed & variablefor every project

Page 27: Anne Banks Pidduck School of Computer Science

Software Project Management 27

� “It’s always a people problem.”Gerald Weinberg, The Secrets of Consulting

� Developer productivity: 10-to-1 range- Improvements:

- Team selection- Team organization– Motivation

Page 28: Anne Banks Pidduck School of Computer Science

Software Project Management 28

� Other success factors– Matching people to tasks– Career development– Balance: individual and team– Clear communication

Page 29: Anne Banks Pidduck School of Computer Science

Software Project Management 29

� Is process stifling?� Two Types: Management & Technical� Development fundamentals� Quality assurance� Risk management� Lifecycle planning

Page 30: Anne Banks Pidduck School of Computer Science

Software Project Management 30

� Customer orientation� Process maturity improvement� Rework avoidance� Avoid abuse by neglect

Page 31: Anne Banks Pidduck School of Computer Science

Software Project Management 31

� The “tangible” dimension� Product size management� Product characteristics and requirements� Feature creep management

Page 32: Anne Banks Pidduck School of Computer Science

Software Project Management 32

� Often the least important dimension� Language and tool selection� Value and cost of reuse

Page 33: Anne Banks Pidduck School of Computer Science

Software Project Management 33

� Determine requirements� Determine resources� Select lifecycle model� Determine product features strategy

Page 34: Anne Banks Pidduck School of Computer Science

Software Project Management 34

� Cost, effort, schedule� Planned vs. Actual� How to handle when things go off plan?

Page 35: Anne Banks Pidduck School of Computer Science

Software Project Management 35

� Actual (To date) and Projected– Cost– Schedule– Effort– Product features

Page 36: Anne Banks Pidduck School of Computer Science

Software Project Management 36

� Alternatives– Earned value analysis– Defect rates– Productivity (ex: SLOC)– Complexity (ex: function points)

Page 37: Anne Banks Pidduck School of Computer Science

Software Project Management 37

� Requirements� Analysis� Design� Construction� Quality Assurance� Deployment

Page 38: Anne Banks Pidduck School of Computer Science

Software Project Management 38

� All projects can be divided into phases� Project Life Cycle is all phases together� Each phase marked by Deliverables� As for software project phases

Page 39: Anne Banks Pidduck School of Computer Science

Software Project Management 39

Page 40: Anne Banks Pidduck School of Computer Science

Software Project Management 40

� Key Issues: Cost, Quality, Time� Software Project Planning� Software Project Control

Page 41: Anne Banks Pidduck School of Computer Science

Software Project Management 41

� Software Requirements Engineering� Users’ needs, goals, expectations� Prototyping strategy� Software requirements specifications� Requirements traceability method

Page 42: Anne Banks Pidduck School of Computer Science

Software Project Management 42

2. Project Plan Development� Activities, tasks� Cost estimation� Schedule, finish date

Page 43: Anne Banks Pidduck School of Computer Science

Software Project Management 43

3. Risk Management� Anticipate potential problems� Mitigate or avoid the problems� Track existing and potential problems

Page 44: Anne Banks Pidduck School of Computer Science

Software Project Management 44

4. Incremental Release Process Model� Provide periodic demonstrations� Reach short-term goals� Check progress towards long-term goals

Page 45: Anne Banks Pidduck School of Computer Science

Software Project Management 45

5. Work Package Development� Work Breakdown Structures (WBS)� Work Package Specifications� Binary Tracking Technique� Earned Value Tracking Technique,

comparing to planned values

Page 46: Anne Banks Pidduck School of Computer Science

Software Project Management 46

6. Software Metrics� Product metrics� Process metricsNecessary for planning and control

Page 47: Anne Banks Pidduck School of Computer Science

Software Project Management 47

7. Software Configuration Management– Identify software components– Track component changes– Track documentation– Control software evolution

Page 48: Anne Banks Pidduck School of Computer Science

Software Project Management 48

8. Software Quality Assurance� Use a SQA process� Use engineering standards

9. Peer Reviews� Walkthroughs� Inspections

Page 49: Anne Banks Pidduck School of Computer Science

Software Project Management 49

10. Verification and Validation� Quality� Quantity

11. Software Engineering Assessment� Validate organizational capability� Identify software process improvements

Page 50: Anne Banks Pidduck School of Computer Science

Software Project Management 50

Page 51: Anne Banks Pidduck School of Computer Science

Software Project Management 51

Page 52: Anne Banks Pidduck School of Computer Science

Software Project Management 52

� Seductive Appeal� Types

– People-Related– Process-Related– Product-Related– Technology-Related

Page 53: Anne Banks Pidduck School of Computer Science

Software Project Management 53

� Undermined motivation� Weak personnel

– Weak vs. Junior� Uncontrolled problem employees� Heroics� Adding people to a late project

Page 54: Anne Banks Pidduck School of Computer Science

Software Project Management 54

� Noisy, crowded offices� Customer-Developer friction� Unrealistic expectations� Politics over substance� Wishful thinking

Page 55: Anne Banks Pidduck School of Computer Science

Software Project Management 55

� Lack of effective project sponsorship� Lack of stakeholder buy-in� Lack of user input

Page 56: Anne Banks Pidduck School of Computer Science

Software Project Management 56

� Optimistic schedules� Insufficient risk management� Contractor failure� Insufficient planning� Abandonment of plan under pressure

Page 57: Anne Banks Pidduck School of Computer Science

Software Project Management 57

� Wasted time during fuzzy front end� Shortchanged upstream activities� Inadequate design� Shortchanged quality assurance

Page 58: Anne Banks Pidduck School of Computer Science

Software Project Management 58

� Insufficient management control� Frequent convergence� Omitting necessary tasks from estimates� Planning to catch-up later� Code-like-hell programming

Page 59: Anne Banks Pidduck School of Computer Science

Software Project Management 59

� Requirements gold-plating– Gilding the lily

� Feature creep� Developer gold-plating

– Beware the pet project� Push-me, pull-me negotiation� Research-oriented development

Page 60: Anne Banks Pidduck School of Computer Science

Software Project Management 60

� Silver-bullet syndrome� Overestimated savings from new tools and

methods– Fad warning

� Switching tools in mid-project� Lack of automated source-code control

Page 61: Anne Banks Pidduck School of Computer Science

Software Project Management 61

� ACM Conferences� ICSE� SEI� IEEE Computer Society Press� IEEE Computer� Journal of Systems and Software Sciences

Page 62: Anne Banks Pidduck School of Computer Science

Software Project Management 62

� IEEE 1058, Standards for SPM Planning� ACM� CSA� ISO� SEI’s CMM� National Bureau of Standards

Page 63: Anne Banks Pidduck School of Computer Science

Software Project Management 63

� PERT/Gantt/CPM Scheduling� Work Breakdown Structure (WBS)� COCOMO II Model Definition Manual� Sim SE� Problems and Programmers

Page 64: Anne Banks Pidduck School of Computer Science

Software Project Management 64

� Read intro.pdf� Read Thayer, pages 1 to 59� Write Assignment 1 (1 page!)� Document your Course Objectives� Choose three areas of interest for seminars� Choose a different area for final project