Vous êtes sur la page 1sur 21

HIT3309 - Software Project Practices and Management S2, 2010

Roadmap

 What is Project Scheduling?


 Milestones and Deliverables
HIT3309 Software Project
 Scheduling Techniques
Practices and Management
 Critical Path Method
Lecture 5  Critical Chain Method
Software Project Scheduling  PERT
 Gantt Charts

 Planning with Iterations

Principal References Roadmap


 Bob Hughes and Mike Cotterell, Software Project
Management (4th Edition), McGraw-Hill, 2005, Chapter  What is Project Scheduling?
6.
 Milestones and Deliverables
 Roger S. Pressman, Software Engineering - A  Scheduling Techniques
Practitioners Approach (7th Edition), McGraw-Hill, 2010,
 Critical Path Method
Chapter 27.
 Critical Chain Method
 Ian Sommerville, Software Engineering (8th Edition),  PERT
Addison-Wesley, 2007, Chapter 5.
 Gantt Charts
 IEEE PMBOK (3rd Edition), 2004, Chapter 6  Planning with Iterations
(available from Blackboard).
3 4

© Swinburne University of Technology 1


HIT3309 - Software Project Practices and Management S2, 2010

Project Scheduling Why do we need to schedule?

Project Scheduling requires  A project schedule helps to have a better idea on:
 Estimations for time and resources required to complete  Feasibility assessment,

the activities of the project.  Risk assessment,


 Resource allocations,
Goal:  Project duration,
 Organizing those activities in a coherent order.  Detailed costing,
 Activities must not necessarily be worked upon sequentially!  Project coordination,
…

5 6

Project Scheduling Steps (I) Project Scheduling Steps (II)


 Activity definition:  Dependencies identification:
 Identifying the specific activities that the project team  Identifying and documenting the relationships between
members and stakeholders must perform to produce the project activities.
project deliverables.
 Schedule development:
 Activity resource estimation:  Analysing activity sequences, activity duration estimates,
 Estimating the type and quantities of resources required to resource requirements and schedule constraints to create
perform each scheduled activity. the project schedule.
 Activity duration estimation:  Schedule control:
 Estimating the number of work periods that are needed to  Controlling changes to the project schedule.
complete individual activities.

Source: IEEE PMBOK, 2004, pp. 123 7 Source: IEEE PMBOK, 2004, pp. 123 8

© Swinburne University of Technology 2


HIT3309 - Software Project Practices and Management S2, 2010

Activity Sequencing Example - Activities and Dependencies


Id. Activity Name Dependencies
 Purpose: to determine the inter-dependencies between
A Hardware Selection and Delivery
 activities as listed in the WBS,
B Hardware Installation A
 product descriptions,
C Legacy System Analysis
 project assumptions, and
D Software Design C
 project constraints.
E System Implementation and Testing B,D
 Output: F Data Migration C

 A list of all project activities with their dependencies. G System Deployment E,F

H User Documentation

I User Training H
9 10

Roadmap Milestones and Deliverables


 Milestone
 Is an end-point of a software process activity
 What is Project Scheduling?
 At each milestone, there must be a (formal) output that can be used to
 Milestones and Deliverables show the completion of the corresponding activities.
 Deliverable
 Scheduling Techniques
 Is a project result that is either delivered to customer or required as part
 Critical Path Method of the process/management lifecycle model.
 Critical Chain Method  Is usually produced at the end of some major project phase
 Will evolve as the project progresses!
 PERT
 Gantt Charts
 Milestones and deliverables help to monitor progress
 Should be scheduled at „appropriate‟ intervals
 Planning with Iterations
 A deliverable is usually a milestone but not vice versa!

11 12

© Swinburne University of Technology 3


HIT3309 - Software Project Practices and Management S2, 2010

Roadmap Schedule Development

 Purpose: develop a realistic project schedule.


 What is Project Scheduling?
 include milestones and deliverables!
 Milestones and Deliverables
 May need several iterations of the previous steps in
 Scheduling Techniques order to have a final project schedule (if possible at all).
 Critical Path Method  Tools and Techniques (amongst others):
 Critical Chain Method  Critical Path Method (aka. Critical Path Analysis)
 PERT  Critical Chain Method
 PERT: Program Evaluation and Review Techniques
 Gantt Charts
 Precedence Diagramming Method (PDM)
 Planning with Iterations  Gantt Charts.

