software project management - introduction and fundamentals
DESCRIPTION
The introductory lesson to my Planning and Managing Software Projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) course at Politecnico di MilanoTRANSCRIPT
Planning and Managing Software Projects 2011-12 Session 1 Course Overview Introduction, and Fundamentals Emanuele Della Valle http://emanueledellavalle.org
Planning and Managing Software Projects – Emanuele Della Valle
Credits
§ 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
2
Planning and Managing Software Projects – Emanuele Della Valle
Today
§ Course basics, administrative items
§ Introductions
§ Fundamentals
3
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Syllabus Review
§ 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
4
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Syllabus Review
§ 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
5
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Syllabus Review – Homework Assignments
§ 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
6
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Syllabus Review – Homework Assignments
§ 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
7
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Syllabus Review – Textbooks
§ 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
8
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Syllabus Review – Exams
§ 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
9
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items Basics
§ 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?
10
Planning and Managing Software Projects – Emanuele Della Valle
Course basics, administrative items My Background § 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
11
Planning and Managing Software Projects – Emanuele Della Valle
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
Introduction The Field
§ 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
13
Planning and Managing Software Projects – Emanuele Della Valle
Introduction The Field Part 2
§ 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
14
Planning and Managing Software Projects – Emanuele Della Valle
Introduction Job Fundamentals
§ Skills required
§ PM Positions and roles
§ The process
15
Planning and Managing Software Projects – Emanuele Della Valle
Introduction - Job Fundamentals Project Management Skills
§ Leadership
§ Communications
§ Problem Solving
§ Negotiating
§ Influencing the Organization
§ Mentoring
§ Process and technical expertise
16
Planning and Managing Software Projects – Emanuele Della Valle
Introduction - Job Fundamentals Project Manager Positions and Roles
§ Project Administrator / Coordinator
§ Assistant Project Manager
§ Project Manager / Program Manager
§ Executive Program Manager
§ V.P. Program Development
17
Planning and Managing Software Projects – Emanuele Della Valle
Introduction Let’s Do a Pico-Project in the Next 30 minutes
§ 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
18
Planning and Managing Software Projects – Emanuele Della Valle
Introduction Software Project Management 19
Management
ProjectManagement
SoftwareProject
Management
Planning and Managing Software Projects – Emanuele Della Valle
Introduction PM History in a Nutshell
§ 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
20
Planning and Managing Software Projects – Emanuele Della Valle
Introduction Project Management
§ 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
21
Planning and Managing Software Projects – Emanuele Della Valle
Introduction 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 OpenOffice
22
Planning and Managing Software Projects – Emanuele Della Valle
Introduction Interactions / Stakeholders
§ 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
23
Planning and Managing Software Projects – Emanuele Della Valle
Introduction PM Tools: Software
§ 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)
24
Planning and Managing Software Projects – Emanuele Della Valle
Introduction Tools: Network Diagram 26
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals PMI’s 9 Knowledge Areas
§ Project integration management
§ Scope
§ Time
§ Cost
§ Quality
§ Human resource
§ Communications
§ Risk
§ Procurement
§ NOTE: more in next class
27
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals First Principles
§ 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”
28
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Our Pattern: Rapid Development
§ Faster delivery
§ Reduced risk
§ Increased visibility to customer
§ Don’t forsake quality
29
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Rapid Development Strategy
McConnell refers to four “Pillars”
§ Classic Mistake Avoidance
§ Development Fundamentals
§ Risk Management
§ Schedule-Oriented Practices
30
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Four Project Dimensions
§ People
§ Process
§ Product
§ Technology
31
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Trade-off Triangle
§ Fast, cheap, good. Choose two.
32
Planning and Managing Software Projects – Emanuele Della Valle
§ Know which of these are fixed & variable for every project
Fundamentals Trade-off Triangle 33
Planning and Managing Software Projects – Emanuele Della Valle
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
Fundamentals – Four Dimensions People
§ “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
35
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals – Four Dimensions People 2
Other success factors
§ Matching people to tasks
§ Career development
§ Balance: individual and team
§ Clear communication
36
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals – Four Dimensions Process
§ 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
37
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals – Four Dimensions The Most Important Process
§ Customer orientation
§ Foster maturity improvement
§ Rework avoidance
38
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals – Four Dimensions Product
§ The “tangible” dimension
§ Product size management
§ Product characteristics and requirements
§ Feature creep management
39
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals – Four Dimensions A Word on Technology
§ Often the least important dimension
§ Language and tool selection
§ Value and cost of reuse
40
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Planning
§ Determine requirements
§ Determine resources
§ Select lifecycle model
§ Determine product features strategy
41
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Tracking
§ Cost, effort, schedule
§ Planned vs. Actual
§ How to handle when things go off plan?
42
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Measurements
§ 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
43
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Technical Fundamentals
§ Requirements
§ Analysis
§ Design
§ Construction
§ Quality Assurance
§ Deployment
44
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Project Phases
§ 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
45
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Lifecycle Relationships 46
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Seven Core Project Phases 47
Planning and Managing Software Projects – Emanuele Della Valle
Fundamentals Project Phases A.K.A. 48