Chapter 5 Project Scheduling. (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill,

Size: px
Start display at page:

Download "Chapter 5 Project Scheduling. (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill,"

Transcription

1 Chapter 5 Project Scheduling (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill,

2 Project Scheduling

3 Project Scheduling Project Scheduling important task to completed in decided timing is quite difficult. There are many reason for delay in developing s/w product. Ex. Technical problem, designing problem or any thing else Factors affecting s/w product scheduling:- 1. people work relationships 2. task definition & parallelism 3. effort distribution 4. scheduling methods On large projects, hundreds of small tasks must occur to accomplish a larger goal Some of these tasks lie outside the mainstream and may be completed without worry of impacting on the project completion date Other tasks lie on the critical path; if these tasks fall behind schedule, the completion date of the entire project is put into jeopardy (More on next

4 Project Scheduling(continued) It is action that distributes estimated effort across the planned, project duration by allocating effort to the specific s/w engg/ tasks. Identify Activity Identify activity Dependencies Estimate resources Create Project charts Fig. Project Scheduling Process Allocate people to activities

5 Project Scheduling Process 1. Identify Activity:- identify specific activities that must be perform to produce various project deliverables. 2. Identify activity dependencies:- identifying & documenting interactivity dependencies. 3. Allocates resources :- resources are allocated & estimating number of work periods which will be needed to complete individual activity 4. Create project charts:- project activity charts are created to analyzing activity sequences, duration& resources requirements to create a project schedule 5. Allocate people to activity:- according to different activity people are allocated to that activities.

6 Factors that delay project schedule An unrealistic deadline established outside the team. Changing customer requirements that are not reflected in schedule changes Underestimating the resource required to complete project. Risk that were not considered when project began Technical difficulties that could not have been predicted in advance Human difficulties that could not have been predicted in advance Miscommunication among project staff that results in delays A failure by project management to recognize that the project is falling behind schedule and a lack of action to correct the problem

7 Basic Principles for Project Scheduling Compartmentalization The project must be compartmentalized into a number of manageable activities, actions, and tasks; both the product and the process are decomposed Interdependency The interdependency of each compartmentalized activity, action, or task must be determined Some tasks must occur in sequence while others can occur in parallel Some actions or activities cannot commence until the work product produced by another is available Time allocation Each task to be scheduled must be allocated some number of work units In addition, each task must be assigned a start date and a completion date that are a function of the interdependencies Start and stop dates are also established based on whether work will be conducted on a full-time or part-time basis

8 Basic Principles for Project Scheduling (continued) Effort validation Every project has a defined number of people on the team As time allocation occurs, the project manager must ensure that no more than the allocated number of people have been scheduled at any given time Defined responsibilities Every task that is scheduled should be assigned to a specific team member Defined outcomes Every task that is scheduled should have a defined outcome for software projects such as a work product or part of a work product Work products are often combined in deliverables Defined milestones Every task or group of tasks should be associated with a project milestone A milestone is accomplished when one or more work products has been reviewed for quality and has been approved

9 Project Scheduling Techniques 1. PERT(Program evaluation & review technique) 2. CPM (Critical path method) 3. Timeline Charts(Gantt Charts).

10 PERT It is useful in basic managerial functions of planning, scheduling & control. PERT is used to schedule, organize & coordinate tasks within the project. A simple PERT chart comprises circles (nodes) to represent events within the development lifecycle The basic steps to constructing a PERT chart are: Identify tasks and estimate duration of times Identify a single start and end event Arrange events in sequence (give events a unique number) Establish start and finish times of each task. Keep in mind the estimates made for duration and effort. Determine float Revise

11 PERT Example As an example of using a PERT chart, consider the following simple chart showing a project with tasks A,B,C,D and E. This diagram states that tasks A,B,C and E will take 2 days (assume d is abbreviation for days) and task D has a planned duration of days. Task D is dependent on completion of task B, etc. A 2d C 2d 2 4 E 2d 1 5 2d B 3 Task D 5days

12 CPM (Critical path method) The critical path is the path between the start event and end event which takes the longest time. Note that: No task on the critical path can take longer without extending the end date of the project. Tasks on the critical path are called critical tasks. No critical task can have any slack. Tasks on the critical path must be carefully monitored. CPM useful for:- Identifying tasks which should be completed on time for the entire project to be completed on time. It helps in finding the minimum length of time needed to complete a project.

13 In the example above the critical path can be described by events 1,3 and 5 or by tasks B,D. This is because the time to reach the end event (5) on this path is longer than any other path. This means that task B must take no longer than 2 days and task D no longer than 5 days or the end date for event E will need to be extended. The duration of the other path is 6 days. Because the critical path is 7 days, there is slack (or float) of one day on the other path. This means that this path can take 1 day longer than planned. That is, any one task on this path (A,C or E) can take 1 day longer than expected. Note this slack must be shared between the tasks on this other path. They can not all take an extra day A 2d C 2d 2 4 E 2d 1 5 2d B 3 Task D 5days

14 Timeline Chart Gantt chart Also called a Gantt chart; invented by Henry Gantt, industrial engineer, 1917 GANTT charts are a project planning tool that can be used to represent the timing of tasks required to complete a project. All project tasks are listed in the far left column The next few columns may list the following for each task: projected start date, projected stop date, projected duration, actual start date, actual stop date, actual duration, task inter-dependencies (i.e., predecessors) To the far right are columns representing dates on a calendar The length of a horizontal bar on the calendar indicates the duration of the task When multiple bars occur at the same time interval on the calendar, this implies task concurrency A diamond in the calendar area of a specific task indicates that the task is a milestone; a milestone has a time duration of zero Task # Task Name Duration Start Finish Pred. Jan Feb Mar Apr May Jun Jul Aug Sep Oct 1 2 Task A Milestone N 2 months 0 1/1 3/1 2/28 3/1 None 1

15 Timeline Charts Tasks Week 1 Week 2 Week 3 Week 4 Week n Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12

16 Task Network

17 Defining a Task Set A task set is a collection of s/w engg. Work tasks, milestones & deliverables(outcomes) that must be accomplished to complete a project. A task set is the work breakdown structure for the project No single task set is appropriate for all projects and process models It varies depending on the project type and the degree of rigor (based on influential factors) with which the team plans to work The task set should provide enough discipline to achieve high software quality But it must not burden the project team with unnecessary work

18 Purpose of a Task Network Also called an activity network It is a graphic representation of the task flow for a project It depicts task length, sequence, concurrency, and dependency Points out inter-task dependencies to help the manager ensure continuous progress toward project completion The critical path a task networks there is a certain difficult path called as critical path. A single path leading from start to finish in a task network It contains the sequence of tasks that must be completed on schedule if the project as a whole is to be completed on schedule It also determines the minimum duration of the project

19

20 Example Task Network Task B 3 Task F 2 Task G 3 Task H 5 Task A 3 Task C 7 Task D 5 Task E 8 Task I 4 Task K 3 Task J 5 Task L 10 Task M 0 Task N 2 Where is the critical path and what tasks are on it?

21 Example Task Network with Critical Path Marked Task B 3 Task F 2 Task G 3 Task H 5 Task A 3 Task C 7 Task D 5 Task E 8 Task I 4 Task K 3 Task J 5 Task L 10 Task M 0 Task N 2 Critical path: A-B-C-E-K-L-M-N