13 14

To Consider during Scheduling Scheduling Techniques


 Predictive scheduling (“traditional”)
 Resource availability  Scope is known upfront and does not change (a lot)
 Problem/solution space is very well understood
 Resource allocation
 A detailed plan for most of the project activities can be done upfront

 Staff skills and responsibilities  Activities, activity dependencies and risks calculated

 Project Monitoring  Adaptive scheduling (“agile”)


 Project defined mainly in terms of goals and vision, but scope may change
 Cash flow forecasting (substantially)
 Problem/solution space not clearly defined
 Re-planning of the project towards the pre-defined goal
 Detailed plan can only be created for a short term (3-4 weeks)
 Risks are managed “dynamically”

15 16

© Swinburne University of Technology 4


HIT3309 - Software Project Practices and Management S2, 2010

Scheduling Techniques (cont.) Problems with Scheduling


 Time-boxed
 Estimating the complexity of problems and hence the
 Fix amount of time available
cost of developing a solution is difficult.
 Choose scope so that it can be completed within time-box
 Productivity is not proportional to the number of people
 Basic “building block” of most agile methodologies working on a task.
 Activity based  Adding people to a late project makes it later because of
 Fix amount of work to be completed communication overheads.
 Define schedule and allocate resources so that all tasks can  The unexpected always happens. Always allow
be completed. contingency in planning.
 Mainly used in predictive planning and scheduling.
Source: Ian Sommerville, Software Engineering (8th Edition), Chapter 5.

17 18

Scheduling Techniques (cont.) Roadmap


 Simple Sequencing:
 Activities are arranged in a sequential manner taking into  What is Project Scheduling?
account availability of resources,
 Milestones and Deliverables
 Suitable for small projects only!

 Networking techniques:  Scheduling Techniques


 Critical Path Method
 Arrange activities in such a way to use workflows optimally
 Critical Chain Method
 Suitable for large projects.
 PERT
 Examples:
 Critical Path Method (CPM), Critical Chain Method  Gantt Charts
 PERT: Program Evaluation and Review Technique
 Planning with Iterations
 Precedence Diagramming Method (PDM)

19 20

© Swinburne University of Technology 5


HIT3309 - Software Project Practices and Management S2, 2010

Critical Path Method Critical Path Method (cont.)

 Developed by Du Pont Chemical Company; first published in  Capture the activities and their inter-relationships using a graph
1958  Arrows represent activities (this is the “activities on arrows” approach;
 1 million US$ saving in first year after inception by Du Pont! there is also an “activities on nodes” approach, which is perhaps easier to
understand and use).
 Primary objectives:
 Nodes represent start and termination of activities
 Schedule all project activities so that it can be completed as quickly as
possible,  Calculate the earliest start time of each activity
 Identifying those activities that, if delayed, are likely to affect the overall  Calculate the latest start time of each activity
project completion time
 Calculate the slack time of each node:
 Critical Path: path joining the (time-)critical events
 slack = latest start time – earliest start time
 Critical events that are delayed may delay the completion of project.
 Identify the critical path and the critical events
 Critical event: an event that has zero slack
21 22

Slacks and Floats The Student Paradox


Standard planning with float:
 Slack (or float) is the time allowed for an activity to delay without
affecting the project completion
Estimated Duration Float
 2 different types of floats:
Deadline
 Total float: the time allowed without affecting the completion of the project
 Total float = latest start time – earliest start time

 Free float: the time allowed without affecting the next activity Student planning with float:
 Free float = earliest start time of next activity – latest end time of previous
activity Float Estimated Duration
 Significance of slack: Deadline
 The slack information provides a basis for negotiating project schedules
and is an essential tool in risk management!

23 24

© Swinburne University of Technology 6


HIT3309 - Software Project Practices and Management S2, 2010

Representing Events Example - Activities and Dependencies (cont.)

Id. Activity Name Dependencies Duration (Weeks)

