Software Project Management Sudipta Chattopadhyay Slides by: - - PowerPoint PPT Presentation

software project management
SMART_READER_LITE
LIVE PREVIEW

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:


slide-1
SLIDE 1

Software Project Management

Sudipta Chattopadhyay Slides by: Sudipta Chattopadhyay, Rahul Premraj, Andreas Zeller

slide-2
SLIDE 2

Software Project Management

  • Investigated 250 large

projects.

  • Unsuccessful projects

showed weaknesses in:

  • Project Planning
  • Cost Estimation
  • Measurements
  • Milestone Tracking
  • Change Control
  • Quality Control

Caper Jones

slide-3
SLIDE 3

Software Project Management

Caper Jones

...the most interesting aspect

  • f these six problem areas is

that all are associated with project management rather than with technical personnel.

slide-4
SLIDE 4

Laws of Project Management

  • No major project is ever installed on time, within budget

and with the same staff.

  • Projects progress quickly until 90% complete; then they

remain at 90% complete forever.

slide-5
SLIDE 5

Laws of Project Management

  • No system is ever completely debugged
  • More you debug, more bugs you introduce :-)

slide-6
SLIDE 6

Four Ps of Project Management

People Product Project Process

slide-7
SLIDE 7

People

The most important ingredient that was successful

  • n this project was having smart people... very little

else matters in my opinion.

slide-8
SLIDE 8

People

Communication & Coordination

slide-9
SLIDE 9

Four Ps of Project Management

People Product Project Process

slide-10
SLIDE 10

Product

Define the Scope of the Project

  • Context: How does the software fit into a larger

system, product, or business context, and what constraints are posed?

  • Information objectives: What are the inputs and
  • utputs of the system?
  • Function and performance: What functions are to

be performed to transform the inputs to outputs?

slide-11
SLIDE 11

Product

Divide & Conquer

slide-12
SLIDE 12

Four Ps of Project Management

People Product Project Process

slide-13
SLIDE 13

Process

Many processes to choose from!

Waterfall Model

(1968)

Communication

project initiation requirements gathering

Planning

estimating scheduling tracking

Modeling

analysis design

Construction

code test

Deployment

delivery support feedback

Prototyping

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

slide-14
SLIDE 14
  • customers who requested the product and

the end-users.

  • the product’s characteristics.
  • the project environment in which the

software is developed.

Process

What to keep in mind while choosing the process?

slide-15
SLIDE 15

Four Ps of Project Management

People Product Project Process

slide-16
SLIDE 16
  • Development team doesn’t understand

customer’s needs.

  • Product scope is poorly defined
  • Poorly managed changes.
  • Chosen technology changes.
  • Unrealistic deadlines.
  • Inexperienced team.
  • Poor management.

Signs of Failure

slide-17
SLIDE 17

Project

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

slide-18
SLIDE 18

Project Scheduling

slide-19
SLIDE 19

People commonly assume as will go as planned – 
 Each task will take as long as it ought to take.

slide-20
SLIDE 20

Project Scheduling

slide-21
SLIDE 21

Principles of Project Scheduling

Compartmentalization Interdependency Time Allocation Effort Validation Assign Responsibilities Defined Outcomes Defined Milestones

slide-22
SLIDE 22

Compartmentalization

slide-23
SLIDE 23

Interdependency

slide-24
SLIDE 24

Time Allocation

slide-25
SLIDE 25

Effort Validation

slide-26
SLIDE 26

Assign Responsibilities

slide-27
SLIDE 27

Defined Outcomes

slide-28
SLIDE 28

Defined Milestones

slide-29
SLIDE 29

Scheduling Tools

slide-30
SLIDE 30

Compartmentalization

slide-31
SLIDE 31
  • Breakdown the goal of the project into

several smaller, manageable goals.

  • Repeat process until each goal is well

understood.

  • Plan for each goal individually – resource

allocation, assignment, scheduling, etc.

Work Breakdown

slide-32
SLIDE 32

Work Breakdown

How to build one? Brainstorming Top-down Approach

slide-33
SLIDE 33

Work Breakdown

slide-34
SLIDE 34

Work Breakdown

Compiler Project Write Manual Integrate & Test Code Design Code Generator Parser Scanner

slide-35
SLIDE 35

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

Arrows indicate tasks

Critical Path Method

slide-36
SLIDE 36

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

Labels indicate task name and duration

Critical Path Method

slide-37
SLIDE 37

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.

Critical Path Method

slide-38
SLIDE 38

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

Critical Path Method

slide-39
SLIDE 39
  • Critical path
  • One specific sequence of dependency
  • Unit testing cannot start before development
  • Draws upon pre-requisite of the project
  • The critical path is the sequence of activities

that takes the longest time to complete.

Critical Path Method

slide-40
SLIDE 40

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

Critical Path Method (CPM)

Critical path is the sequence of activities that takes the longest time to complete

slide-41
SLIDE 41

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

Determine Earliest Start Time

Critical Path Method

