660 likes | 1.21k Views
Project Scheduling. WBS: quick recap. Types: Process, product, hybrid Formats: Outline or graphical org chart High-level WBS does not show dependencies or durations What hurts most is what’s missing Becomes input to many things, esp. schedule. WBS examples.
E N D
WBS: quick recap • Types: Process, product, hybrid • Formats: Outline or graphical org chart • High-level WBS does not show dependencies or durations • What hurts most is what’s missing • Becomes input to many things, esp. schedule
WBS examples • http://www.dir.state.tx.us/eod/qa/planning/wbs.htm • The next two wbs’: two (fictitious) wbs taken from PMBOK
Project Scheduling • 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 • “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, Shafer, “Quality Software Project Management” … now: just a couple of slides to keep going. In the next few lessons: more detailed and accurate description (tools and techniques)
Estimation 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 • Your best shot for providing estimations (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) • Mind you though: communication increases the time to complete activities
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: • A duration of 5 days == 40 hours (8 hours a day) = 1 calendar week (sat and sun rest time)
Duration (II) • Some more relationships: • In some countries/contexts: 1 calendar week = 36 work-hours (7.12 hours/day) • A (work-month) maybe: • 20 days • 17 days (… where are the missing days?)
A (simplicistic) view D = E / M • Fix any two among D, E, and M, and you get the third • (once again) a simplification, but good enough for us (we embed the non linearity in the effort)
A (simplicistic) view (II) • When working with planning tools, you change one variable at a time. • Standard characterisation: • Fixed Unit. A task in which the assigned resources is a fixed value and any changes to the amount of work or the tasks duration do not affect the tasks units. (Duration x Units = Work). • Fixed Work. A task in which the amount of work is a fixed value and any changes to the tasks duration or the number of assigned resources do not affect the tasks work. (Duration x Units = Work). • Fixed Duration. A task in which the duration is a fixed value and any changes to the work or the assigned resources, don't affect the tasks duration. (Duration x Units = Work).
Some general considerations… • Estimating the difficulty of problems and hence the cost of developing a solution is hard. • 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.
Scheduling • Once tasks (from the WBS) and size/effort (from estimation) are known: then schedule • Primary objectives • Best time • Least cost • Least risk • Secondary objectives • Evaluation of schedule alternatives • Effective use of resources • Communications
Some rules of the thumb • 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.
Scheduling (II) … according to 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 • 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
Terminology • Milestones • Have a duration of zero • Identify critical points in your schedule • Shown as inverted triangle or a diamond • Often used at “review” or “delivery” times • Or at end or beginning of phases • Ex: Software Requirements Review (SRR) • Ex: User Sign-off • Can be tied to contract terms
Terminology Example Milestones
Terminology • Deliverable: • a deliverable is a measurable and verifiable work products (we saw it already!) … in current practice sometimes milestone and deliverable are used interchangeably (both used to identify products - milestones may represent key-products)
Terminology • Slack & Float • Float & Slack: synonymous terms • Free Slack • Slack an activity has before it delays next task • Total Slack • Slack an activity has before delaying whole project • Slack Time TS = TL – TE • TE = earliest time an event can take place • TL = latest date it can occur w/o extending project’s completion date
Scheduling Techniques • Mathematical Analysis • Network Diagrams • PERT • CPM • GERT • Bar Charts • Milestone Chart • Gantt Chart
Network Diagrams • Developed in the 1950’s • A graphical representation of the tasks necessary to complete a project • Visualizes the flow of tasks & relationships
Mathematical Analysis • PERT • Program Evaluation and Review Technique • CPM • Critical Path Method • Sometimes treated synonymously • All are models using network diagrams
Network Diagrams • 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
Network Diagrams • AOA consists of • Circles representing Events • Such as ‘start’ or ‘end’ of a given task • Lines representing Tasks • Thing being done ‘Build UI’ • a.k.a. Arrow Diagramming Method (ADM) • AON • Tasks on Nodes • Nodes can be circles or rectangles (usually latter) • Task information written on node • Arrows are dependencies between tasks • a.k.a. Precedence Diagramming Method (PDM)
Critical Path • “The specific set of sequential tasks upon which the project completion date depends” • or “the longest full path” • All projects have a Critical Path • Accelerating non-critical tasks do not directly shorten the schedule
CPM • Critical Path Method • The process for determining and optimizing the critical path • 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
Forward Pass • 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
Backward Pass • 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
Slack & Reserve • How can slack be negative? • What does that mean? • How can you address that situation?
Network Diagrams • 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 • You need to incorporate this yourself (Resource Dependencies) when determining the “real” Critical Path • Difficult to follow on large projects
4 Task Dependency Types • Mandatory Dependencies • “Hard logic” dependencies • Nature of the work dictates an ordering • Ex: Coding has to precede testing • Ex: UI design precedes UI implementation • Discretionary Dependencies • “Soft logic” dependencies • Determined by the project management team • Process-driven • Ex: Discretionary order of creating certain modules
4 Task Dependency Types • External Dependencies • Outside of the project itself • Ex: Release of 3rd party product; contract signoff • Ex: stakeholders, suppliers, Y2K, year end • Resource Dependencies • Two task rely on the same resource • Ex: You have only one DBA but multiple DB tasks
Task Dependency Relationships • Finish-to-Start (FS) • B cannot start till A finishes • A: Construct fence; B: Paint Fence • Start-to-Start (SS) • B cannot start till A starts • A: Pour foundation; B: Level concrete • Finish-to-Finish (FF) • B cannot finish till A finishes • A: Add wiring; B: Inspect electrical • Start-to-Finish (SF) • B cannot finish till A starts (rare)
PERT • 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 • Uses an “expected value” (or weighted average) to determine durations • Use the following methods to calculate the expected durations, then use as input to your network diagram
PERT • Start with 3 estimates • Optimistic • Would likely occur 1 time in 20 • Most likely • Modal value of the distribution • Pessimistic • Would be exceeded only one time in 20
PERT Formula • Combined to estimate a task duration
PERT Formula • Confidence Interval can be determined • Based on a standard deviation of the expected time • Using a bell curve (normal distribution) • For the whole critical path use
PERT Example • Confidence interval for P2 is 4 times wider than P1 for a given probability • Ex: 68% probability of 9.7 to 11.7 days (P1) vs. 9.5-13.5 days (P2)
PERT • Advantages • Accounts for uncertainty • Disadvantages • Time and labor intensive • Assumption of unlimited resources is big issue • Lack of functional ownership of estimates • Mostly only used on large, complex project • Get PERT software to calculate it for you