A Hardware Selection and Delivery 4


Event Number B Hardware Installation A 3

C Legacy System Analysis 5


3 D Software Design C 4
1 6
Earliest start time 5 Latest start time E System Implementation and Testing B,D 5

F Data Migration C 3

G System Deployment E,F 2


Slack
H User Documentation 8

I User Training H 4
25 26

Example: Identifying the Critical Path Example: Identifying the Critical Path

2 2
B=3 B=3
5 5
A=4 A=4
D=4 E=5 D=4 E=5

1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7


0
F=3 F=3

H=8 I=4 H=8 I=4


4 4

27 28

© Swinburne University of Technology 7


HIT3309 - Software Project Practices and Management S2, 2010

Example: Identifying the Critical Path Example: Identifying the Critical Path
Max of (4+3) {A,B} and
(5+4) {C,D}

2 2
4 B=3 4 B=3
5 5
A=4 A=4
E=5 9 E=5
D=4 D=4
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 5 0 5
F=3 F=3

H=8 I=4 H=8 I=4


4 4
8 8

29 30

Example: Identifying the Critical Path Example: Identifying the Critical Path

Max of (5+3) {C,F} and


2 (5+4) {C,D,E} 2
4 B=3 4 B=3
5 5
A=4 A=4
9 E=5 9 E=5
D=4 D=4
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 5 14 0 5 14 16
F=3 F=3

H=8 I=4 H=8 I=4


4 4
8 8

31 32

© Swinburne University of Technology 8


HIT3309 - Software Project Practices and Management S2, 2010

Example: Identifying the Critical Path Example: Identifying the Critical Path

This event, project This event has to start no


2 completion, has earliest 2 later than (16-2) if event 7
4 B=3 “start” at 16. This also is
4 B=3 is to start no later than
set to the latest start. 16.
5 5
A=4 A=4
9 E=5 9 E=5
D=4 D=4
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 5 14 16 16 0 5 14 14 16 16
F=3 F=3

H=8 I=4 H=8 I=4


4 4
8 8 12
This event has to start no
later than (16-4) if event 7
is to start no later than
16.
33 34

Example: Identifying the Critical Path Example: Identifying the Critical Path
This event has to start no
later than (9-3) if event 5
This event has to start no is to start no later than 9.
2 later than (14-5) if event 6 2
4 B=3 is to start no later than
4 6 B=3
14.
5 5
A=4 A=4
9 9 E=5 9 9 E=5
D=4 D=4
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 5 14 14 16 16 0 5 14 14 16 16
F=3 F=3

H=8 I=4 H=8 I=4


4 4
8 12 8 12

35 36

© Swinburne University of Technology 9


HIT3309 - Software Project Practices and Management S2, 2010

Example: Identifying the Critical Path Example: Identifying the Critical Path

2 2
4 6 B=3 4 6 B=3
5 5
A=4 A=4
9 9 E=5 9 9 E=5
D=4 D=4
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 5 5 14 14 16 16 0 0 5 5 14 14 16 16
F=3 F=3

H=8 I=4 H=8 I=4


4 4
8 12 8 12
This event has to start no later
than (14-3) if event 6 is to start no
later than 14, and no later than
(9-4) if event 5 is to start no later 37 38
than 9.

Example: Identifying the Critical Path Example: Identifying the Critical Path

2 2
4 6 B=3 4 6 B=3
2 5 2 5
A=4 A=4
9 9 E=5 9 9 E=5
D=4 0 D=4 0
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 0 5 5 14 14 16 16 0 0 5 5 14 14 16 16
F=3 F=3
0 0 0 0 0 0 0 0

H=8 I=4 H=8 I=4


4 4
Purple number = green number 8 12 Critical path links those nodes 8 12
– blue number (slack = latest with no slack via the links
start – earliest start)
4 (activities) that force there to
4
be no slack.
39 40

© Swinburne University of Technology 10


HIT3309 - Software Project Practices and Management S2, 2010

Example: Identifying the Critical Path Example: Identifying the Critical Path

