Software Project Management
Lecture 9
1
Words of Wisdom
• Accept yourself in totality, with all the
goods and evils, strengths and weakness,
physique, traits, etc.
• He it is who hath placed you as viceroys of
the earth and hath exalted some of you in
rank above others, that He may try you by
(the test of) that which He hath given you. Lo!
Thy Lord is swift in prosecution and lo! He is
Forgiving, Merciful. Al-Quran (6:15).
2
Tailoring A Project Plan
• The 1058 template should be tailored for each project
• All relevant parts of the plan should be covered
• Tailoring activities include:
– deleting unneeded parts (e.g. subcontractor management)
– modifying parts
– including additional parts (e.g. other plans)
– scaling plans (up / down)
• For larger projects ( > 25 people), different groups may be responsible for
defining & tailoring their process plans
• For small and medium projects, it is not a matter of what to omit, but how
to scale all necessary processes to cost-effective proportions (all essential
project roles and processes must be addressed, even on small projects,
perhaps in a less formal way)
3
An outline of Step Wise planning
activities (Huges & Cotterell)
• 1. Identify project scope and objectives
– Identify objectives and measures of effectiveness in meeting
them
– Establish a project authority
– Identify stakeholders
– Modify objectives in the light of stakeholder analysis
– Establish methods of communications with all parties
• 2. Identify project infrastructure
– Establish relationship between project and strategic
planning
– Identify installation standards and procedures
– Identify project team organization
4
• 3. Analyze project characteristics
– Distinguish the project as either objective or product driven
– Analyze other project characteristics
– Identify high-level project risks
– Take into account user requirements concerning implementation
– Select general life cycle approach
– Review overall resource estimates
• 4. Identify project products and activities
– Identify and describe project products (including quality criteria)
– Document generic product flows
– Recognize product instances
– Produce ideal activity network
– Modify ideal to take into account need for stages and checkpoints
5
• 5. Estimate effort for each activity
– Carry out bottom-up estimates
– Revise plan to create controllable activities
• 6. Identify activity risks
– Identify and quantify activity-based risks
– Plan risk reduction and contingency measures where appropriate
– Adjust plans and estimates to take account of risks
• 7. Allocate resources
– Identify and allocate resources
– Revise plans and estimates to account for resource constraints
• 8. Review/publicize plan
– Review quality aspects of project plan
– Document plans and obtain agreement
6
Planning Questions
What Do We WBS Size How Much
How Big
Have To Will it
Is It?
Do? Cost?
Effort
What Can &
We Change? Not OK Cost
Estimated OK Is This Schedule How Long?
Cost Acceptable? What Do We
& Schedule Do When?
7
Planning – Estimates & Schedule
Source Information
Statement of Work
Requirements WBS Size Estimate
Estimate
Constraints Effort and
Standards Size
Processes
Cost
History
etc. Effort
Revise & &
Negotiate Cost
Not OK
Estimated
OK Schedule Estimate
Cost Evaluate
Schedule
& Schedule
8
Project Elements
Project • Function
– Management Activity
Function – Duration – Project Life
• Risk Management
Activity Activity Activity • Configuration
Management
• Activity
Activity Activity Activity – An element of work
with expected
duration, cost, and
resources
Task Task • Task
– Lowest level of work
– No shown on WBS
9
Work Breakdown Structure: WBS
• Hierarchical list of project’s work activities
– List of Activities, not Things
• 2 Formats
– Outline (indented format)
– Graphical Tree (Organizational Chart)
• Uses a decimal numbering system
– e.g., 3.1.5
– 0 is typically top level
• Includes
– Development, management, and project support activities
• Shows “is contained in” relationships
• Does not show dependencies or durations
10
WBS Chart Example
11
WBS Outline Example
0.0 Retail Web Site
1.0 Project Management
2.0 Requirements Gathering
3.0 Analysis & Design
4.0 Site Software Development
4.1 HTML Design and Creation
4.2 Backend Software
4.2.1 Database Implementation
4.2.2 Middleware Development
4.2.3 Security Subsystems
4.2.4 Catalog Engine
4.2.5 Transaction Processing
4.3 Graphics and Interface
4.4 Content Creation
5.0 Testing and Production
12
Outline WBS w/Gantt
13
Why do we require
a Work Breakdown Structure?
• To organize the work to be done
• To illustrate the work to be done
• To assure that all necessary work has been identified
• To divide the work into small, well defined tasks
• To facilitate planning, estimating and scheduling of
the project
• To provide a basis for data monitoring and historical
data collection
• To identify contractual tasks and deliverables
14
Why WBS
• Cost estimating
– To make sure all activities get estimated
– To make sure that each element of the estimate
corresponds to a necessary activity
– To “roll up” costs of individual elements into total costs for
sub-elements and for the system as a whole
• Cost accounting
– To assign work and “charge it” to appropriate cost centers
based on specific WBS elements
– To determine the actual cost of each element
• Schedule performance
– To monitor which activities are complete
– To measure project progress
15
WBS Types
• Process WBS
• a.k.a. Activity-oriented
• e.g., Requirements, Analysis, Design, Testing
• Typically used by PM
• Product WBS
• a.k.a. Entity-oriented
• e.g., Financial engine, Interface system, DB
• Typically used by engineering manager
16
Process WBS
17
Product WBS
18
WBS Types
• Less frequently used alternatives
• Organizational WBS
– Research, Product Design, Engineering, Operations
– Can be useful for highly cross-functional projects
• Geographical WBS
– Can be useful with distributed teams
– ISB team, NYC team, MAN team
19
Work Packages
• Generic term for discrete tasks with definable end
results
• Typically the “leaves” on the tree
• The “one-to-two” rule
• Often at: 1 or 2 persons for 1 or 2 weeks
• Basis for monitoring and reporting progress
• Can be tied to budget items (charge numbers)
• Resources (personnel) assigned
• For software development project correspond to
the lowest identifiable objects or modules to be
created in a deliverable system
20
WBS Techniques
• Top-Down
• Bottom-Up
• Analogy
• Rolling Wave
– 1st pass: go 1-3 levels deep
– Gather more requirements or data
– Add more detail later
• Post-its on a wall
21
WBS Techniques - Top-down
• Start at highest level
• Systematically develop increasing level of detail
• Best if
– The problem is well understood
– Technology and methodology are not new
– This is similar to an earlier project or problem
• But is also applied in majority of situations
22
WBS Techniques - Bottom-up
• Start at lowest level tasks
• Aggregate into summaries and higher levels
• Cons
– Time consuming
– Needs more requirements complete
• Pros
– Detailed
23
WBS Techniques - Analogy
• Base WBS upon that of a “similar” project
• Use a template
• Analogy also can be estimation basis
• Pros
– Based on past actual experience
• Cons
– Needs comparable project
24
WBS Techniques - Brainstorming
• Generate all activities you can think of that
need to be done
• Group them into categories
• Both Top-down and Brainstorming can be used
on the same WBS
• Remember to get the people who will be doing
the work involved (buy-in matters!)
25
Q&A
26