Top Banner
1 Activity planning Dr. C. Constantinides Computer Science and Software Engineering Concordia University
81
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2- Activity Planning

1

Activity planning

Dr. C. Constantinides

Computer Science and Software EngineeringConcordia University

Page 2: 2- Activity Planning

2

Scheduling

• Having

– worked out a method of doing the project

– identified the tasks to be carried

– assessed the time needed to do each task

• We need to allocate dates/times for the start and end of each activity

Page 3: 2- Activity Planning

3

Software project scheduling

• “40% of applications are delivered significantly late”– Source: 3 year study of 70 large apps among 30 European firms.

Compuware, December 1995.

• “70% of projects are:– Over budget– Behind schedule

• 52% of all projects finish at 189% of their initial budget.

• And some, after huge investments of time and money, are simply never completed.”

[Source: The Standish Group]

Page 4: 2- Activity Planning

4

• Why is many software delivered late?

• Most reasons can be traced to one or more of the following:– An unrealistic deadline established by someone outside the

development team and forced on managers and developers within the team.

– An underestimate of the amount of effort and/or the number of resources that will be required.

– Risks which were not considered.– Human/technical difficulties not foreseen.– Miscommunication among staff.

Page 5: 2- Activity Planning

5

What is project scheduling

• Scheduling is deciding in advance…– WHAT to do.– WHY do it.– HOW to do it.– WHEN to do it– WHO is to do it.

• Software project scheduling: An activity that distributes estimated effort across the planned project duration by allocating effort to tasks.

Page 6: 2- Activity Planning

6

Basic principles of project scheduling

• Compartmentalization: The project must be broken down into a number of manageable tasks.

• Interdependency: The interdependency of each compartmentalized task must be determined.– Some tasks must work in sequence, some others may work in

parallel. Certain tasks may work independently.

• Time allocation: Each task must be allocated some number of work units (e.g. person-hours of effort). In addition each task must be assigned a start-date and a completion-date.

Page 7: 2- Activity Planning

7

• Effort validation: Every project has a defined number of people on the development team.

• The project manager must ensure that no more than the allocated number of people have been scheduled at any given time.

• Example:– Consider three assigned engineers (=3 person-days are

available per day of assigned effort).– On some given day, seven concurrent tasks must be

accomplished, each requiring 0.5 person-days of effort.– More effort has been allocated than there are people to do the

job.

Page 8: 2- Activity Planning

8

• Defined responsibilities: Every scheduled task must be assigned to a specific team member.

• Defined outcomes: Every scheduled task should have a defined outcome. The outcome is normally a work-product (an artifact). Work products are combined into deliverables.

• Defined milestones: Every task (or group of tasks) should be associated with a project milestone.

Page 9: 2- Activity Planning

9

The relationship between people and effort

• A common myth: “If we fall behind schedule, we can always add more programmers and catch up later in the project.”

• Adding people late in a project often has a disruptive effect on the project (causing schedules to slip even further).– New people must learn the system, and people who teach them

are the same people who do the work.– During teaching, no work is done.– Also, more people increase the complexity of communication

throughout the project.

• (See “The Mythical Man-Month: Essays on Software Engineering” by Fred Brooks, 1995).

Page 10: 2- Activity Planning

10

Motivation behind a detailed project plan

• A detailed plan for the project must include a schedule indicating the start and completion times for each activity.

• This will enable to– Ensure that appropriate resources will be available when

needed.– Avoid having different activities competing for the same

resources at the same time.– Allocate staff to each activity.

Page 11: 2- Activity Planning

11

• An activity normally produces a deliverable (tangible product).

• Monitoring the progress is to ensure that the products for each activity are delivered on-time.

Page 12: 2- Activity Planning

12

Objectives of activity planning

• Feasibility assessment– Is the project possible within the required resource constraints?– If a project requires 12 months, can it be done in 6 months with

twice as many people?