2 2
4 6 B=3 4 6 B=3
2 5 2 5
A=4 A=4
9 9 E=5 9 9 E=5
D=4 0 D=4 0
1 C=5 3 6 G=2 7 1 C=5 3 6 G=2 7
0 0 5 5 14 14 16 16 0 0 5 5 14 14 16 16
F=3 F=3
0 0 0 0 0 0 0 0

H=8 I=4 H=8 I=4


4 4
Critical path links those nodes 8 12 Critical path links those nodes 8 12
with no slack via the links with no slack via the links
(activities) that force there to
4 (activities) that force there to
4
be no slack. be no slack.
41 42

Example: Identifying the Critical Path Example - Activities and Dependencies (cont.)

Id. Activity Name Dependencies Duration (Weeks)

2 A Hardware Selection and Delivery 6


4 6 B=3
2 5 B Hardware Installation A 3
A=4
9 9 E=5
D=4 0 C Legacy System Analysis 4
1 C=5 3 6 G=2 7 D Software Design C 4
0 0 5 5 14 14 16 16
F=3 E System Implementation and Testing B,D 5
0 0 0 0
F Data Migration C 3

H=8 I=4 G System Deployment E,F 2


4
Critical path links those nodes 8 12
with no slack via the links
H User Documentation 8
4 The CP is activities C,D,E,G
(activities) that force there to
be no slack. I User Training H 4
43 44

© Swinburne University of Technology 11


HIT3309 - Software Project Practices and Management S2, 2010

Example: Identifying the Critical Path Significance of Critical Path

 Critical path indicates the shortest time for the completion of the project
2
B=3  Any activity falls in the critical path should not be delayed
6 6
0 5  During the project execution stage, project managers should pay more attention
A=6
9 9 to these activities
D=4 E=5
0  Any activity (whether it falls in the critical path or not) when delayed for a
1 C=4 3 6 G=2 7 period longer than the slack amount will affect the critical path
0 0 4 5 14 14 16 16  A recalculation of the Critical Path is needed
F=3
0 1 0 0
 During the planning stage,
 Shortening the critical path will reduce the overall project time
H=8 I=4
4  However, after the shortening of a critical path, some path that is not critical may

12 become a critical path and the original critical path may become non-critical.
8
4

45 46

Activities on Nodes Method Activities on Nodes Method

 An alternative representation of activity dependencies is to use network nodes B 3

to represent activities, and network links to represent precedence. A 4 E 5

 It is considerably easier to draw an “activities on nodes” network. G 2


D 4
 It is also easier to express the algorithm for calculating the critical path! S 0 C 5

 This approach tends to be favoured by most contemporary PM software F 3 J 0


packages
 We will demonstrate it on our example H 8

 It can be helpful to include 2 extra activities that take 0 time : Project Start and I 4

Project Conclusion. This helps to give a single start and end node for the
project, and helps to describe (and indeed implement) the algorithm.

47 48

© Swinburne University of Technology 12


HIT3309 - Software Project Practices and Management S2, 2010

Activities on Nodes Method Activities on Nodes Method


B 3 0 B 3
4
A 4 E 5 A 4 E 5

ES : 0 0
G 2 G 2
0
D 4 D 4
S 0 C 5 S 0 C 5
5
F 3 J 0 F 3 J 0
0
EF : 0 0
H 8 H 8
Can always find such a
node!
I 4 8 I 4

Insert earliest start and earliest finish of start node Find unmarked nodes with arrows from, and only from, marked nodes.
and mark node as “done” Set their earliest start as the maximum of the latest finish of all the marked
preceding nodes. Set their earliest finish as the earliest start plus the task duration.
Mark nodes as done. Repeat until no unmarked nodes left.
49 50

Activities on Nodes Method Activities on Nodes Method


4 4
7 7
0 B 3 9 0 B 3 9
14 14
4 4
A 4 E 5 A 4 E 5
14 14
16 16
5 5
0 0
9 G 2 9 G 2
0 0
D 4 D 4
S 0 C 5 S 0 C 5
5 16 5 16
5 5
16 16
F 3 8 J 0 F 3 8 J 0
0 0

0 0
H 8 H 8 LF : 16
8 8
12 12
LS : 16
8 I 4 8 I 4

