r&d sdm 1 software project management project scheduling and tracking 2010 theo schouten

29
R&D SDM 1 Software Project Management Project Scheduling and Tracking 2010 Theo Schouten

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

R&D SDM 1

Software Project ManagementProject Scheduling and Tracking

2010Theo Schouten

2

Content

What is project scheduling & tracking ?

Which steps can be recognized in project scheduling?

Work Breakdown Structure

Techniques: CPM, Gantt Charts

Examples

Final remarks

Book chapter 24 (27 for 7e)

3

What is project scheduling&tracking?

Scheduling:

–The partitioning of the total work in tasks, which deliver defined products.

–The planning of those tasks in calendar time.

–The allocation of resources to these tasks.

Tracking:

–Following of the progress of the tasks.

–Adapting the schedule according the latest developments.

How software projects fall behind schedule?

4

Why software is delivered late?• Unrealistic deadline established outside the team

• Changing customer requirements not reflected in schedule

• Underestimating the resources required to complete the project

• Risks that were not considered when project began

• Technical difficulties that have not been predicted in advance

• Human difficulties that have not been predicted in advance

• Miscommunication among project staff resulting in delays

• Failure by project management to recognize project falling behind schedule and failure to take corrective action

people, process, technology

5

Perspectives • the end-date for the software release is set externally

– the software organization is constrained to distribute effort in the prescribed time frame.

• the rough chronological bounds have been discussed by the developers and customers– the end-date is best set by the developer after

carefully considering how to best use the resources needed to meet the customer's needs.

– negotiation process

6

Basic principles for schedulingCompartimentalization

– decomposition of both the product and the process– the work is divided in tasks (work-breakdown structure)– each delivers (possible in combination with other tasks)

a part of the product.

Interdependency– minimize the dependency between tasks– which products of other tasks are needed to start a task– sequential and parallel tasks

Time allocation for each taskHow much work is needed in e.g. person-daysDetermine whether this will be part-time of full-timeAssign a start and completion date (not assigned yet to a person).

7

…continuedMatching total time with available resources

– Are the needed resources (persons, tools, hardware) available? (not assigned yet to a person).

Defining responsibilities– Every task should be the responsibility of a person.

Defining outcomes of tasks– Each task should have a defined outcome. (SMART)– More than 1 of these work products may be grouped

into a deliverable.

Defining milestones– the milestones of the project: a moment in time on

which a (group of) deliverables should be finished.

8

Effort distribution• Use the data on the organization’s historical experience with

similar projects• When such data is not available, publicly available factors can

be used for guidance.• The 40-20-40 rule (a rule of thumb):

– 40% front-end analysis and design– 20% coding– 40% back-end testing

• Generally accepted guidelines are: – 02-03 % planning– 10-25 % requirements analysis – 20-25 % design– 15-20 % coding– 30-40 % testing and debugging

9

Critics of 40-20-40 % rule• Some Software Engineering Managers believe that

more than 40% of overall effort should be expended during Analysis and Design.

• Some proponents of Agile Development Method argue that Less time should be expended on “Front-end’’ of Project Phase and that a team should move quickly to Construction Phase (Build phase).

• Theo: when a program is working, the documentation still need a lot of work.

10

Parts and steps

Project task: A task is executable and delivers a well defined work product (SMART);

Work-breakdown structure: Division of the total trajectory into tasks;

Deliverable Intermediate or final product delivered by a task or a number of tasks;

Milestone: Date on which a deliverable should be ready;

Network of dependencies of project tasks:sequentialparallel

11

…continued

Determine which tasks are critical in the network: they determine the run time of a project;

Determine what the size of the tasks are;

Determine which resources are needed to execute each task;

Building up of a project schedule:: dividing the tasks over time and allocating resources to tasks;

Tracking of the progress of the project on basis of its schedule.

12

Steering project

Attention inAttention inthis coursethis course

Steering Committee

Project Steering Committee

Project Sponsor

Project Manager(s)

Functional/Process Groups(User Focal Points)

Technical Project Leader

User Group 1 User Group 2 User Group n…..Analysts Designers programmers

Steer on goals

Steer on goals, milestonesand deliverables

Steer on Milestones, deliverables

and tasks

Steer on Tasks andresources

13

Work-Breakdown Structure• A detailed breakdown of the product into manageable work

elements.

• A method for breaking down work within a project into logical steps:– Product WBS:

• Work is broken down by system, subsystem, modules & the structure of the software product.

– Activity WBS:• Work is broken down by activities of the project

members such as management, requirements analysis, design & programming.

14

Product WBS

15

Activity WBS

16

Work-breakdown structure

Phase 1Develop

Blueprint

Phase 1Develop

Blueprint

Phase 2Design

Informationsystem

Phase 2Design

Informationsystem

Phase 3Realize

Informationsystem

Phase 3Realize

Informationsystem

Phase 4Implement

Informationsystem

Phase 4Implement

Informationsystem

Example

Main phases of an information system based onsoftware packets on the market.

17

Steps in phase 1

Blue-print

Blue-print

Principle -choice

Principle -choice

Fit-analysis

Fit-analysis

Plan phase 2

Plan phase 2

Deliverablesphase 1

