Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early...

55
Anne Banks Pidduck School of Computer Science

Transcript of Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early...

Page 1: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

Anne Banks PidduckSchool of Computer Science

Page 2: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 3: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 4: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 5: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

Management

ProjectManagement

SoftwareProject

Management

Page 6: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 7: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 8: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 9: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 10: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 11: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,
Page 12: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,
Page 13: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 14: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

– Project types– Sizes– Formality and rigor

Page 15: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 16: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 17: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� People� Process� Product� Technology

Page 18: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� Fast, cheap, good. Choose two.

Page 19: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� Know which of these are fixed & variablefor every project

Page 20: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� “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 21: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 22: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 23: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 24: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 25: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 26: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 27: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 28: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 29: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 30: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 31: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� 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 32: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,
Page 33: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 34: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 35: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 36: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 37: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 38: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

comparing to planned values

Page 39: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 40: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 41: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

9. Peer Reviews� Walkthroughs� Inspections

Page 42: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

10. Verification and Validation� Quality� Quantity

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

Page 43: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,
Page 44: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,
Page 45: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� Seductive Appeal� Types

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

Page 46: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� Undermined motivation� Weak personnel

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

Page 47: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 48: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 49: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 50: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 51: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 52: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

� Requirements gold-plating– Gilding the lily

� Feature creep� Developer gold-plating

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

Page 53: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

methods– Fad warning

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

Page 54: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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

Page 55: Anne Banks Pidduck School of Computer Scienceapidduck/CS330/W04/Lectures/spm.pdf · 1970’s: Early PM ideas and software – military, defense, construction industry – Fred Brooks,

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