Find unmarked nodes with arrows from, and only from, marked nodes. We now commence the “BACKWARDS PASS”. Start with the end node (Node J).
Set their earliest start as the maximum of the latest finish of all the marked Specify the Latest Finish (LF) to be the same as the Earliest Finish.
preceding nodes. Set their earliest finish as the earliest start plus the task duration. Set the Latest Start (LS) as the LF – task duration. For Node J this is equal to the LF.
Mark nodes as done. Repeat until no unmarked nodes left. Mark the node.
51 52
THIS COMPLETES THE “FORWARD PASS”

© Swinburne University of Technology 13


HIT3309 - Software Project Practices and Management S2, 2010

Activities on Nodes Method Activities on Nodes Method


4 4
7 7
0 B 3 9 0 B 3 9
14 14
4 4
A 4 E 5 A 4 E 5
14 14
16 14 16
5 5
0 0
9 G 2 9 G 2
9
0 16 0 16
D 4 D 4
S 0 C 5 S 0 C 5
5 16 5 16
14 14
5 5
16 16
F 3 8 J 0 F 3 8 J 0
0 0

0 0 14
H 8 LF : 16 H 8 9 LF : 16
8 8
12 12
LS : 16 LS : 16
4
8 I 4 8 I 4
16 12 16

12 12

Find unmarked nodes with arrows to, and only to, marked nodes. Find unmarked nodes with arrows to, and only to, marked nodes.
Set their latest finish as the minimum of the earliest start of all the marked Set their latest finish as the minimum of the earliest start of all the marked
succeeding nodes. Set their earliest finish as the latest finish minus the task duration. succeeding nodes. Set their earliest finish as the latest finish minus the task duration.
Mark nodes as done. Repeat until no unmarked nodes left. Mark nodes as done. Repeat until no unmarked nodes left.
53 54

Activities on Nodes Method Activities on Nodes Method


4 4
7 7
0 B 3 9 0 B 3 9
9 14 9 14
4 4
A 4 6 E 5 A 4 6 E 5
14 14
6 2 14 16 6 2 14 16
5 5
0 0
9 G 2 9 G 2
9 9
0 16 0 16
0 5 D 4 0 5 D 4
0 0
S 0 C 5 S 0 C 5
5 16 5 16
14 14
0 5 0 5
9 16 9 16
5 F 3 J 0 5 F 3 J 0
8 8
0 0

0 14 0 14
H 8 11 LF : 16 H 8 11 LF : 16
8 8
12 12
LS : 16 LS : 16
4 4
8 I 4 8 I 4
12 16 12 16

12 12

Find unmarked nodes with arrows to, and only to, marked nodes. The critical path contains the nodes where the ES = LS (and EF = LF) – marked in diagram.
Set their latest finish as the minimum of the earliest start of all the marked We can also work out the slack and float figures for each activity (LS – ES).
succeeding nodes. Set their earliest finish as the latest finish minus the task duration.
Mark nodes as done. Repeat until no unmarked nodes left.
55 56

© Swinburne University of Technology 14


HIT3309 - Software Project Practices and Management S2, 2010

Roadmap Critical Chain Method

 What is Project Scheduling?  Another example of a known activity-based method


 Mainly used in predictive planning, but can also be used for
 Milestones and Deliverables
iterative development
 Scheduling Techniques
 Based on Critical Path Method, but extended with
 Critical Path Method
 Contingency buffers (for individual tasks and task
 Critical Chain Method
sequences)
 PERT
 Resource allocation for tasks
 Gantt Charts

 Planning with Iterations


 Reference
http://en.wikipedia.org/wiki/Critical_Chain_Project_Management
57 58

Critical Chain Method - Example Critical Chain Method - Example (II)

A1 A2 Slack Peter Andrew Slack

B1 B2 Slack Andrew
B1 John Slack

C1 C2 C3 John Peter Andrew

Milestone Time Milestone Time

Allocate resources (people) to activities


59 60

© Swinburne University of Technology 15


HIT3309 - Software Project Practices and Management S2, 2010

Critical Chain Method - Example (III) Critical Chain Method - Example (IV)