• Resource allocation– What are the most effective ways of allocating resources to the

project? When should resources be available?– Staff coordination.

• Detailed costing– After allocating resources, we can obtain good estimates of

costs.

Page 13: 2- Activity Planning

13

Work breakdown structure (WBS)

• A complex project is made manageable by first breaking it down into individual components in a hierarchical structure, known as the work breakdown structure, or the WBS.

• WBS is an exhaustive, hierarchical (from general to specific) tree structure of deliverables and tasks that need to be performed to complete a project.

Page 14: 2- Activity Planning

14

• Because the WBS is a hierarchical structure, it may be conveyed in outline form.

Level 1 Level 2 Level 3

Task 1Subtask 1.1

Work package 1.1.1…

Page 15: 2- Activity Planning

15

• A WBS provides the following information structure:– A description of all significant work.– A clear task decomposition for assignment of responsibilities.– A framework for scheduling, budgeting, and expenditure

tracking.

• There are any number of ways to organize the presentation of the work.

1. By functional responsibilities.

2. According to life-cycle phases, showing each phase as a top-level breakdown.

Page 16: 2- Activity Planning

16

Organizing WBS by functional responsibilities

Page 17: 2- Activity Planning

17

• An evolutionary WBS should organize the planning elements around the process framework.

• First-level elements– Constitute the anatomy of the entire project. Can be allocated to

single teams.

• Second-level elements– Defined for each phase of the life cycle: inception, elaboration,

construction, transition.

• Third-level elements– Focus on the activities that produce the artifacts of each phase.

Organizing WBS according to life-cycle phases (“evolutionary WBS”)

Page 18: 2- Activity Planning

18

Activity networks

• These help us to:

– Assess the feasibility of the planned project completion date

– Identify when resources will need to be deployed to activities

– Calculate when costs will be incurred

– This helps the co-ordination and motivation of the project team

Page 19: 2- Activity Planning

19

Identifying activities

• Work-based approach– Draw-up a Work Breakdown Structure listing the work items

needed

• Product-based approach– List the deliverable and intermediate products of project –

product breakdown structure (PBS)– Identify the order in which products have to be created– Work out the activities needed to create the products

Page 20: 2- Activity Planning

20

The final outcome of the planning process

• An example of a project plan as a bar chart

Page 21: 2- Activity Planning

21

Precedence networks(or activity-on-node networks)

• A graph (network), where…

– Nodes represent activities.

– Edges represent precedence (or sequencing) requirements.

Page 22: 2- Activity Planning

22

Notation, rules and conventions

Activity description

Activity label Duration

ES

LS

EF

LF

Float

Page 23: 2- Activity Planning

23

Steps in building an activity-on-node network

1. Identify the specific activities and their duration.

2. Determine the proper sequence of the activities.

3. Construct a network diagram.

4. Estimate the time required for each activity.• Earliest start/finish and latest start/finish.

5. Determine the critical path.

6. Update the graph as the project progresses.

Page 24: 2- Activity Planning

24

Identify activities

• The activities are the tasks required to complete the project.

• It is helpful to list the tasks in a table that in later steps can be expanded to include information on sequence and duration.

Page 25: 2- Activity Planning

25

Determine activity sequence

• This step may be combined with the activity identification step since the activity sequence is evident for some tasks.

• Other tasks may require more analysis to determine the exact order in which they must be performed.

Page 26: 2- Activity Planning

26

Construct the network diagram

• Using the activity sequence information, a network diagram can be drawn showing the sequence of the serial and parallel activities.

• If done manually, several drafts may be required to correctly portray the relationships among activities. Software packages simplify this step by automatically converting tabular activity information into a network diagram.

Page 27: 2- Activity Planning

27

Estimate the time required for each activity

• Weeks are a commonly used unit of time for activity completion, but any consistent unit of time can be used.

Page 28: 2- Activity Planning

28

Example project specification

