The introductory lesson to my Planning and Managing Software Projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) course at Politecnico di Milano
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Software Project Management - Introduction and fundamentals
1. Planning and Managing Software Projects 2011-12
Session 1
Course Overview
Introduction, and Fundamentals
Emanuele Della Valle
http://emanueledellavalle.org
2. Credits 2
§ This slides are largely based on Prof. John Musser
class notes on Principles of Software Project
Management
§ Original slides are available at
http://www.projectreference.com/
§ Reuse and republish permission was granted
Planning and Managing Software Projects – Emanuele Della Valle
3. Today 3
§ Course basics, administrative items
§ Introductions
§ Fundamentals
Planning and Managing Software Projects – Emanuele Della Valle
4. Course basics, administrative items
Syllabus Review 4
§ URL
• http://emanueledellavalle.org/Teaching/PMSP-2011-12.html
§ Schedule
• Monday 10.15 - 12.15 (13.15 when explicitly stated)
– If you agree, I would do 10.30-12.00 when we use 2 hours
and 10.30-11.45 + 12.00–13.00 when we use 3 hours
• Wednesday 13.15 – 15.15
– If you agree, I would do 13.30-15.00
§ Content
• See next slide
§ Homework assignments
• We will simulate the early phases of a software project
• See slide after the next one
§ Optional Readings
• They illustrate the content of the upcoming lesson,
useful for discussion
Planning and Managing Software Projects – Emanuele Della Valle
5. Course basics, administrative items
Syllabus Review 5
§ URL
• http://emanueledellavalle.org/Teaching/PMSP-2011-12.html
§ Schedule
• Follows project phases
• Goal:
– walk away from this course with skills applicable to all
forms of projects
– but software and IT projects in particular, because they
have special characteristics
- I will bring in show & tell from my past/current projects
- It would be nice if you bring in discussions in relation to
your projects
Planning and Managing Software Projects – Emanuele Della Valle
6. Course basics, administrative items
Syllabus Review – Homework Assignments 6
§ Why
• Apply, in a simplified context, some of the points
presented in class
• Develop project related capabilities
• Develop teamwork ability
§ What
• Homework 1 (7 points)
– Statement of Work for your project
• Homework 2 (7 points)
– Initial Work Breakdown Structure (WBS) for your project
• Homework 3 (4 points)
– Software Factory set-up for your project
• Homework 4 (15 points)
– Develop a final project plan in MS Project (including
durations, resources, links, successors & predecessors) for
your project
Planning and Managing Software Projects – Emanuele Della Valle
7. Course basics, administrative items
Syllabus Review – Homework Assignments 7
§ How
• work in team (up to 3 people)
• Working alone is possible, but you should believe in
– “If you want something done, do it yourself”
– “Chi fa da se, fa per tre”
§ When
• Homework 1 – class 5 – 26.3.2012
• Homework 2 – class 9 – 16.4.2012
• Homework 3 – class 20 – 18.6.2012
• Homework 4 – Final review – 20.6.2012
Planning and Managing Software Projects – Emanuele Della Valle
8. Course basics, administrative items
Syllabus Review – Textbooks 8
§ Recommended texts (not mandatory)
• These provide two very different viewpoints
– In-the-trenches vs. PMI textbook perspective
– Rapid Development , Steve McConnell
- http://www.stevemcconnell.com/rd.htm
– Information Technology Project Management , Kathy
Schwalbe
- http://www.kathyschwalbe.com/
§ 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://en.wikipedia.org/wiki/
Peopleware:_Productive_Projects_and_Teams
Planning and Managing Software Projects – Emanuele Della Valle
9. Course basics, administrative items
Syllabus Review – Exams 9
§ For those that follow the classes
• Mid-term review: 2.5.2012
• Final review:
– tentatively scheduled for 20.6.2012
– 1st exam session in the summer
§ For those that do not follow the classes
• Any session will do
• The exam consists of a mid-term and a final review
• Homework assignments must be delivered one week
head the exam session
Planning and Managing Software Projects – Emanuele Della Valle
10. Course basics, administrative items
Basics 10
§ Essential elements of software project management
§ Practical, rapid development focus
§ Real-world case studies
• And other examples like job interviews
§ Highly interactive
§ Small class == large input
§ Dry as toast?
Planning and Managing Software Projects – Emanuele Della Valle
11. Course basics, administrative items
My Background 11
§ 10+ years, +50 projects
§ Engineer, team lead, project manager, program manager
§ Projects of all shapes and sizes
• 90% in research 10% for industries
• 20% lasting 2-3 years 80% lasting 2-6 weeks
• I’ve seen the spectrum of types and sizes of IT projects
§ Areas of expertise
• Web
– Semantic Web
– Web Services
– Web 2.0
– Search Engines
• Information System Integration
– Service Oriented Architecture
– Business Process Management
• Knowledge Management Systems
– Information Portals
– Semantic Search
§ Application sectors: mobile, social media, open data,
healthcare, government, b2b
Planning and Managing Software Projects – Emanuele Della Valle
12. Course basics, administrative items
My Background – My Last Project 12
http://www.youtube.com/watch?v=XGOKe_lhSks
Planning and Managing Software Projects – Emanuele Della Valle
13. Introduction
The Field 13
§ Jobs: where are they?
• http://www.linkedin.com PM vs. Developers
§ Professional Organizations
• Project Management Institute (PMI) (pmi.org)
• Software Engineering Institute (SEI)
• IEEE Software Engineering Group
§ Certifications
• PMI PMP
– http://en.wikipedia.org/wiki/Project_Management_Professional
§ The PMBOK – PMI Body of Knowledge
§ 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
14. Introduction
The Field Part 2 14
§ Average PM salary $81,000 (in USA)
§ Contract rates for PM s can match techies
§ PMI certification adds avg. 14% to salary
§ PMI certs
• 1993: 1,000
• 2002: 40,000
• 2011: 300,000
§ Other cert: CompTIA Project+
§ Links: http://www.projectreference.com/#Certification
Planning and Managing Software Projects – Emanuele Della Valle
15. Introduction
Job Fundamentals 15
§ Skills required
§ PM Positions and roles
§ The process
Planning and Managing Software Projects – Emanuele Della Valle
16. Introduction - Job Fundamentals
Project Management Skills 16
§ Leadership
§ Communications
§ Problem Solving
§ Negotiating
§ Influencing the Organization
§ Mentoring
§ Process and technical expertise
Planning and Managing Software Projects – Emanuele Della Valle
17. Introduction - Job Fundamentals
Project Manager Positions and Roles 17
§ Project Administrator / Coordinator
§ Assistant Project Manager
§ Project Manager / Program Manager
§ Executive Program Manager
§ V.P. Program Development
Planning and Managing Software Projects – Emanuele Della Valle
18. Introduction
Let’s Do a Pico-Project in the Next 30 minutes 18
§ What
• Make a paper airplane including
instruction to throw it
• Maximizes:
– The range:
- the farther I can throw it
(reading the instruction),
the better it is
– The aesthetics:
- You will vote
§ How
• Work in team of 3-4 people
• Use an A4 paper and (optionally) a
clip
• You can draw whatever you like on
the surface
Planning and Managing Software Projects – Emanuele Della Valle
19. Introduction
Software Project Management 19
Management
Project
Management
Software
Project
Management
Planning and Managing Software Projects – Emanuele Della Valle
20. Introduction
PM History in a Nutshell 20
§ Birth of modern PM: Manhattan Project (the bomb)
• See http://en.wikipedia.org/wiki/Manhattan_Project
– employed more than 130,000 people and cost nearly $2
billion ($24 billion in 2008 dollars)
§ 1970 s: military, defense, construction industry were
using PM software
§ 1990 s: large shift to PM-based models
• 1985: Total quality management
• 1990-93: Re-engineering, self-directed teams
• 1996-99: Risk mgmt, project offices
• 2000: Merge & Acquisition, global projects
Planning and Managing Software Projects – Emanuele Della Valle
21. Introduction
Project Management 21
§ What s a project?
§ PMI definition
• A project is a temporary endeavor undertaken to create
a unique product or service
– 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
22. Introduction
Project vs. Program Management 22
§ What s a program ?
§ Mostly differences of scale
§ Often a number of related projects
§ Longer than projects
§ Definitions vary
§ Ex: Program Manager for OpenOffice
Planning and Managing Software Projects – Emanuele Della Valle
23. Introduction
Interactions / Stakeholders 23
§ 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
24. Introduction
PM Tools: Software 24
§ Low-end
• Basic features, tasks management, charting
• A spreadsheet can do, Milestones Simplicity
§ Mid-market
• Handle larger projects, multiple projects, analysis tools
• MS Project (approx. 50% of market)
• OpenProj (valid opensource alternative)
§ High-end
• Very large projects, specialized needs, enterprise
• AMS Realtime http://www.amsrealtime.com/
• Primavera Project Manager http://www.primavera.com/
(acquired by Oracle in 2009)
Planning and Managing Software Projects – Emanuele Della Valle
27. Fundamentals
PMI s 9 Knowledge Areas 27
§ Project integration management
§ Scope
§ Time
§ Cost
§ Quality
§ Human resource
§ Communications
§ Risk
§ Procurement
§ NOTE: more in next class
Planning and Managing Software Projects – Emanuele Della Valle
28. Fundamentals
First Principles 28
§ One size does not fit all!
§ Patterns and Anti-Patterns (see Classic Mistakes in
class 2)
§ Spectrums
• Project types
• Sizes
• Formality and rigor
§ Project are like families, each dysfunctional in it s own
special way
Planning and Managing Software Projects – Emanuele Della Valle
29. Fundamentals
Our Pattern: Rapid Development 29
§ Faster delivery
§ Reduced risk
§ Increased visibility to customer
§ Don t forsake quality
Planning and Managing Software Projects – Emanuele Della Valle
30. Fundamentals
Rapid Development Strategy 30
McConnell refers to four Pillars
§ Classic Mistake Avoidance
§ Development Fundamentals
§ Risk Management
§ Schedule-Oriented Practices
Planning and Managing Software Projects – Emanuele Della Valle
31. Fundamentals
Four Project Dimensions 31
§ People
§ Process
§ Product
§ Technology
Planning and Managing Software Projects – Emanuele Della Valle
32. Fundamentals
Trade-off Triangle 32
§ Fast, cheap, good. Choose two.
Planning and Managing Software Projects – Emanuele Della Valle
33. Fundamentals
Trade-off Triangle 33
§ Know which of these are fixed & variable for every
project
Planning and Managing Software Projects – Emanuele Della Valle
34. Fundamentals
Comics 34
Source: http://geekandpoke.typepad.com/geekandpoke/2009/11/thats-why-we-love-this-job.html
Planning and Managing Software Projects – Emanuele Della Valle
35. Fundamentals – Four Dimensions
People 35
§ 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/
2008/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
36. Fundamentals – Four Dimensions
People 2 36
Other success factors
§ Matching people to tasks
§ Career development
§ Balance: individual and team
§ Clear communication
Planning and Managing Software Projects – Emanuele Della Valle
37. Fundamentals – Four Dimensions
Process 37
§ Is process stifling?
§ 2 Types:
• Management
• Technical
§ Why processes?
• cut time-to-market
• Improve quality
§ How?
• Development fundamentals
• Quality assurance
• Risk management
• Lifecycle planning
§ Avoid abuse by neglect
Planning and Managing Software Projects – Emanuele Della Valle
38. Fundamentals – Four Dimensions
The Most Important Process 38
§ Customer orientation
§ Foster maturity improvement
§ Rework avoidance
Planning and Managing Software Projects – Emanuele Della Valle
39. Fundamentals – Four Dimensions
Product 39
§ The tangible dimension
§ Product size management
§ Product characteristics and requirements
§ Feature creep management
Planning and Managing Software Projects – Emanuele Della Valle
40. Fundamentals – Four Dimensions
A Word on Technology 40
§ Often the least important dimension
§ Language and tool selection
§ Value and cost of reuse
Planning and Managing Software Projects – Emanuele Della Valle
41. Fundamentals
Planning 41
§ Determine requirements
§ Determine resources
§ Select lifecycle model
§ Determine product features strategy
Planning and Managing Software Projects – Emanuele Della Valle
42. Fundamentals
Tracking 42
§ Cost, effort, schedule
§ Planned vs. Actual
§ How to handle when things go off plan?
Planning and Managing Software Projects – Emanuele Della Valle
43. Fundamentals
Measurements 43
§ To date and projected
• Cost
• Schedule
• Effort
• Product features
§ Alternatives
• Earned value analysis
• Defect rates
• Productivity, e.g., Source Line of Code (SLOC)
• Complexity, e.g., function points
Planning and Managing Software Projects – Emanuele Della Valle
44. Fundamentals
Technical Fundamentals 44
§ Requirements
§ Analysis
§ Design
§ Construction
§ Quality Assurance
§ Deployment
Planning and Managing Software Projects – Emanuele Della Valle
45. Fundamentals
Project Phases 45
§ 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 the primary software project phases
Planning and Managing Software Projects – Emanuele Della Valle
49. Fundamentals
Phases Variation 49
Concept
Exploration
System
Exploration
Requirements
Design
Implementation
Installation
Operations and
Support
Maintenance
Retirement
Planning and Managing Software Projects – Emanuele Della Valle