This document provides an overview of the first session of a course on planning and managing software projects. It introduces the course basics, including the syllabus, textbooks, and the instructor's background in software project management. It also covers introductions of the students and their backgrounds. Some key topics discussed include the field of project management, important job fundamentals and skills for project managers, different project manager roles, and classic mistakes to avoid.
2. Credits 2
This slides are largely based on Prof. John Musser
class notes on “Principles of Software Project
Management”
M t”
Original slides are available at
http://www.projectreference.com/
htt // j t f /
Reuse and republish permission was granted
Planning and Managing Software Projects – Emanuele Della Valle
3. Today 3
Course basics, administrative items
Introductions
Fundamentals
Classic Mi t k
Cl i Mistakes
Planning and Managing Software Projects – Emanuele Della Valle
4. Course basics, administrative items
Syllabus Review 4
Class web site
• http://emanueledellavalle.org/Teaching/PMSP-2009-10.html
Grades
Exams
Assignments
Project
Class participation
Sessions
Planning and Managing Software Projects – Emanuele Della Valle
5. Course basics, administrative items
Textbooks 5
Recommended texts (not mandatory)
• These provide two very different viewpoints
– I th t
In-the-trenches vs. PMI textbook perspective
h t tb k ti
– “Rapid Development”, Steve McConnell
- http://www.stevemcconnell.com/rd.htm
– “Information Technology Project Management”, Kathy
Schwalbe
- http://www.kathyschwalbe.com/
p y
More reading
• “Quality Software Project Management”, D. Shafer
– http://books.google.com/books?id=YYFEqNz7oKcC&printsec=frontcover
• “Software Project Survival Guide”, Steve McConnell
– http://www.stevemcconnell.com/sg.htm
• “Peopleware”, T. DeMarco and T. Lister
– http://systemsguild.com/GuildSite/TDM/Tom_DeMarco.html
Planning and Managing Software Projects – Emanuele Della Valle
6. Course basics, administrative items
Basics 6
Essential elements of software project management
Practical, rapid development focus
Real-world case studies
• And other examples like j
p job interviews
Highly interactive
Dry as toast?
Planning and Managing Software Projects – Emanuele Della Valle
7. Course basics, administrative items
My Background 7
9 years, +50 projects
Projects of all shapes and sizes
• 80% in research 20% for industries
i h f i d t i
• 20% lasting 2-3 years 80% lasting 2-6 weeks
Areas of expertise
p
• Web
– Semantic Web
– Web Services
– Web 2.0
• Information System Integration
– Service Oriented Architecture
– Semantic SOA
– Business Process Management
• Knowledge Management Systems
– Information Portals
– Semantic Search
Application sectors: healthcare, government, b2b
healthcare government
Planning and Managing Software Projects – Emanuele Della Valle
8. Course basics, administrative items
Your Background 8
Name
Day Job or Equivalent
Final Project
Project M
P j t Management Experience
tE i
Industry Experience
Expectations & goals from the class
Planning and Managing Software Projects – Emanuele Della Valle
9. Introduction
The Field 9
Jobs: where are they?
• http://dice.com PM vs. Developers
Professional Organizations
• Project Management Institute (PMI) (pmi.org)
• Software Engineering Institute (
g g (SEI)
)
• IEEE Software Engineering Group
Certifications
• PMI PMP
– http://en.wikipedia.org/wiki/Project_Management_Professional
The “PMBOK” – PMI Body of Knowledge
PMBOK
Tools
• MS Project
– Available in A3.3 where we will go for class 6
– http://office.microsoft.com/project
• Other similar tools
– http://en.wikipedia.org/wiki/List_of_project_management_software
Planning and Managing Software Projects – Emanuele Della Valle
10. Introduction
The Field Part 2 10
Average PM salary $81,000
Contract rates for PM s can match techies
PM’s
PMI certification adds avg. 14% to salary
PMI certs, 1993 1,000; 2002: 40,000
t 1993: 1 000 2002 40 000
Other cert: CompTIA Project+
Links: http://www.projectreference.com/#Certification
Planning and Managing Software Projects – Emanuele Della Valle
11. Introduction
Job Fundamentals 11
Skills required
PM Positions and roles
The process
Planning and Managing Software Projects – Emanuele Della Valle
12. Introduction - Job Fundamentals
Project Management Skills 12
Leadership
Communications
Problem Solving
Negotiating
N ti ti
Influencing the Organization
Mentoring
p
Process and technical expertise
Planning and Managing Software Projects – Emanuele Della Valle
13. Introduction - Job Fundamentals
Project Manager Positions 13
Project Administrator / Coordinator
Assistant Project Manager
Project Manager / Program Manager
Executive P
E ti Program M
Manager
V.P. Program Development
Planning and Managing Software Projects – Emanuele Della Valle
14. Introduction
Software Project Management 14
Management
Project
Management
Software
Project
Management
Planning and Managing Software Projects – Emanuele Della Valle
15. Introduction
PM History in a Nutshell 15
Birth of modern PM: Manhattan Project (the bomb)
• See http://en.wikipedia.org/wiki/Manhattan_Project
– employed more th
l d than 130,000 people and cost nearly $2
130 000 l d t l
billion ($24 billion in 2008 dollars)
1970 s: military, defense,
1970’s: military defense construction industry were
using PM software
1990 s:
1990’s: large shift to PM-based models
PM based
• 1985: Total quality management
• 1990-93: Re-engineering, self-directed teams
• 1996-99:
1996 99: Risk mgmt project offices
mgmt,
• 2000: Merge & Acquisition, global projects
Planning and Managing Software Projects – Emanuele Della Valle
16. Introduction
Project Management 16
What’s a project?
PMI definition
• A project is a temporary endeavor undertaken to create
a unique product or service
– “Temporary”
Temporary
- Can be years
- Result can be lasting
- Team can be temporary
– “Unique”
- Ex: thousands of buildings, but each is unique
Progressively elaborated
• With repetitive elements
• Scope should be constant even as elaboration happens
A project manager
• Analogy: conductor, coach, captain
Planning and Managing Software Projects – Emanuele Della Valle
17. Introduction
Project vs. Program Management 17
What’s a ‘program’?
Mostly differences of scale
Often a number of related projects
Longer than projects
L th j t
Definitions vary
Ex: Program Manager for OpenOffice
Planning and Managing Software Projects – Emanuele Della Valle
18. Introduction
Interactions / Stakeholders 18
As a PM, who do you interact with?
Project Stakeholders
• Project sponsor
• Executives
• Team
• Customers
• Contractors
• Functional managers
Managing all stakeholder Expectations is challenging
• conflict
Planning and Managing Software Projects – Emanuele Della Valle
19. Introduction
PM Tools: Software 19
Low-end
• Basic features, tasks management, charting
• A spreadsheet can do Milestones Simplicity
do,
Mid-market
• Handle larger projects multiple projects, analysis tools
projects, projects
• MS Project (approx. 50% of market)
• OpenProj (valid opensource alternative)
High-end
• Very large projects, specialized needs, enterprise
• AMS Realtime http://www amsrealtime com/
http://www.amsrealtime.com/
• Primavera Project Manager http://www.primavera.com/
Planning and Managing Software Projects – Emanuele Della Valle
22. Fundamentals
PMI’s 9 Knowledge Areas 22
Project integration management
Scope
Time
Cost
C t
Quality
Human resource
Communications
Risk
Procurement
Planning and Managing Software Projects – Emanuele Della Valle
23. Fundamentals
First Principles 23
One size does not fit all!
Patterns and Anti-Patterns (see Classic Mistakes later)
Anti Patterns
Spectrums
• Project types
j yp
• Sizes
• Formality and rigor
Project are like families, each dysfunctional in it’s own
“special way”
special way
Planning and Managing Software Projects – Emanuele Della Valle
24. Fundamentals
Our Pattern: Rapid Development 24
Faster delivery
Reduced risk
Increased visibility to customer
Don’t f
D ’t forsake quality
k lit
Planning and Managing Software Projects – Emanuele Della Valle
25. Fundamentals
Rapid Development Strategy 25
Classic Mistake Avoidance
Development Fundamentals
Risk Management
Schedule-Oriented Practices
S h d l O i t dP ti
Planning and Managing Software Projects – Emanuele Della Valle
27. Fundamentals
Trade-off Triangle 27
Fast, cheap, good. Choose two.
Planning and Managing Software Projects – Emanuele Della Valle
28. Fundamentals
Comics 28
Source: http://geekandpoke.typepad.com/geekandpoke/2009/11/thats-why-we-love-this-job.html
Planning and Managing Software Projects – Emanuele Della Valle
29. Fundamentals
Trade-off Triangle 29
Know which of these are fixed & variable for every
project
Planning and Managing Software Projects – Emanuele Della Valle
30. Fundamentals – Four Dimensions
People 30
“It’s always a people problem”
- Gerald Weinberg, “The Secrets of Consulting”
Developer productivity: 10-to-1 range
• Read more:
http://forums.construx.com/blogs/stevemcc/archive/200
http://forums construx com/blogs/stevemcc/archive/200
8/03/27/productivity-variations-among-software-
developers-and-teams-the-origin-of-quot-10x-quot.aspx
Improvements:
• Team selection
• Team organization
• Motivation
Planning and Managing Software Projects – Emanuele Della Valle
31. Fundamentals – Four Dimensions
People 2 31
Other success factors
• Matching people to tasks
• Career development
• Balance: individual and team
• Clear communication
Planning and Managing Software Projects – Emanuele Della Valle
32. Fundamentals – Four Dimensions
Process 32
Is process stifling?
2 Types: Management & Technical
Development fundamentals
Quality
Q lit assurance
Risk management
Lifecycle planning
Avoid abuse by neglect
y g
Planning and Managing Software Projects – Emanuele Della Valle
33. Fundamentals – Four Dimensions
Process 2 33
Customer orientation
Process maturity improvement
Rework avoidance
Planning and Managing Software Projects – Emanuele Della Valle
34. Fundamentals – Four Dimensions
Product 34
The “tangible” dimension
Product size management
Product characteristics and requirements
Feature creep management
F t t
Planning and Managing Software Projects – Emanuele Della Valle
35. Fundamentals – Four Dimensions
Technology 35
Often the least important dimension
Language and tool selection
Value and cost of reuse
Planning and Managing Software Projects – Emanuele Della Valle
36. Fundamentals
Planning 36
Determine requirements
Determine resources
Select lifecycle model
Determine product features strategy
D t i d tf t t t
Planning and Managing Software Projects – Emanuele Della Valle
37. Fundamentals
Tracking 37
Cost, effort, schedule
Planned vs. Actual
How to handle when things go off plan?
Planning and Managing Software Projects – Emanuele Della Valle
38. Fundamentals
Measurements 38
To date and projected
• Cost
• Schedule
• Effort
• Product features
Alternatives
• Earned value analysis
• Defect rates
• Productivity (ex: SLOC)
• Complexity (ex: function points)
Planning and Managing Software Projects – Emanuele Della Valle
39. Fundamentals
Technical Fundamentals 39
Requirements
Analysis
Design
Construction
C t ti
Quality Assurance
Deployment
Planning and Managing Software Projects – Emanuele Della Valle
40. Fundamentals
Project Phases 40
All projects are divided into phases
All phases together are known as the Project Life Cycle
Each phase is marked by completion of Deliverables
Identify th
Id tif the primary software project phases
i ft j t h
Planning and Managing Software Projects – Emanuele Della Valle
44. Fundamentals
Phases Variation 44
Concept
Exploration
System
S t
Exploration
Requirements
Design
Implementation
Installation
Operations and
Support
Maintenance
Retirement
Planning and Managing Software Projects – Emanuele Della Valle
45. 36 Classic Mistakes 45
McConnell’s Anti-Patterns
• The mistakes http://www.stevemcconnell.com/rdenum.htm
• A case study htt //
http://www.stevemcconnell.com/rdmistak.htm
t ll / d i t k ht
Seductive Appeal
Types
• People-Related
• Process Related
Process-Related
• Product-Related
• Technology-Related
Gilligan’s Island
• Every week there's some new, crazy scheme to escape
the island, but at the end of the episode, the castaways
, p , y
always end up stuck on the island for yet another week.
• See http://www.codinghorror.com/blog/archives/000889.html
Planning and Managing Software Projects – Emanuele Della Valle
46. Classic Mistakes
People-Related Mistakes Part 1 46
Undermined motivation
Weak personnel
• Weak vs. Junior
Uncontrolled problem employees
p p y
Heroics
Adding people to a late project
Planning and Managing Software Projects – Emanuele Della Valle
47. Classic Mistakes
People-Related Mistakes Part 2 47
Noisy, crowded offices
Customer Developer
Customer-Developer friction
Unrealistic expectations
Politics
P liti over substance
b t
Wishful thinking
Planning and Managing Software Projects – Emanuele Della Valle
48. Classic Mistakes
People-Related Mistakes Part 3 48
Lack of effective project sponsorship
Lack of stakeholder buy-in
buy in
Lack of user input
Planning and Managing Software Projects – Emanuele Della Valle
49. Classic Mistakes
Process-Related Mistakes Part 1 49
Optimistic schedules
Insufficient risk management
Contractor failure
Insufficient planning
I ffi i t l i
Abandonment of plan under pressure
Planning and Managing Software Projects – Emanuele Della Valle
50. Classic Mistakes
Process-Related Mistakes Part 2 50
Wasted time during fuzzy front end
Shortchanged upstream activities
Inadequate design
Shortchanged quality assurance
Sh t h d lit
Planning and Managing Software Projects – Emanuele Della Valle
51. Classic Mistakes
Process-Related Mistakes Part 3 51
Insufficient management controls
Frequent convergence
Omitting necessary tasks from estimates
Planning t catch-up l t
Pl i to t h later
Code-like-hell programming
Planning and Managing Software Projects – Emanuele Della Valle
52. Classic Mistakes
Product-Related Mistakes 52
Requirements gold-plating
• Gilding the lily
Feature creep
Developer g
p gold-plating
p g
• Beware the pet project
Push-me, pull-me negotiation
Research-oriented development
Planning and Managing Software Projects – Emanuele Della Valle
53. Classic Mistakes
Technology-Related Mistakes 53
Silver-bullet syndrome
Overestimated savings from new tools and methods
• Fad warning
[ source http://blogs.infosupport.com/blogs/richardz/archive/2010/02/26/dilbert-on-changing-methodology-during-a-project.aspx ]
Switching tools in mid-project
Lack of automated source-code control
Planning and Managing Software Projects – Emanuele Della Valle
54. Optional Reading 54
McConnell: Chapters 1-4
• We covered most of Ch 3 today
Schwalbe: chapters 1-2, 11 (344-345)
Planning and Managing Software Projects – Emanuele Della Valle