Activity Duration (weeks) Precedents

A Hardware selection 6

B Software design 4

C Install hardware 3 A

D Code & test software 4 B

E File take-on 3 B

F Write user manuals 10

G User training 3 E, F

H Install & test system 2 C, D

Page 29: 2- Activity Planning

29

Example network diagram

3wks

Page 30: 2- Activity Planning

30

Time-quantities for an activity

• Earliest start time (ES): the earliest time at which the activity can start given that its precedent activities must be completed first.

• Earliest finish time (EF), equal to the earliest start time for the activity plus the time required to complete the activity.

• Latest start time (LS), equal to the latest finish time minus the time required to complete the activity.

• Latest finish time (LF): the latest time at which the activity can be completed without delaying the project.

Page 31: 2- Activity Planning

31

• Earliest start (ES)• Earliest finish (EF) = ES + duration• Latest finish (LF) = latest task can be completed without

affecting project.• Latest start = LF - duration

Earliest start

Latest start

Latestfinish

Earliest finish

activity

Page 32: 2- Activity Planning

32

Determining earliest times:Forward pass

• The earliest start and finish times of each activity are determined by working forward through the network and determining the earliest time at which an activity can start and finish considering its predecessor activities.

Page 33: 2- Activity Planning

33

The forward pass rule

• Earliest start date for the current activity = earliest finish date for the previous

• When there is more than one previous activity, take the latest earliest finish

• Note ‘day 7’ = end of work on day 7

EF = day 7

EF = day10

ES = day10

Page 34: 2- Activity Planning

34

Performing a forward pass

• Activities A, B, F can start immediately => ES = 0.• Activity A will take 6 weeks => EF(A) = 6.• Activity B will take 4 weeks => EF(B) = 4.• Activity F will take 10 weeks => EF(F) = 10.• Activity C can start as soon as activity A has finished =>

ES(C) = 6. It will take 3 weeks => EF(C) = 9.• Activities D and E can start as soon as B is complete =>

ES(D) = ES(E) = 4.• Activity D will take 4 weeks => EF(D) = 8, and E will take

3 weeks => EF(E) = 7.

Page 35: 2- Activity Planning

35

• Activity G cannot start until both E and F have been completed => ES(G) = 10 (i.e. the later of EF(E), and EF(F)). It takes 3 weeks => EF(G) = 13.

• Activity H cannot start until week 9 (the later of the EF’s of C and D) => ES(H) = 9. Also, EF(H) = 9 + Duration(H) = 9 + 2 = 11.

• The project will be complete when both activities H and G have been completed.

• The earliest project completion date will be the later of EF(H) and EF(G) => EF(project) = 13.

Page 36: 2- Activity Planning

36

3wks

Page 37: 2- Activity Planning

37

Determining latest times:Backward pass

• The latest start and finish times are the latest times that an activity can start and finish without delaying the project.

• LS and LF are found by working backward through the network.

• We assume that the latest finish date for the project is the same as the earliest finish date, i.e. we wish to complete the project as early as possible.

Page 38: 2- Activity Planning

38

How to perform a backward pass

• Start from the last activity:

– Latest finish (LF) for last activity = earliest finish (EF).

• Work backwards:

– Latest finish (LF) for current activity = Latest start for the following

More than one following activity - take the earliest LS.

– Latest start (LS) = LF for activity – duration.

Page 39: 2- Activity Planning

39

Performing a backward pass

• The latest completion date for activities G and H is assumed to be week 13.

• LF(G) = LF(H) = 13.• LS(G) = LF(G) – Duration(G) = 13 – 3 = 10.• LS(H) = LF(H) – Duration(H) = 13 – 2 = 11.

• The latest completion date for activities C and D is the latest date at which activity H must start, which is week 11.

• LF(C) = LF(D) = LS(H) = 11• LS(C) = LF(C) – Duration(C) = 11 – 3 = 8.• LS(D) = LF(D) – Duration(D) = 11 – 4 = 7.

