r&d sdm 1 software project management project scheduling and tracking 2010 theo schouten
Post on 21-Dec-2015
217 views
TRANSCRIPT
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.
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