Software Project Management
Objectives
Objectives
z Introduce students to a variety of approaches and techniques in SPM z Use current SPM tools
z Develop new SPM ideas
z Document reading, experiences and ideas z Improve writing and presentation skills
Today
Today
z Introduction to SE 362z Fundamentals of Project Management
Course Outline
Course Outline
z Introduction to PM and SPM
z Software models and process improvement z Project planning, scheduling, estimation
z Personnel and project organization
z Change management, monitoring & control z Protocols and standards
Workload and Evaluation
Workload and Evaluation
z Six assignments (30%) z Midterm (20%)
z Final Exam (50%)
z In-class presentations, critiques, discussion z Groupwork for three of the assignments
Textbooks
Textbooks
z Recommended Text (Free, in the library!)
Quality Software Project Management, Futrell & Shafer
z Lots of Other Texts (Widely varying content)
Rapid Development, Steve McConnell
Information Technology Project Management, Kathy
Schwalbe
IT Project Management, Jack Marchewka
Software Engineering Project Management, edited by
Richard H. Thayer
Format
Format
z Essentials of software project management z Research and textbook readings and writing z Real-world case studies
z Industry visitors z Highly interactive
My Background
My Background
z Civil Engineering
z Information Systems Management
z 15 years each in industry and academia z 1 year with KPMG, IT Consulting
z Projects of all shapes and sizes – health, construction, government
PM Profession
PM Profession
z Professional Organizations
– Project Management Institute (PMI) (pmi.org) – Software Engineering Institute (SEI)
– IEEE Software Engineering Group
z Certification
– PMI PMP
Project Management Skills
Project Management Skills
z Leadership
z Communications z Problem Solving z Negotiating
z Influencing the Organization z Mentoring
Software Project Management
Software Project Management
Management Project Management Software Project Management
Some PM History
Some PM History
z 1970’s: Early PM ideas and software
– military, defense, construction industry – Fred Brooks, The Mythical Man-Month
z 1980’s: SPM, TQM
z 1990’s: Large shift to PM-based models
– 1990-93: Re-engineering, self-directed teams – 1996-99: Risk mgmt, project offices
Project Management
Project Management
z What’s a project? z PMI definition
– A project is a temporary endeavor undertaken
to create a unique product or service
z Progressively elaborated
– With repetitive elements
z A project manager
Project vs. Program
Project vs. Program
Management
Management
z What’s a ‘program’?
z Mostly differences of scale
z Often a number of related projects z Longer than projects
Interactions / Stakeholders
Interactions / Stakeholders
z As a PM, who do you interact with? z Project Stakeholders
– Project sponsor – Executives
– Team (developers and maybe others) – Customers
– Contractors (as needed) – Functional managers
PM Tools: Software
PM Tools: Software
z Low-end
– Basic features, tasks management, charting
– MS Excel, Milestones Simplicity
z Mid-market
– Handle larger projects, multiple projects, analysis tools – MS Project (approx. 50% of market)
z High-end
– Very large projects, specialized needs, enterprise – AMS Realtime
Tools: Gantt Chart
Tools: Network Diagram
PMI’s 9 Knowledge Areas
PMI’s 9 Knowledge Areas
1. Project integration management 2. Scope 3. Time 4. Cost 5. Quality 6. Human resource 7. Communications 8. Risk 9. Procurement
Strategy
Strategy
z Classic Mistake Avoidance z Development Fundamentals z Risk Management
Four Project Dimensions
Four Project Dimensions
z People z Process z Product
Trade
Trade
-
-
off Triangle
off Triangle
Trade
Trade
-
-
off Triangle
off Triangle
z Know which of these are fixed & variable for every project
People
People
z “It’s always a people problem.”
Gerald Weinberg, The Secrets of Consulting
z Developer productivity: 10-to-1 range - Improvements:
- Team selection
- Team organization – Motivation
People …2
People …2
z Other success factors
– Matching people to tasks – Career development
– Balance: individual and team – Clear communication
Process
Process
z Is process stifling?
z Two Types: Management & Technical z Development fundamentals
z Quality assurance z Risk management z Lifecycle planning
Process …2
Process …2
z Customer orientation
z Process maturity improvement z Rework avoidance
Product
Product
z The “tangible” dimension z Product size management
z Product characteristics and requirements z Feature creep management
Technology
Technology
z Often the least important dimension z Language and tool selection
Planning
Planning
z Determine requirements z Determine resources
z Select lifecycle model
Tracking
Tracking
z Cost, effort, schedule z Planned vs. Actual
Measurements
Measurements
z Actual (To date) and Projected
– Cost
– Schedule – Effort
Measurements …2
Measurements …2
z Alternatives
– Earned value analysis – Defect rates
– Productivity (ex: SLOC)
Technical Fundamentals
Technical Fundamentals
z Requirements z Analysis z Design z Construction z Quality Assurance z DeploymentProject Phases
Project Phases
z All projects can be divided into phases z Project Life Cycle is all phases together z Each phase marked by Deliverables
Lifecycle Relationships
Software Project Management
Software Project Management
z Key Issues: Cost, Quality, Time z Software Project Planning
Software Project Planning
Software Project Planning
Software Requirements Engineering
1. Users’ needs, goals, expectations 2. Prototyping strategy
3. Software requirements specifications 4. Requirements traceability method
Software Project Planning
Software Project Planning
-
-
2
2
Project Plan Development
1. Activities, tasks 2. Cost estimation
Software Project Planning
Software Project Planning
-
-
3
3
Risk Management
1. Anticipate potential problems 2. Mitigate or avoid the problems
Software Project Planning
Software Project Planning
-
-
4
4
Incremental Release Process Model
1. Provide periodic demonstrations 2. Reach short-term goals
Software Project Control
Software Project Control
Work Package Development
1. Work Breakdown Structures (WBS) 2. Work Package Specifications
3. Binary Tracking Technique
4. Earned Value Tracking Technique,
Software Project Control
Software Project Control
-
-
2
2
Software Metrics
1. Product metrics 2. Process metrics
Software Project Control
Software Project Control
-
-
3
3
Software Configuration Management
1. Identify software components 2. Track component changes
3. Track documentation
Software Project Control
Software Project Control
-
-
4
4
Software Quality Assurance
1. Use a SQA process
2. Use engineering standards
Peer Reviews
1. Walkthroughs 2. Inspections
Software Project Control
Software Project Control
-
-
5
5
Verification and Validation
1. Quality 2. Quantity
Software Engineering Assessment
1. Validate organizational capability
Software Project Phases
Software Project Phases
Project Phases A.K.A.
Classic Mistakes
Classic Mistakes
z Seductive Appeal z Types – People-Related – Process-Related – Product-Related – Technology-RelatedPeople
People
-
-
Related Mistakes
Related Mistakes
z Undermined motivation z Weak personnel
– Weak vs. Junior
z Uncontrolled problem employees z Heroics
People
People
-
-
Related Mistakes …2
Related Mistakes …2
z Noisy, crowded offices
z Customer-Developer friction z Unrealistic expectations
z Politics over substance z Wishful thinking
People
People
-
-
Related Mistakes …3
Related Mistakes …3
z Lack of effective project sponsorship z Lack of stakeholder buy-in
Process
Process
-
-
Related Mistakes
Related Mistakes
z Optimistic schedules
z Insufficient risk management z Contractor failure
z Insufficient planning
Process
Process
-
-
Related Mistakes …2
Related Mistakes …2
z Wasted time during fuzzy front end z Shortchanged upstream activities z Inadequate design
Process
Process
-
-
Related Mistakes …3
Related Mistakes …3
z Insufficient management control z Frequent convergence
z Omitting necessary tasks from estimates z Planning to catch-up later
Product
Product
-
-
Related Mistakes
Related Mistakes
z Requirements gold-plating
– Gilding the lily
z Feature creep
z Developer gold-plating
– Beware the pet project
z Push-me, pull-me negotiation z Research-oriented development
Technology
Technology
-
-
Related Mistakes
Related Mistakes
z Silver-bullet syndrome
z Overestimated savings from new tools and methods
– Fad warning
z Switching tools in mid-project
References
References
z ACM Conferences z ICSE
z SEI
z IEEE Computer Society Press z IEEE Computer
Standards
Standards
z IEEE 1058, Standards for SPM Planning z ACM
z CSA z ISO
z SEI’s CMM
Software
Software
z PERT/Gantt/CPM Scheduling
z Work Breakdown Structure (WBS)
z COCOMO II Model Definition Manual z Sim SE
Homework
Homework
z Assignment 1
– Reading 56 pages – Thinking
– Writing one page
z Choose group partners