Page 40: 2- Activity Planning

40

• LF(E) = LS(G) = 10.• LS(E) = LF(E) – Duration(E) = 10 – 3 = 7.

• LF(F) = LS(G) = 10.• LS(F) = LF(F) – Duration(F) = 10 – 10 = 0.

• LF(B) = Earliest of {LS(D), LS(E)} = 7.• LS(B) = LF(B) – Duration(B) = 7 – 4 = 3.

• LF(A) = LS(C) = 8• LS(A) = LF(A) – Duration(A) = 8 – 6 = 2.

• The latest start date for the project is the earliest of the latest start dates for activities A, B, and F, i.e. earliest{LS(A), LS(B), LS(F)} = earliest{2, 3, 0} = 0.

Page 41: 2- Activity Planning

41

3wks

Page 42: 2- Activity Planning

42

Float

• The difference between an activity’s earliest start date (ES) and its latest start date (LS) (or the difference between earliest and latest finish dates) is known as the activity’s float.

• Float = LF - ES – duration.

ES

LS

activity

LFFLOAT

EF

Page 43: 2- Activity Planning

43

• Float is a measure of how much the start or completion of an activity may be delayed without affecting the end date of the project.

• Any activity with zero float is critical: any delay will affect the completion of the entire project.

• There will be (at least) one path through the network joining those critical activities: known as the critical path.

Page 44: 2- Activity Planning

44

• The critical path is determined by adding the times for the activities in each sequence and determining the longest path in the project.

• The critical path determines the total calendar time required for the project.

• If activities outside the critical path speed up or slow down (within limits), the total project time does not change.

Page 45: 2- Activity Planning

45

Critical path

3wks

2wks

Page 46: 2- Activity Planning

46

Example

• Consider an activity where:– Earliest start (ES) = day 5.– Latest finish (LF) = day 30.– Duration = 10 days.

• Determine the following: (See slide 31)– Earliest finish (EF) = ES + Duration = Day 5 plus 10 days i.e. day

15.– Latest start (LS) = LF – Duration = Day 30 – 10 days i.e. day 20.– Float = LF - ES – duration = 30 – 5 – 10 = 15 days.

Page 47: 2- Activity Planning

47

Update graph as project progresses

• Make adjustments to the graph as the project progresses.

• As the project unfolds, the estimated times can be replaced with actual times.

• In cases where there are delays, additional resources may be needed to stay on schedule and the chart may be modified to reflect the new situation.

Page 48: 2- Activity Planning

48

Activity-on-arrow networks

• A graph (network), where…

– Edges represent activities (may also include durations).

– Nodes represent events of activities (or groups of activities), starting or finishing.

Page 49: 2- Activity Planning

49

Steps in building an activity-on-arrow network

1. Specify the individual activities.

2. Determine the sequence of those activities.

3. Draw a network diagram.

4. Estimate the completion time for each activity.

5. Identify the critical path (longest path through the network)

6. Update the graph as the project progresses.

Page 50: 2- Activity Planning

50

Specify the individual activities

• From the work breakdown structure, a listing can be made of all the activities in the project.

• This listing can be used as the basis for adding sequence and duration information in later steps.

Page 51: 2- Activity Planning

51

Determine the sequence of the activities

• Some activities are dependent on the completion of others.

• A listing of the immediate predecessors of each activity is useful for constructing the network diagram.

Page 52: 2- Activity Planning

52

Estimate activity completion time

• We define the following four quantities for each activity:

– ES: Earliest Start time

– EF: Earliest Finish time

– LS: Latest Start time

– LF: Latest Finish time

Page 53: 2- Activity Planning

53

Notation, rules and conventions

• May have only one start and end node.• An edge has duration.• A node has no duration.• Time moves from left to right.• Nodes are numbered sequentially.• A graph may not contain loops.

Event#

