Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

SOFTWARE PROJECT

•1

MANAGEMENT

Lecture : Scheduling
Scheduling
•2

 The process of defining project activities,


determining their sequence and estimating their
duration.
 Primary objectives of scheduling
 Critical path.
 Mininum duration that the project will take.
 Secondary objectives
 Evaluation of schedule alternatives
 Effective use of resources
Steps in project scheduling
•3

 Split project into tasks (= create a WBS)


 Estimate time and resources required to complete
each task.
 Organize tasks concurrently to make optimal use of
workforce.
 Minimize task dependencies to avoid delays
caused by one task waiting for another to complete.
 Dependent on project managers intuition and
experience.
Estimation
•4

 “The single most important task of a project: setting


realistic expectations. Unrealistic expectations
based on inaccurate estimates are the single largest
cause of software failure.”Futrell, Shafer, “Quality Software Project
Management”

Activities/task characterized by:


 Effort: how much work will the activity need to be
completed
 Resources: how many resources will be working on the
activity
 Duration: how long will the activity last for

… estimation technique provide (at least) two of the


quantities specified above
Effort & Duration
•5

 Effort:
 how complex/how much work does the activity
require?. A.K.A. “Work”
 Measured in man/month (3 m-m = 1 person working
for 3 months; 3 people working for one 1 month)
 Duration
 How much time will the activity last for. Measured in
(work-)hours, (work-)days, (work-)months, …
 Calendar time != duration: calendar time includes non-
working days, holidays, …
 Usually: 5 days == 40 hours (8 hours a day) == 1
calendar week (sat and sun rest time)
Guidelines
•6

 Productivity is not proportional to the number of


people working on a task.
 Adding people to a late project makes it later
because of communication overheads.
 The unexpected always happens. Always allow
contingency in planning.
 Organize tasks concurrently (in parallel) to make
optimal use of workforce.
 Minimize task dependencies to avoid delays caused
by one task waiting for another to complete.
 Dependent on project managers intuition and
Scheduling pseudoCode
•7
(Sommerville)
while project has not been completed or cancelled loop
Draw up project schedule
Initiate activities according to schedule
Wait ( for a while )
Review project progress
Revise estimates of project parameters
Update the project schedule
Re-negotiate project constraints and deliverables
if ( problems arise ) then
Initiate technical review and possible revision
end if
end loop
Terminology
•8

 Precedence: A task that must occur before another


is said to have precedence of the other
 Concurrence: Concurrent tasks are those that can
occur at the same time (in parallel)
 Leads & Lag Time :Delays between activities
 Time required before or after a given task
 Slack (Float):Slack enables resources to be
temporarily diverted other activities to avoid
delays .compensate for an inaccurate time estimate
– Slack Time TS = TL – TE
 TE = earliest time an event can take place
 TL = latest date it can occur w/o extending project’s
Milestones
•9

 End-point of a software process activity


 At each milestone there should be a formal output
 Identify critical points in your schedule.

 Often used at “review” or “delivery” times.


 Or at end or beginning of phases
 Ex: Software Requirements Review (SRR),Feasibility report
,Design Report, User Sign-off. Have a duration of zero

 Shown as inverted triangle or a diamond


Final Year Project milestones
•10

Lit Analysis Design coding


Survey
M2 M3
M1 M4
Feasibility
study

• Assuming a Report
Testing
waterfall model Submission

is being followed M5
Milestones on Diagram
•11

 The
inverted
black
triangle
represent
the
milestone
Milestone- Deliverable Example
•12

Task Description Dependencies


T1 Requirements -
Gathering
T2 Feasibility Study T1
T3 Scheduling T1,T2
T4 Analysis T1 Milestone Deliverable
T5 Costing T3 M1,(T1) SRS
T6 Design T4 M2,(T2) Feasibility Report
T7 Test Case Generation T3 M3,(T4) Analysis
T8 Implementation T6 Document
T9 Testing T7, T8 M4,(T7) Design Document
T10 User Training T9 M5,(T3,T5) Schedule plan
M6,T7 Test plan
M7,T8,T9 Application
M8,T10 Sign-off
Document
Scheduling Problems
•13

Estimating the difficulty of problems and hence the cost of


developing a solution is hard

software or hardware to be used for development may be


delivered late.

Individuals working on a project may fall ill or may leave

The unexpected always happens. Always allow contingency


in planning
Network Diagrams
•14

 Developed in the 1950’s


 A graphical representation of the tasks necessary to
complete a project
 Visualizes the flow of tasks & relationships
 Used to calculate the earliest start, earliest finish,
latest start and latest finish.
 To find the critical path and the slack time.
Network Diagrams
•15

 Two classic formats


 AOA: Activity on Arrow
 AON: Activity on Node

 Each task labeled with


 Identifier (usually a letter/code)
 Duration (in std. unit like days)
 There are other variations of labeling
 There is 1 start & 1 end event
 Time goes from left to right
Node Formats
•16
Critical Path
•17

 “The specific set of sequential tasks upon which the


project completion date depends”
 or “the longest full path in terms of time duration”
 Accelerating non-critical tasks do not directly
shorten the schedule.
 Non-CP tasks can start earlier or later w/o
impacting completion date.
 Note: Critical Path may change to another as you
shorten the current
Task Dependency graph
•18

Task Duration Dependencies


A 30
B 60 A
C 45 A
D 60 B
E 60 B
F 15 C
G 30 E
Example Step 1
•19
Forward Pass
•20

 To determine early start (ES) and early finish (EF) times for
each task
 Work from left to right
 Adding times in each path
 Rule: when several tasks converge, the ES for the next task is