1.2.Developprocess-modelcurrent

situation

1.2.Developprocess-modelcurrent

situation

1.5Fit-analysis

shortlistPackets

1.5Fit-analysis

shortlistPackets

1.1.Pre-

paration&

Project-definition

1.1.Pre-

paration&

Project-definition

1.7.Makeplan next

phases

1.7.Makeplan next

phases

1.3.Analysiscurrent situation

1.3.Analysiscurrent situation

1.4.Develop blueprint

1.4.Develop blueprint

1.6make

principlechoice

1.6make

principlechoice

Development blueprint

18

Steps in phase 2

2.1.Develop

simulationcase

2.1.Develop

simulationcase

2.2.Make

simulationenvironment

2.2.Make

simulationenvironment

2.3.Prototype

step-through

2.3.Prototype

step-through

2.4.End-

report

2.4.End-

report

InputPhase 2

Process modelfuture sit.

Process modelfuture sit.

Final-report

Final-report

Solutionsfor“gaps”

Solutionsfor“gaps”

DeliverablesPhase 2

Preparation ExecutionExecution

Finalchoice

Finalchoice

2.5. Design

interfaces + conversion

2.5. Design

interfaces + conversion

Iterative

Design Information SystemDesign Information System

Blue-print

Blue-print

Principle -choice

Principle -choice

Fit-analysis

Fit-analysis

Plan phase 2

Plan phase 2

19

Relation deliverables-milestones

Timing,resourcing

and dependencies

Project

Goals Constraints

Deliverable 1 ....... Deliverable n

Task 1 ....... Task n

Milestone 1 ...... Milestone n

20

Relation between people and effort•Putnam-Nordon-Rayleigh (PNR) curve•putting more people on a project does not decrease time linearly

•people need time for communication•4 zones in the curve for a certain defined project:

1) it can not be completed within a certain time

2) overstaffed: completed fast,but inefficient3) linear range: efficient staffing, man-power trade-off with time is good possible4) understaffed: becomes also inefficient

21

PNR Formula’s• The number of delivered lines of code L is related to effort and

development time by the equation:

L = P × E 1/3 t 4/3

E is development effort in person-months

P is a productivity parameter that reflects various factors (typically 2,000-12,000)

t is the project duration in calendar months

• Rearranged to solve for development effort:

E = L3/(P 3t 4)

22

Setting up of a schedule

Define deliverables and milestones;

Identify tasks which belong to deliverables;

Identify relations between deliverables and activities;

Determine the type and size of the resources needed for a task;

Allocate people to activities;

Create activity networks and ‘bar charts’ (Gantt Charts).

23

Example

Task Run time in workdays

Dependencies (milestone)

T1 8

T2 15

T3 15 T1 (M1)

T4 10

T5 19 T2, T4 (M2)

T6 5 T1, T2 (M3)

T7 20 T1 (M1)

T8 25 T4 (M5)

T9 15 T3, T6 (M4)

T10 15 T5, T7 (M7)

T11 7 T9 (M6)

T12 10 T11 (M8)

24

Activity network

End

M8

M6

M4

M1

Start T6

T10

T8

T5T4

T2

T12

T11

T9

T3

T1

M7

M5

M2

M3

4/7/99

14/7/99

25/7/99

25/7/99

18/7/99

4/8/99

25/8/99

5/9/9911/8/99

10 days

25 days

8 days

15 days

15 days

5 days

20 days

T710 days

15 days

7 days

10 days

15 days

19/9/99

Insight in parallel and sequential tasks + dependencies

25

Critical path

End

M8

M6

M4

M1

Start T6

T10

T8

T5T4

T2

T12

T11

T9

T3

T1

M7

M5

M2

M3

4/7/99

14/7/99

25/7/99

25/7/99

18/7/99

4/8/99

25/8/99

5/9/9911/8/99

10 days

25 days

8 days

15 days

15 days

5 days

20 days

T710 days

15 days

7 days

10 days

15 days

19/9/99

= Critical Path

26

Bar chart (Gantt chart)

4/7 18/711/7 1/825/7 8/8 22/815/8 29/8 5/9 12/9 19/9 26/9

T4

T1

T2

T7

T3

T12End

T9

T8

T5

T6

T10

T11

M1

M5

M8

M7

M4

M2

M3

M6

Start

27

Extra time

4/7 18/711/7 1/825/7 8/8 22/815/8 29/8 5/9 12/9 19/9 26/9

T4

T1

T2

T7

T3

T12End

T9

T8

T5

T6

T10

T11

M1

M5

M8

M7

M4

M2

M3

M6

Start

28

Allocation of persons to tasks and time

4/7 18/711/7 1/825/7 8/8 22/815/8 29/8 5/9 12/9 19/9 26/9

Frank

Jan

Carolien

Jim

Isabel T5

T2

T12T11T8

T4

T9T3

T1

T7

T10T6

Task Software Engineer

T1 Jan

T2 Carolien

T3 Jan

T4 Frank

T5 Isabel

T6 Carolien

T7 Jim

T8 Frank

T9 Jan

T10 Carolien

T11 Frank

T12 FrankResources can influence the critial path,

e.g. Frank with T8-T11

29

Gantt chart