slack

Earliestdate

Latestdate

Page 54: 2- Activity Planning

54

Example project specification

Activity Duration (weeks) Precedents

A Hardware selection 6

B Software design 4

C Install hardware 3 A

D Code & test software 4 B

E File take-on 3 B

F Write user manuals 10

G User training 3 E, F

H Install & test system 2 C, D

Page 55: 2- Activity Planning

55

Page 56: 2- Activity Planning

56

Forward pass rule

• We perform a forward pass to obtain 1) the earliest date for events and 2) the ES and EF dates of activities.

• The earliest date for an event is the earliest finish date of the activity terminating at that event.– Where more than one activity terminates at a common event,

take the latest of the earliest finish dates for those activities.

• Event dates are recorded on the graph and activity dates on an activity table.

Page 57: 2- Activity Planning

57

Performing a forward pass

• Activities A, B, and F can start immediately, so the earliest date for event 1 is zero and the earliest start date for these three activities is also zero.

• Activity A will take 6 weeks, so the earliest it can finish is week 6. The earliest we can achieve event 2 is week 6.

Page 58: 2- Activity Planning

58

• Activity B will take 4 weeks, so the earliest it can finish and the earliest we can achieve event 3 is week 4.

• Activity F will take 10 weeks, so the earliest it can finish is week 10 (we cannot draw any conclusion on event 5 since we have not yet calculated activity E).

Page 59: 2- Activity Planning

59

• Activity E can start as early as week 4 (the earliest date for event 3) and since it is forecasted to take 3 weeks, it will be completed, at the earliest, at the end of week 7.

• Event 5 may be achieved when both E and F have been completed, i.e. week 10 (the later of 7 and 10).

Page 60: 2- Activity Planning

60

• Event 4 will have an earliest date of week 9. This is the latest of the earliest finish for D (week 8) and the earliest finish for activity C (week 9).

• The earliest date for event 6 (the completion of the project) is the end of week 13 (i.e. the later of the earliest finish of activity H, 11, and the earliest finish of activity G, 13).

Page 61: 2- Activity Planning

61

Page 62: 2- Activity Planning

62

Activity table after the forward pass

Activity Duration Earliest start Earliest(weeks) date finish date

A 6 0 6

B 4 0 4

C 3 6 9

D 4 4 8

E 3 4 7

F 10 0 10

G 3 10 13

H 2 9 11

Page 63: 2- Activity Planning

63

Backward pass rule

• We perform a backward pass to obtain 1) the latest date for events and 2) the LS and LF dates of activities.

• We assume that the latest finish date for the project is the same as the earliest finish date.

• The latest date for an event is the latest date by which all immediately following activities must be started (for the project to be completed on time).– Where more than one activity originates from a common event,

take the earliest of the latest start dates for those activities.

• Event dates are recorded on the graph and activity dates on an activity table.

Page 64: 2- Activity Planning

64

• To remember:

• Latest Date (Event) = Earliest of

{LS of all following activities}

• LF(activity) = Latest Date (Event) in which the

activity terminates at.

• LS(activity) = LF(activity) – Duration(activity)

Page 65: 2- Activity Planning

65

• Latest Date (6) = 13.

• LF(G) = LF(H) = 13.

• LS(G) = LF(G) – Duration(G) = 13 – 3 = 10.• LS(H) = LF(H) – Duration(H) = 13 – 2 = 11.

Page 66: 2- Activity Planning

66

• LS(G) and LS(H) allow us to obtain the Latest Date of events 5 and 4 respectively:

• Latest Date(5) = LS(G) = 10.

• Latest Date(4) = LS(H) = 11.

Page 67: 2- Activity Planning

67

• The Latest Date of event 5 allows us to obtain LF(E):

• LF(E) = Latest Date(5) = 10.

• LS(E) = LF(E) – Duration(E) = 10 – 3 = 7.

Page 68: 2- Activity Planning

