Software Project Management
Sudipta Chattopadhyay Slides by: Sudipta Chattopadhyay, Rahul Premraj, Andreas Zeller
Software Project Management Sudipta Chattopadhyay Slides by: - - PowerPoint PPT Presentation
Software Project Management Sudipta Chattopadhyay Slides by: Sudipta Chattopadhyay, Rahul Premraj, Andreas Zeller Software Project Management Investigated 250 large Caper Jones projects. Unsuccessful projects showed weaknesses in:
Sudipta Chattopadhyay Slides by: Sudipta Chattopadhyay, Rahul Premraj, Andreas Zeller
projects.
showed weaknesses in:
Caper Jones
Caper Jones
...the most interesting aspect
that all are associated with project management rather than with technical personnel.
and with the same staff.
remain at 90% complete forever.
People Product Project Process
The most important ingredient that was successful
else matters in my opinion.
Communication & Coordination
People Product Project Process
Define the Scope of the Project
system, product, or business context, and what constraints are posed?
be performed to transform the inputs to outputs?
Divide & Conquer
People Product Project Process
Many processes to choose from!
Waterfall Model
(1968)
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackPrototyping
Quick Plan Quick Design Prototype Construction Deployment and Feedback Communication
Spiral Model
(1988)
Communication Planning Modeling Construction Test!!!!!!!!!!! ! ! ! ! ! ! ! ! Deployment + Feedback
Unified Process
(1999)
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
the end-users.
software is developed.
What to keep in mind while choosing the process?
People Product Project Process
customer’s needs.
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
Tom Cargill
People commonly assume as will go as planned – Each task will take as long as it ought to take.
Compartmentalization Interdependency Time Allocation Effort Validation Assign Responsibilities Defined Outcomes Defined Milestones
several smaller, manageable goals.
understood.
allocation, assignment, scheduling, etc.
How to build one? Brainstorming Top-down Approach
Compiler Project Write Manual Integrate & Test Code Design Code Generator Parser Scanner
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Arrows indicate tasks
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Labels indicate task name and duration
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Nodes indicate the start and end points of tasks.
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Partial order between edges capture project dependency
that takes the longest time to complete.
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Critical path is the sequence of activities that takes the longest time to complete
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Determine Earliest Start Time
2 5 6 5 2 4 8 11
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Determine Latest Start Time
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Critical path has zero slack (can you prove it?)
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
PERT: Program Evaluation and Review Techniques
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Nodes indicate the start and end points of tasks.
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
There are several routes to reach from start to finish. Time to complete: 12 days!
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
There are several routes to reach from start to finish. Time to complete: 13 days!
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
There are several routes to reach from start to finish. Time to complete: 14 days!
cause delays to the overall project.
relax :-), but keep a watch on slack
required to accomplish a task
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
What is the optimistic time (O) ?
required to accomplish a task
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
What is the pessimistic time (P) ?
time required to accomplish a task
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
What is the most likely time (M) ?
Critical path
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
Critical path
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
A, 2 Scanner, 3 G, 2 C, 1 Parser, 3 E, 4 F, 3 H, 5 I, 3
A, 2 Scanner, 3 G, 2 C, 1 Parser, 3 E, 4 F, 3 H, 5 I, 3 A, 2 Scanner, 1 G, 2 C, 1 Parser, 1 E, 4 F, 3 H, 5 I, 3
Put more resources
A, 2 Scanner, 3 G, 2 C, 1 Parser, 3 E, 4 F, 3 H, 5 I, 3 A, 2 Scanner, 3 G, 2 C, 1 Parser, 3 E, 4 F, 3 H, 5 I, 3
Split tasks into parallel tasks
Merge, 1 Merge, 1
A, 2 Scanner, 3 G, 2 C, 1 Parser, 3 E, 4 F, 3 H, 5 I, 3 Merge, 1 A, 2 Scanner, 1 G, 2 C, 1 Parser, 1 E, 4 F, 3 H, 5 I, 3
Critical path may change
Merge, 1
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Time
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
A B D F I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Time
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11
A B D F I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Time
C
Task List Duration
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
A B D F I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Time
C
Colour of nodes capture resources
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
A B D F I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Time
C
Implicit Dependency Colour of nodes capture resources
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
A B D F I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Time
C
Implicit Dependency
D
Violates deadline Colour of nodes capture resources
A B D F I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 C D
Violates deadline
In real world
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Critical path: A-B-D-F-I Critical chain: A-B-C-D-F-I
Implicit Dependency
When is critical chain the same as critical path?
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3
Critical path: track progress of individual task Critical chain: track progress of buffers
Implicit Dependency
Why? (let’s revisit it)
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3 Implicit Dependency
Project buffer
Deadline
Project buffer between the final task and deadline
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3 Implicit Dependency
Project buffer
Deadline
Feeding chain: path of activities merging into critical chain Feeding buffer: placed at the merge point
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3 Implicit Dependency
Project buffer
Deadline
Feeding chain: path of activities merging into critical chain Feeding buffer: placed at the merge point
Feed buffer Feed buffer
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3 Implicit Dependency
Project buffer
Deadline
Resource buffer: timely availability of resource in the critical chain
Feed buffer Feed buffer
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3 Implicit Dependency
Project buffer
Deadline
Resource buffer: timely availability of resource in the critical chain
Feed buffer Feed buffer Resource buffer
A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3 Implicit Dependency
Project buffer
Deadline
Critical chain: why track progress of buffers?
Feed buffer Feed buffer Resource buffer
He who will not risk cannot win (John Paul Jones, 1791).
Causes project to slip and increase cost.
timeliness of the project.
Causes implementation to become difficult or impossible.
project to be built.
Causes project to be irrelevant or redundant.
during careful evaluation of the project, and the business and technical environment
(e.g. unrealistic delivery data, lack of documented requirements).
experience/projects
(e.g. poor productivity or communication).
to identify
(e.g. manager falls of a horse).
Types of Risks
Similar story with software development!
Risk Category Probability Impact RMMM
Size estimate low
PS 20% 2
Change in req.
PS 45% 3
Lack of training
DE 15% 2
Staff inexperienced
ST 40% 4
Delivery deadline tightened
BU 60% 5
1 - catastrophic 2 - critical 3 - marginal 4 - negligible Impact values:
Risk Exposure (RE) = P x C P = probability of risk C = cost if the risk occurs
risk analysis
Risk Mitigation, Monitoring & Management
Software Project Management
Caper Jones...the most interesting aspect
that all are associated with project management rather than with technical personnel.
Four Ps of Project Management
People Product Project Process
Project Scheduling Risk Management
He who will not risk cannot win (John Paul Jones, 1791).