Andrew Slack Andrew Slack Andrew Slack Andrew Slack

John John Peter Peter

Peter Peter Andrew John John Andrew

Milestone Time Milestone Time

Conflict resolution may lead to longer schedule! Rearranging tasks helps in identifying critical chain
61 62

Roadmap Program Evaluation and Review (PERT) Technique

 Takes into account uncertainty in project planning and


scheduling
 What is Project Scheduling?
 It uses three different (probabilistic) time estimates:
 Milestones and Deliverables
 Optimistic time, a -- the shortest time to complete an activity
 Scheduling Techniques  Most likely time, m – the normal completion time for an activity
 Critical Path Method  Pessimistic time, b – the worst possible time for an activity to complete
allowing for all reasonable things to happen except for the ideal worst
 Critical Chain Method
case situation
 PERT
 The expected time, t, is given by t = (a + 4*m + b)/6
 Gantt Charts
 Note: this is also known as the Three-Point Technique.
 Planning with Iterations  Once the expected times are calculated, Critical Path Method
can be used to identify the critical path of the project.
63 64

© Swinburne University of Technology 16


HIT3309 - Software Project Practices and Management S2, 2010

Program Evaluation and Review (PERT) Technique PERT Technique (cont.)


 Why bother?  Example:
 The optimistic time, the most likely time, and the pessimistic time are 8,
 If the worst and best estimates are equidistant from the 10 and 24 days, respectively.
most-likely estimate, then there is no point – just choose  The expected time = (8 + 4×10 + 24)/6 = 12 days
the most-likely estimate  Use 12 days for the project planning and scheduling

 But often they are not symmetrically placed  Advantage:


 It attempts to address uncertainty with duration estimation
 For example, the worst case could be a lot further away
from the most-likely than the best case (perhaps being  Disadvantages:
contingent on a low probability, very high impact risk  It involves more work because it requires three estimates rather than one

occurring)  Generally still falls short to identify Near-Critical Path(s).

65 66

Roadmap Gantt Charts


 Developed by Henry Gantt to improve work organization
 Mainly used in logistics
 What is Project Scheduling?
 Graphical illustration hat shows
 Milestones and Deliverables  The project calendar
 The activities from the WBS, their scheduled start and end dates, and the
 Scheduling Techniques durations
 Critical Path Method  The people who are responsible for each activity (optional)

 Critical Chain Method  It can also show the status of the activities during the execution of the project
 PERT  Simple and easy to use

 Gantt Charts  Derived once schedule has been set, following a CPM or PERT analysis
 Difficult to update manually
 Planning with Iterations
 Not always applicable in the context of software projects!

67 68

© Swinburne University of Technology 17


HIT3309 - Software Project Practices and Management S2, 2010

Gantt Chart: Example Gantt Chart – During Project


Planned time (week number) Planned time (week number)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Act. A
Act. A
Act. B
Act. B
Act. C
Act. C
Act. D
Act. D
Act. E
Act. E
Act. F
Act. F
Act. G
Act. G
Act. H
Act. H

Scheduled Slack Completed Scheduled Slack

69 70

Gantt Chart – During Project (cont.) Roadmap

 During execution of a project, managers may need to:  What is Project Scheduling?
 update the Gantt Chart to indicate the current status of the
 Milestones and Deliverables
activities as the project progress
 analyse any delay and determine whether the delay will
 Scheduling Techniques
affect the completion of the project  Critical Path Method

 may need to reschedule the activities to meet the project  Critical Chain Method
deadline  PERT
 Gantt Charts

 Planning with Iterations

71 72

© Swinburne University of Technology 18


HIT3309 - Software Project Practices and Management S2, 2010

User Stories Planning with Iterations


 Three levels are recommended:
 Initial scoping plan
 Time to understand domain, build spikes, identify risk areas

 Release planning
 Prioritised feature list for each release as defined by the customer

 Iteration planning
 Detailed estimates and selection of features for each iteration
 Once an iteration starts, requirements are frozen till end of iteration
 Plan for current iteration based on feedback from previous iterations

http://en.wikipedia.org/wiki/Fair_use
73 74