68

• The Latest Date of event 4 allows us to obtain LF(C) and LF(D):

• LF(C) = LF(D) = Latest date(4) = 11.

• LS(C) = LF(C) – Duration(C) = 11 – 3 = 8.• The above allows us to obtain Latest Date(2) = 8.

• LS(D) = LF(D) – Duration(D) = 11 – 4 = 7.

Page 69: 2- Activity Planning

69

• To obtain Latest Date(3) , we take the earliest of {LS(D), LS(E)} = 7.

• LF(B) = Latest Date(3) = 7.• LS(B) = LF(B) – Duration(B) = 7 – 4 = 3.

• LF(A) = Latest Date(2) = 8.• LS(A) = LF(A) – Duration(A) = 8 – 6 = 2.

• LF(F) = Latest Date(5) = 10.• LS(F) = LF(F) – Duration(F) = 10 – 10 = 0.

Page 70: 2- Activity Planning

70

11

NB: There is a typo in the textbook (Fig 6.28, p. 143):The latest date for event 4 should be 11, not 1.

Page 71: 2- Activity Planning

71

Activity table after the backward pass

Activity Duration Earliest start Latest Earliest Latest finish(weeks) date start date finish date

A 6 0 2 6 8

B 4 0 3 4 7

C 3 6 8 9 11

D 4 4 7 8 11

E 3 4 7 7 10

F 10 0 0 10 10

G 3 10 10 13 13

H 2 9 11 11 13

Page 72: 2- Activity Planning

72

Slack time and critical path

• The slack time for an event is the time between its earliest and latest start time, or between its earliest and latest finish time.

• Slack is a measure of how late an event may be, without delaying the project.

• The critical path is the path joining all nodes with a zero slack.

Page 73: 2- Activity Planning

73

0

Page 74: 2- Activity Planning

74

• The significance of the critical path is that the activities that lie on it cannot be delayed without delaying the project.

• Because of its impact on the entire project, critical path analysis is an important aspect of project planning.

• To accelerate the project it is necessary to reduce the total time required for the activities in the critical path.

Page 75: 2- Activity Planning

75

Update the graph

• As the project progresses, the actual task completion times will be known and the graph can be updated to include this information.

• A new critical path may emerge, and structural changes may be made in the graph if project requirements change.

Page 76: 2- Activity Planning

76

Timeline (or Gantt) chart

• A timeline chart (also called a Gantt chart) is a horizontal bar chart which helps to plan, coordinate, and track specific tasks in a project.

• In software development projects, a Gantt chart illustrates the WBS.

Task Duration Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

1 2 mo.                            

2 2 mo.                            

3 2 mo.                            

4 2 mo.                            

5 2 mo.                            

6 2 mo.                            

Page 77: 2- Activity Planning

77

• A Gantt chart is constructed with a horizontal axis representing the total time span of the project, broken down into increments (for example, days, weeks, or months) and a vertical axis representing the tasks that make up the project.

• Horizontal bars of varying lengths represent the sequences, timing, and time span for each task.

• The bar spans may overlap.• As the project progresses, secondary bars, arrowheads,

or darkened bars may be added to indicate completed tasks, or the portions of tasks that have been completed.

• A vertical line is used to represent the report date.

Page 78: 2- Activity Planning

78

Notation

Page 79: 2- Activity Planning

79

Page 80: 2- Activity Planning

80

Example tool: XL-EasyGantt

Page 81: 2- Activity Planning

81

References and on-line resources

1. Bob Hughes and Mike Cotterell, “Software Project Management”, 4th edition, McGraw Hill, 2006.

2. XL-EasyGantt home page. URL: htttp://www.xleasygantt.com

3. “Create a Gantt chart in MS-Excel”, URL: http://office.microsoft.com/en-us/excel/HA010346051033.aspx

4. Internet Center for Management and Business Administration. URL: http://www.netmba.com/