2 5 6 5 2 4 8 11

slide-42
SLIDE 42

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

Determine Latest Start Time

Critical Path Method

0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11

slide-43
SLIDE 43

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?)

Critical Path Method

0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11

slide-44
SLIDE 44

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

PERT Charts

PERT: Program Evaluation and Review Techniques

slide-45
SLIDE 45

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.

PERT Charts

slide-46
SLIDE 46

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!

PERT Charts

slide-47
SLIDE 47

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!

PERT Charts

slide-48
SLIDE 48

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!

Critical Path

PERT Charts

slide-49
SLIDE 49
  • Any delay to an activity in the critical path will

cause delays to the overall project.

  • Delays to activities not on the critical path may

relax :-), but keep a watch on slack

PERT Charts

slide-50
SLIDE 50
  • Optimistic time (O): the minimum possible time

required to accomplish a task

PERT Charts

slide-51
SLIDE 51

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

PERT Chart

0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11

What is the optimistic time (O) ?

slide-52
SLIDE 52
  • Pessimistic time (P): the maximum possible time

required to accomplish a task

PERT Charts

slide-53
SLIDE 53

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

PERT Chart

0/0 2/2 5/6 6/7 5/5 2/4 4/6 8/8 11/11

What is the pessimistic time (P) ?

slide-54
SLIDE 54
  • Most likely time (M): the best estimate of the

time required to accomplish a task

PERT Charts

slide-55
SLIDE 55

A, 2 B, 3 G, 2 C, 1 D, 3 E, 4 F, 3 H, 5 I, 3

PERT Chart

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) ?

slide-56
SLIDE 56
  • Why is it called critical?

Critical path

PERT Charts

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

slide-57
SLIDE 57
  • Why is it called critical?
  • How should we optimise critical path?

Critical path

PERT Charts

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

slide-58
SLIDE 58

A, 2 Scanner, 3 G, 2 C, 1 Parser, 3 E, 4 F, 3 H, 5 I, 3

slide-59
SLIDE 59

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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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

slide-62
SLIDE 62

Gantt Chart

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

slide-63
SLIDE 63

Gantt Chart

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

slide-64
SLIDE 64

Gantt Chart

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

slide-65
SLIDE 65

Gantt Chart

Task List Duration

slide-66
SLIDE 66

Project Planning Tools

slide-67
SLIDE 67

Wait!!!

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

slide-68
SLIDE 68

Wait!!!

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

slide-69
SLIDE 69

Wait!!!

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

slide-70
SLIDE 70

Critical Path

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

  • we have finite resources
  • project inevitably gets delayed
  • student syndrome (procastination)
  • murphy’s law (whatever can go wrong, will)
  • parkinson’s law (delaying completion of task)
slide-71
SLIDE 71

Critical chain

  • Explicit resource
  • Explicit buffer
  • project buffer
  • feed buffer
  • resource buffer
slide-72
SLIDE 72

Critical path vs chain

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?

slide-73
SLIDE 73

Critical path vs chain

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)

slide-74
SLIDE 74

Critical chain buffers

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

slide-75
SLIDE 75

Critical chain buffers

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

slide-76
SLIDE 76

Critical chain buffers

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

slide-77
SLIDE 77

Critical chain buffers

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

slide-78
SLIDE 78

Critical chain buffers

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

slide-79
SLIDE 79

Critical chain buffers

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

slide-80
SLIDE 80

Risk Management

He who will not risk cannot win (John Paul Jones, 1791).

slide-81
SLIDE 81
  • Project risks threaten the project plan.


Causes project to slip and increase cost.

  • Technical risks threaten the quality and

timeliness of the project.


Causes implementation to become difficult or impossible.

  • Business risks threaten the viability of the

project to be built.


Causes project to be irrelevant or redundant.

Types of Risks

slide-82
SLIDE 82
  • Known risks are those that can be uncovered

during careful evaluation of the project, and the business and technical environment


(e.g. unrealistic delivery data, lack of documented requirements).

  • Predictable risks can be extrapolated by past

experience/projects


(e.g. poor productivity or communication).

  • Unpredictable risks are those that are difficult

to identify


(e.g. manager falls of a horse).

Types of Risks

slide-83
SLIDE 83
  • Generic risks
  • Product-specific risks

Risk Management

Types of Risks

slide-84
SLIDE 84

Risk Management

Similar story with software development!

slide-85
SLIDE 85

Risk Table

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:

slide-86
SLIDE 86

Assessing Risk Impact

Risk Exposure (RE) = P x C P = probability of risk C = cost if the risk occurs

slide-87
SLIDE 87
  • Risk avoidance (prevention better than cure)
  • Risk monitoring
  • monitor and collect information for future

risk analysis

  • Risk management and contingency plans.
  • Risk has become a live problem

RMMM

Risk Mitigation, Monitoring & Management

slide-88
SLIDE 88

Software Project Management

Caper Jones

...the most interesting aspect

  • f these six problem areas is

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).

Summary