Software Project Management Dr. M.E. Fayad, Professor Computer Engineering Department College of Engineering, San José State University One Washington Square, San José, CA 95192-0180 E-mail: m.fayad@sjsu.edu 8/25/10 M.E. Fayad 2000 -- 2009 SPM -- Intro L3-S1
Session #3 Lesson Title Introduction to Software Project Management 2 8/25/10 M.E. Fayad 2000 -- 2009 L3-S2
Roadmap Lesson Learning Objectives Project Management Skills Project vs. Program Management Project Management Tools Project Management Institute Knowledge Areas Four Project Dimensions 36 Classic Mistakes 3 8/25/10 M.E. Fayad 2000 -- 2009 L3-S3
Lesson Learning Objectives Identify the skills required to be a successful SW project management Understand the differences between Project vs. Program. Overview Software Project Management Tools Identify the PMI Knowledge Areas Understand the different project dimensions Identify classical mistakes with SPM. 4 8/25/10 M.E. Fayad 2000 -- 2009 L3-S4
Project Management Skills (1) Leadership Communications Problem Solving Influencing the Organization Mentoring Process and technical expertise 5 8/25/10 M.E. Fayad 2000 -- 2009 L3-S5
Project Management Skills (2) Conflict Resolution Creativity and Flexibility Ability to Adjust to Change Good Planning Negotiation win-win versus win-lose 6 8/25/10 M.E. Fayad 2000 -- 2009 L3-S6
Project Management What s a project? A project is a temporary endeavor undertaken to create a unique product or service Progressively elaborated With repetitive elements A project manager Analogy: conductor, coach, captain 7 8/25/10 M.E. Fayad 2000 -- 2009 L3-S7
Why the emphasis on project management? Many tasks do not fit neatly into businessas-usual. Need to assign responsibility and authority for achievement of organizational goals. 8 8/25/10 M.E. Fayad 2000 -- 2009 L3-S8
Characteristics of Projects Unique Specific Deliverable Specific Due Date 9 8/25/10 M.E. Fayad 2000 -- 2009 L3-S9
Other Common Characteristics of Projects Multidisciplinary Complex Conflict Part of Programs 10 8/25/10 M.E. Fayad 2000 -- 2009 L3-S10
What are you manage? 3 Goals of a Project 11 8/25/10 M.E. Fayad 2000 -- 2009 L3-S11
Project vs. Program Management What s a program? Mostly differences of scale Often a number of related projects Longer than projects Definitions vary Ex: Program Manager for MS Word 12 8/25/10 M.E. Fayad 2000 -- 2009 L3-S12
Interactions / Stakeholders As a PM, who do you interact with? Project Stakeholders Project sponsor Executives Team Customers Contractors Functional managers 13 8/25/10 M.E. Fayad 2000 -- 2009 L3-S13
PM Tools: Software 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 14 8/25/10 M.E. Fayad 2000 -- 2009 L3-S14
Tools: Gantt Chart 15 8/25/10 M.E. Fayad 2000 -- 2009 L3-S15
Tools: Network Diagram 16 8/25/10 M.E. Fayad 2000 -- 2009 L3-S16
PMI s 9 Knowledge Areas Project integration management Scope Time Cost Quality Human resource Communications Risk Procurement 17 8/25/10 M.E. Fayad 2000 -- 2009 L3-S17
Basic Principles One size does not fit all Patterns and Anti-Patterns Spectrums Project types Sizes Formality and rigor 18 8/25/10 M.E. Fayad 2000 -- 2009 L3-S18
Development Strategy Classic Mistake Avoidance Development Fundamentals Risk Management Schedule-Oriented Practices Reuse Stability 19 8/25/10 M.E. Fayad 2000 -- 2009 L3-S19
Four Project Dimensions People Process Product Technology 20 8/25/10 M.E. Fayad 2000 -- 2009 L3-S20
Trade-off Triangle Fast, cheap, good. Choose Two Know which of these are fixed & variable for every project 21 8/25/10 M.E. Fayad 2000 -- 2009 L3-S21
People It s always a people problem Gerald Weinberg, The Secrets of Consulting Developer productivity: 10-to-1 range - Improvements: - Team selection - Team organization Motivation Other success factors Matching people to tasks Career development Balance: individual and team Clear communication 22 8/25/10 M.E. Fayad 2000 -- 2009 L3-S22
Process Is process stifling? 2 Types: Management & Technical Development fundamentals Quality assurance Risk management Lifecycle planning Avoid abuse by neglect Customer orientation Process maturity improvement Rework avoidance 23 8/25/10 M.E. Fayad 2000 -- 2009 L3-S23
Product The tangible dimension Product size management Product characteristics and requirements Feature creep management 24 8/25/10 M.E. Fayad 2000 -- 2009 L3-S24
Technology Often the least important dimension Language and tool selection Value and cost of reuse 25 8/25/10 M.E. Fayad 2000 -- 2009 L3-S25
Planning Determine requirements Determine resources Select lifecycle model Determine product features strategy 26 8/25/10 M.E. Fayad 2000 -- 2009 L3-S26
Tracking Cost, effort, schedule Planned vs. Actual How to handle when things go off plan? 27 8/25/10 M.E. Fayad 2000 -- 2009 L3-S27
Measurements To date and projected Cost Schedule Effort Product features Alternatives Earned value analysis Defect rates Productivity (ex: SLOC) Complexity (ex: function points) 28 8/25/10 M.E. Fayad 2000 -- 2009 L3-S28
Classic Mistakes Types People-Related (13) Process-Related (14) Product-Related (05) Technology-Related (04) Total (36) 29 8/25/10 M.E. Fayad 2000 -- 2009 L3-S29
People Related Mistakes (1) Undermined motivation Weak personnel Weak vs. Junior Uncontrolled problem employees Heroics Adding people to a late project Noisy, crowded offices Customer-Developer friction 30 8/25/10 M.E. Fayad 2000 -- 2009 L3-S30
People Related Mistakes (2) Unrealistic expectations Politics over substance Wishful thinking Lack of effective project sponsorship Lack of stakeholder buy-in Lack of user input 31 8/25/10 M.E. Fayad 2000 -- 2009 L3-S31
Process Related Mistakes (1) Optimistic schedules Insufficient risk management Contractor failure Insufficient planning Abandonment of plan under pressure Wasted time during fuzzy front end Shortchanged upstream activities 32 8/25/10 M.E. Fayad 2000 -- 2009 L3-S32
Process Related Mistakes (2) Inadequate design Shortchanged quality assurance Insufficient management controls Frequent convergence Omitting necessary tasks from estimates Planning to catch-up later Code-like-hell programming 33 8/25/10 M.E. Fayad 2000 -- 2009 L3-S33
Product Related Mistakes Requirements gold-plating Gilding the lily Feature creep Developer gold-plating Beware the pet project Push-me, pull-me negotiation Research-oriented development 34 8/25/10 M.E. Fayad 2000 -- 2009 L3-S34
Technology Related Mistakes Silver-bullet syndrome Overestimated savings from new tools and methods Fad warning Switching tools in mid-project Lack of automated source-code control 35 8/25/10 M.E. Fayad 2000 -- 2009 L3-S35
Conclusions Stable Patterns: Analysis: Quality, Evaluation, Lifecycle, Planning, Tracking, Measurement, Management, Design: Project, Program, Interaction, Chart, Scope, Risk, resource, Strategy, Process, Performance, Effort, Schedule, Plan, Defect, Constraint, 36 8/25/10 M.E. Fayad 2000 -- 2009 L3-S36
Evaluation Stable Analysis Pattern 37 8/25/10 M.E. Fayad 2000 -- 2009 L3-S37
AnyPerformance Stable Design Pattern 38 8/25/10 M.E. Fayad 2000 -- 2009 L3-S38
AnyProject Stable Design Pattern 39 8/25/10 M.E. Fayad 2000 -- 2009 L3-S39
Discussion Questions Questions? 40 8/25/10 M.E. Fayad 2000 -- 2009 L3-S40