Project Planning and Scheduling Project Planning and Scheduling.
Software project scheduling
-
Upload
amit-udhwani -
Category
Engineering
-
view
185 -
download
3
Transcript of Software project scheduling
![Page 1: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/1.jpg)
Project Scheduling
Unit I
![Page 2: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/2.jpg)
What is Scheduling?
Is an important part of project planning activity.It involves deciding which tasks would be taken up when.
![Page 3: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/3.jpg)
Why Scheduling?
The majority of projects are 'completed' late, if at all. A project schedule is required to ensure that required project commitments are met. A schedule is required to track progress toward achieving these commitments.
![Page 4: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/4.jpg)
Why Software is Delivered Late?
An unrealistic deadline Changing but unpredicted customer requirementsUnderestimation of efforts neededRisks not considered at the project startUnforeseen technical difficultiesUnforeseen human difficultiesMiscommunication among project staffFailure to recognize that project is falling behind schedule
![Page 5: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/5.jpg)
Project Scheduling
“One Day at a Time”All technical projects involve hundreds of small tasks.Some tasks do not effect the project completionOther tasks are critical for the project completion.
![Page 6: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/6.jpg)
Project Scheduling
To schedule the project, a project manager must do the following:
Define all project tasksBuild a network that depicts their interdependence.Identify the critical tasksTrack the progress of these tasksRecognize the delay “one day at a time”
![Page 7: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/7.jpg)
Different Perspectives to View Scheduling
End date for completion has been finalized
Only Rough time-frame is given
![Page 8: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/8.jpg)
Basic Principles for S/W Project Scheduling
Compartmentalization – define distinct tasksInterdependency- parallel and sequential tasksTime allocation - assigned person days, start time, ending timeEffort validation - be sure resources are availableDefined responsibilities — people must be assignedDefined Outcomes- each task must have an outputDefined milestones - review for quality
![Page 9: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/9.jpg)
Relationship betweenPeople & Effort
“If we fall behind schedule we can always add more programmers and catch to late in the project”
Has a disruptive effect on the project
Schedules slip even further
![Page 10: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/10.jpg)
People & Effort
The relationship between the number of people working in software project and overall productivity is not linear
Fewer people and longer time period is a better option
for software development
![Page 11: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/11.jpg)
Scheduling
To make a schedule, following tasks must be completed:
Identify all the tasks needed to complete the project
Break down large tasks into small activities.
Determine dependency among different activities.
Establish estimates for time durations to complete the activities.
Allocate resources to activities.
Plan starting and ending dates for activities.
Determine the critical path (chain of activities that determines the duration of the project)
![Page 12: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/12.jpg)
Scheduling
The first step involves identifying all the tasks necessary to complete the project.
This can be done when the manager has good knowledge about the intricacies of the project and development process.
![Page 13: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/13.jpg)
Scheduling
In the next step large tasks are broken down into logical set of small activities which would be assigned to different developers.
The work breakdown structure (WBS) helps the managers to do this systematically.
![Page 14: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/14.jpg)
Scheduling
After the large tasks are broken down into small activities & a WBS is created, the manager has to find the dependency among the activities.
Dependency determines the order in which different activities would be carried out.
For example, if an activity A requires the results of activity B, then A must be scheduled after B.
![Page 15: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/15.jpg)
Scheduling
Once the activity network representation has been done, resources are allocated to each activity.
Resource allocation is typically done using Gantt Chart.
![Page 16: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/16.jpg)
Scheduling
After resource allocation, a PERT chart representation is developed.
PERT is suitable for project monitoring and control.
The time frame when each activity has to be performed is also determined.
The end of each activity is called as a milestone.
![Page 17: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/17.jpg)
Scheduling
If the project manager observes that the milestones are getting delayed, he has to carefully control the activities so that the overall deadline can still be met.
![Page 18: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/18.jpg)
Work Breakdown Structure
WBS is used to decompose a given task set recursively into small activities.It provides a notation for representing the major tasks needed to be carried out.The root of the tree is labelled by the problem name.Each node of the tree is broken down into smaller activities.Each activity is recursively decomposed into smaller sub activities, until at the leaf level, the activities require approximately 2 weeks to develop.
![Page 19: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/19.jpg)
MIS Application
Requirement Specification
Design Code TestDocumen
t
Databse Part
GUI Part Databse Part
GUI Part
WBS of an MIS application Problem
![Page 20: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/20.jpg)
Activity Network
WBS representation of a project is transformed into an activity network.And activity network shows
Different activities making up a project,Their estimated durations, andInterdependencies.
Each activity is represented by a rectangular node and its duration is shown alongside each task.
![Page 21: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/21.jpg)
Activity Network: Example
Specification15
Design Database
45
Design GUI30
Code Database
105
Code GUI45
Write User Manual
60
Integrate & Test120
Finish
![Page 22: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/22.jpg)
Some Questions
Draw the network diagram for the following:
Activity Duration(in days)
1-2 2
1-3 5
2-3 1
2-4 9
3-4 5
4-5 3
![Page 23: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/23.jpg)
Some Questions
Draw the network diagram for the project whose activities & duration are given:
Activity Duration(in days)
Immediate predecessor
A 2 -
B 5 A
C 1 A
D 7 B
E 6 C
F 1 D, E
![Page 24: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/24.jpg)
Critical Path Method (CPM)
Critical path is the sequence of Critical Activities in a network.A network diagram may have more than one critical paths.It is the largest path in a network.Critical path gives the minimum time required to complete a project.The activities in the critical path are called critical activities.The nodes in the critical path are called critical nodes or events.If the critical activities are delayed, then the project is also delayed.
![Page 25: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/25.jpg)
Critical Path Method (CPM)
From the network diagram, following analysis can be made:
Minimum Time (MT): to complete the project is maximum of all paths from start to finish.
Earliest Start Time (ES): is the maximum of all paths from start to this task.
Latest Start Time (LS): is the difference between MT and maximum of all paths from this task to finish.
Earliest Finish Time (EF): of a task is the sum of the ES of the task and its duration.
Latest Finish Time (LF): of a task can be obtained by subtracting maximum of all paths from this task to finish from the MT.
Slag Time (ST): is LS-ES and LF-EF
![Page 26: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/26.jpg)
Critical Path Method: Example
Specification15
Design Database
45
Design GUI30
Code Database
105
Code GUI45
Write User Manual
60
Integrate & Test120
Finish
![Page 27: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/27.jpg)
Critical Path Method: Example
From the above diagram:MT= 285 days
Critical task is the one with slack time = 0
Critical path is indicated with double lines.
Activity ES EF LS LF ST
Specification 0 15 0 15 0
Design Database 15 60 15 60 0
Design GUI 15 45 90 120 75
Code Database 60 165 60 165 0
Code GUI 45 90 120 165 75
Integrate 165 285 165 285 0
Write User Manual 15 75 225 285 210
![Page 28: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/28.jpg)
Critical Path Method: Example
Specification15
Design Database
45
Design GUI30
Code Database
105
Code GUI45
Write User Manual
60
Integrate & Test120
Finish
![Page 29: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/29.jpg)
PERT
Project Evaluation & Review Technique.Is a technique for estimating and planning a project.Similar to CPM,
a PERT chart consists of a network of boxes/circles and arrows.The boxes/circles represent activities & arrows represent task dependencies.
One of its most powerful concepts is that project management is the management of probabilities.It represents the statistical variations in the project estimates assuming a normal distribution.
![Page 30: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/30.jpg)
PERT
Thus, in a PERT chart, instead of making a single estimate for each task, three estimates are made:
Optimistic,Most Likely, andPessimistic.
All of these estimates are written in the boxes/circles of the PERT chart.These three estimates are combined to calculate an expected duration.
![Page 31: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/31.jpg)
PERT
Expected Duration (E)=O + 4*M + P6
Consider a simple project of three tasks:
If the first task begins on day Zero, what day can we expect the third task to complete?
Task 1
3,5,9
Task 2
4,5,12
Task 3
7,9,15
End
![Page 32: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/32.jpg)
PERT
So expected duration of the project = 5.33+6+9.67 = 21 days
Task E
Task 1 (3+5*4+9)/6 = 5.33
Task 2 (4+5*4+12)/6 = 6
Task 3 (7+9*4+15)/6 = 9.67
![Page 33: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/33.jpg)
Gantt Charts
Gantt charts have been named after their developer Henry Gantt.They are mainly used to allocate resources to activities.The resources include:
Staff,Hardware, andSoftware.
They are useful for resource planning.
![Page 34: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/34.jpg)
Gantt Charts
A Gantt chart is a special type of bar chart where each bar represents an activity.The bars are drawn along a timeline.The length of each bar is proportional to the duration of time planned for that activity.Each bar consists of a shaded part and a white part.The shaded part shows the length of the time each task is estimated to take.The white part shows the slack time.
![Page 35: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/35.jpg)
Example
Specification15
Design Database
45
Design GUI30
Code Database
105
Code GUI45
Write User Manual
60
Integrate & Test120
Finish
![Page 36: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/36.jpg)
Jan 1 Jan 15 Mar 15 Apr 1 July 15 Nov 15
Specification
Design Database
Design GUI
Code Database
Code GUI
Integrate & Test
Write User Manual
![Page 37: Software project scheduling](https://reader036.fdocuments.in/reader036/viewer/2022062304/55c4627bbb61eb594e8b4815/html5/thumbnails/37.jpg)
Monitoring & ControlOnce a project starts, the project manager has to monitor the project continuously to ensure that it is progressing as per the plan.
The project manager designates certain key events such as completion of some important activity as milestones.
For example, a milestone can be the completion & review of SRS document.
If any delay in reaching a milestone is predicted, then corrective actions might be taken.
This may mean reworking all the schedules & producing a fresh schedule.
PERT and CPM both help in determining a critical path, through which critical activities can be identified and monitored.