the largest of preceding EF times
Example Step 2
•21
Backward Pass
•22

 To determine the last finish (LF) and last start (LS) times
 Start at the end node
 Compute the bottom pair of numbers
 Subtract duration from connecting node’s earliest start time
 When two or more activities are converging to one activity x,
we take the minimum of these latest start times converging
activities as the latest finish for the activity x.
Example Step 3
•23
Example Step 4
•24
Calculating slack time
•25

 The slack time is computed by

 Slack Time= LFT-EFT

 EFT = earliest time an event can take place


 LFT = latest date it can occur w/o extending
project’s completion date
Slack & Reserve
•26

Reserve Negative
Negative slack: negative Time Slack

float, is the amount of Forward


Pass
time beyond a project's A B

scheduled completion that Backward


Pass
a task within the project
Project Due
requires. Start
Date Date

How can you address that


situation?
Network Diagrams
•27

 Advantages
 Show precedence well
 Reveal interdependencies not shown in other techniques
 Ability to calculate critical path
 Ability to perform “what if” exercises

 Disadvantages
 Default model assumes resources are unlimited
 Difficult to follow on large projects
Activity – Draw the network
•28
diagram
Activity Predecessors Duration
a --- 5
b --- 4
c a 3
d a 4
e a 6
f b,c 4
g d 5
h d,e 6
i f 6
j g,h 4
PERT
•29

 Program Evaluation and Review Technique


 Based on idea that estimates are uncertain
 Therefore uses duration ranges
 And the probability of falling to a given range

 Use the following formula to calculate the expected


durations,
Example
•30
Example
•31

 Calculate the EST,LST,EFT & LFT using Task


Dependencies table on slide 28
PERT
•32

 Advantages
 Accounts for uncertainty

 Disadvantages
 Time and labor intensive
 Lack of functional ownership of estimates

 Mostly only used on large, complex project


Pert Exercise
•33

Task Optimistic(o) Most Pessimistic Dependencies


likely (m) (p)
T1 2 4 6 -
T2 2 6 10 T3,T6
T3 4 6 8 T4
T4 6 8 10 -
T5 4 6 8 T2,T7
T6 2 4 6 T4
T7 8 6 10 T1,T3
T8 4 6 8 T4
T9 4 4 10 T2,T8
T10 4 6 8 -

•Draw an activity network using Activity on Node conventions for the


above. Calculate the different values for EST,EFT,LST ,LFT and slack
time
Gantt Chart
•34
Gantt Chart example
•35
Gantt chart
•36

 Disadvantages
 Does not show interdependencies well
 Does not uncertainty of a given activity (as does PERT)
 Advantages
 Easily understood
 Easily created and maintained
 Note: Software now shows dependencies among tasks in Gantt
charts
 In the “old” days Gantt charts did not show these dependencies, bar
charts typically do not
Task Dependency Table
•37

Task Duration Dependencies


(days)
T1 8
T2 15
T3 15 T1
T4 10
T5 10 T2, T4
T6 5 T1, T2
T7 20 T1
T8 25 T4
T9 15 T3, T6
T10 15 T5, T7
T11 7 T9
T12 10 T11
Gantt chart Example
•38
Gantt Chart Exercise
•39

 Draw a Gantt chart for question on slide 30 to


illustrate the project schedule.
Reducing Project Duration
•40

 How can you shorten the schedule?

 Looks at cost and schedule tradeoffs


 Add resources to critical path tasks
 Limit or reduce requirements (scope)
 Changing the sequence of tasks
 Overlapping of phases, activities or tasks that would
otherwise be sequential
Compression
•41

 Shorten the overall duration of the project


 Crashing
 Looksat cost and schedule tradeoffs
 Gain greatest compression with least cost
 Add resources to critical path tasks
 Changing the sequence of tasks

 Fast Tracking
 Overlapping of phases, activities or tasks that would
otherwise be sequential
 Involves some risk
 May cause rework
Mythical Man month
•42

 Book: “The Mythical Man-Month”


 Author: Fred Brooks
 “The classic book on the human elements of
software engineering”
 First two chapters are full of terrific insight (and
quotes)
 “Cost varies as product of men and months,
progress does not.”
 “Hence the man-month as a unit for measuring the
size of job is a dangerous and deceptive myth”
Mythical Man month
•43

 Why is software project disaster so common?


 1. Estimation techniques are poor & assume things will go well (an
‘unvoiced’ assumption)
 2. Estimation techniques fallaciously confuse effort with progress, hiding
the assumption that men and months are interchangeable
 3. “… software managers often lack the courteous
stubbornness of Antoine's chef.”
 4. Schedule progress is poorly monitored
 5. When schedule slippage is recognized, the natural response is to add
manpower. Which, is like dousing a fire with gasoline.
Mythical Man month
•44

 Optimism
 “All programmers are optimists”
 1st false assumption: “all will go well” or “each task takes only as long
as it ‘ought’ to take”
 The Fix: Consider the larger probabilities
 Cost (overhead) of communication (and training)
 His formula: n(n-1)/2
 How long does a 12 month project take?
 1 person: 12 month
 2 persons = 7 months (1 man-months extra)
 3 persons = 5 months (1 man-months extra)
 Fix: don’t assume adding people will solve the problem
•45

 Q: “How does a project get to be a year late”?


 A: “One day at a time”
 Studies
 Each task: twice as long as estimated
 Only 50% of work week was programming
 Fixes
 No “fuzzy” milestones (get the “true” status)
 Reduce the role of conflict
 Identify the “true status”
•46

 Sequential nature of the process


 “The bearing of a child takes nine months, no matter how many women
are assigned”
 What is the most mis-scheduled part of process?
 Testing (the most linear process)
 Why is this particularly bad?
 Occurs late in process and w/o warning
 Higher costs: primary and secondary
 Fix: Allocate more test time
 Understand task dependencies

You might also like