Iteration planning Velocity and Units


 Customer selects a set of tasks/features for implementation in  When estimating, the development team will assign
current iteration/release “1 unit” to a simple task (“base story”)
 Customer provides business value (i.e. value to the customer)  All other stories are stated as a multiple of this base story
and a priority for each task/feature:  If this is not possible, tasks too big and it needs to be split up!
 Priority may be determined based on initial effort estimates
 So some stories are 2 units and others may be 7 units
 Development team provides estimates for each task/feature
 Associated with each “base story” is a velocity, i.e. a
 Estimates are relative (in project units)
time estimate required for completion
 Team knows how many units they think can be completed within given iteration!
 e.g., 15 hours per story unit
 Based on estimates and priorities, a set of tasks is chosen
 In eXtreme Programming, developers sign up for tasks (“self-allocation”)
 Most adaptive planning techniques will work in a similar
 Tasks not chosen are put onto a back-log
fashion.

75 76

© Swinburne University of Technology 19


HIT3309 - Software Project Practices and Management S2, 2010

Estimation and Velocity Iterations and CPM


 Velocity gives a very good measure of a team‟s productivity  Are they compatible?
 Important to communicate this to all participants in the project!  Yes and No!!
 The team get a better idea of what they can and cannot promise  At the outset, there may be a planned set of iterations, and these
the customer when they plan for the next iteration can be groups of project activities, with some dependencies (with
 Time estimates for next iteration can be determined based on each iteration being dependent on the previous one)
velocity from the previous iteration  But the network will tend to be linear, and CPM will not be of
 In last iteration, 20 units were completed in two calendar weeks much help in scheduling
 For the next iteration, at 20 units of work can be planned for. So we  Also, iterations often are NOT all planned at the start, but are
ensure that all stories selected do not add up to more than 20 units.
fluid as the project proceeds
 Units are estimated by developers and can change as the project  Some writers claim that the Critical Chain Method, or at least its
progresses principles, are best applied to Agile development (within, rather
 ideally, productivity improves over time. than between, iterations).

77 78

The Planning Trap Parkinson’s Law

“Events happen. Plans change. If things seem to be


going exactly according to plan, that is usually a sign of
trouble. The worst thing that can happen to a project is
the divergence between the plan and the reality. So do “Work expands to fill the time available”
not fall into this trap. Keep your plans honest, and expect – C. Northcote Parkinson, 1957
them to always change.”
– K. Beck, M. Fowler, Planning XP, 2001

79 80

© Swinburne University of Technology 20


HIT3309 - Software Project Practices and Management S2, 2010

What you should know! Can you answer these questions?


 What will happen if the customers, not the developers,
 Why do we need to schedule a software project? set project milestones?
What are the steps involved in defining a schedule?  What will happen if the developers, not the customers,
define project deliverables?
 What are milestones, and why are they important?
 Why is it generally a bad idea to increase the size of a
 What are the characteristics of the two main team if a project is running behind schedule?
scheduling approaches?
 Which of the four project forces would you change if a
 What is the forward pass in the Critical Path method? project is running behind schedule?
What does it result in?  Should an adaptive scheduling technique be used for a
fixed-priced project?
81 82

Recommended Reading Lecture 5 Estimation and Velocity


 Velocity gives a very good measure of a team‟s productivity
 Important to communicate this to all participants in the project!
 Roger S. Pressman, Software Engineering - A  The team get a better idea of what they can and cannot promise
Practitioners Approach (7th Edition), McGraw Hill, the customer when they plan for the next iteration
2010, Chapter 28.  Time estimates for next iteration can be determined based on
velocity from the previous iteration
 Bob Hughes and Mike Cotterell, Software Project  In last iteration, 20 units were completed in two calendar weeks
Management (4th Edition), Wiley, 2006, Chapter 7.  For the next iteration, at 20 units of work can be planned for. So we
ensure that all stories selected do not add up to more than 20 units.
 Pankaj Jalote, Software Project Management in
 Units are estimated by developers and can change as the project
Practice, Addison-Wesley, 2002, Chapter 6. progresses
 ideally, productivity improves over time.

83 84

© Swinburne University of Technology 21

Vous aimerez peut-être aussi