Software Project Management Task Estimating and Scheduling Sequencing to Estimating/Scheduling Gantt Charts Resource Management
Activity Duration Estimating After defining activities and determining sequence, the next steps are estimating and mapping to a calendar “Bottom-up” Estimating Estimate each activity individually and sum as you go Some folks add an “overhead” fudge factor Scheduling Map tasks onto fixed points in time Typically represented using Gantt Charts Course Technology, 1999
Bottom-up Estimating How do you construct per task estimates? Weighted average formula: optimistic time + 4X most likely time + pessimistic time 6 Example: Suppose you had a task you estimate at 10 days, but have some risk associated with it? Weighted Calculation: 8 workdays + 4 X 10 workdays + 24 workdays = 12 days where 8 = optimistic time, 10 = most likely time, 24 = pessimistic time When constructing your schedule, consider the risk factor associated with the worst case! Course Technology, 1999
PERT Example Revisited The dates as shown here are the result of some probabilistic estimate For example, Task 4 with a 6 day estimate may have had best, expected, worst estimates of 1, 7, 8
Gantt Charts Gantt charts Symbols include: Provide a standard format for displaying project schedule information Lists project activities and their corresponding start and finish dates in a calendar format Start with your WBS and refine Symbols include: A black diamond: milestones or significant events on a project with zero duration Thick black bars: summary tasks Lighter horizontal bars: tasks Arrows: dependencies between tasks Course Technology, 1999
Sample Tracking Gantt Chart white diamond: slipped milestone two bars: planned and actual times The actual color and pattern may vary by tool Course Technology, 1999
Schedule “Slack” Slack - flexibility in your schedule Free slack or free float is the amount of time an activity can be delayed without delaying the early start of any immediately following activities Total slack or total float is the amount of time an activity may be delayed from its early start without delaying the planned project finish date Formula 1: The buffer in your plan can be computed as the total calendar time minus the critical path duration Formula 2: The buffer can be calculated as the latest date by which you can start minus the earliest date on the calendar you can start CONTENT BLOCKED Due to copyright infringement. Slack time = available time - real time Slack = latest start time - earliest start time
Example Free and Total Float or Slack for Project X Course Technology, 1999
Computing Early and Late Times Forward Pass: 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: 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
Example: Compute ES, EF, LS, LF
Example: Solution
Scheduling Make Schedule Trade-offs Knowing the critical path helps you make trade-offs Consider all inputs to your schedule Estimates - You cannot violate the constraints of the PERT Change dependencies (F-S, S-S, etc.) Change estimates once given Resourcing Outsourcing Other constrained resources So what tradeoffs? Remember the diamond!!! Scope - can you reduce what you have to deliver (& therefore do?) Quality - skimping on quality implies you can work “faster” Time - can you extend the due date and open up slack? Cost - can you invest in more resources? Time Quality Cost Expectations Scope
Project Schedule Shortfalls If a project is falling behind, think of the “levers” you can pull: Add more time Add more people - Beware the “Mythical Man Month”! Revise expectations Address the critical path! Techniques: Shortening durations of critical tasks for adding more resources or changing their scope Crashing tasks by obtaining the greatest amount of schedule compression for the least incremental cost Fast tracking tasks by doing them in parallel or overlapping them - implies modifying dependencies Course Technology, 1999
Shortening Project Schedules Original schedule Shortened duration Overlapped tasks Course Technology, 1999
Project Resource Organization Depends on backgrounds & work styles of team members Extroverts: tell their thoughts Introverts: ask for suggestions Intuitives: base decisions on feelings Rationals: base decisions on facts, options Resource Staffing Mapping skill types to functional needs and support Sophisticated models understand skill level, experience Responsibility Assignment Matrix (RAM) and/or Skills Matrix (SM) RAM A resource planning tool Who does What Can be for both planning and tracking Identify authority, accountability, responsibility Who: can be individual, team or department Can have totals/summary at end of row/column CONTENT BLOCKED Due to copyright infringement. SM Another resource planning tool Resources on one axis, skills on other Skills can high level or very specific Cells can be X’s or numeric
RAM Examples Simple RAM Skills Matrix (SM) RAM with stakeholder
Resource Plan – Staffing Levels Resource Staffing Levels: Looks kinda like your EVA eh? GANTT Chart View: per person, per task Matrix View: Name DEP Proj1 Proj2 Proj3 Proj4 Proj5 0% 50% Joe Eng Sue Bob ? 25% 75% 100%? Bill 100% Row Ops Julie Cindy 33% Tim Barry Miles 67% Paula Peter 133% Total 200% 83%? 83% 91% 108% 700%
Issues and Summary WBS - Project and Task Scope Task Activity Networks, Precedence Charts, PERT Task dependencies and duration estimates Scheduling, Gantt - Map to “real-time” Considers all constraints on the project May have slack to reduce risk (but at what cost?) Resource Planning Pick your model (RAM or SM), pick your view Track – living document throughout your project! Issues Granularity Resilience to change Too much work when it falls out of date anyway?