SW Project Management Project Schedule and Budget INFO 420 Glenn Booker INFO 420 Chapter 7
Grand finale Developing the project schedule and budget is the grand finale of the project planning process – our ultimate goal We just defined the tasks and estimated their duration (effort) Now identify the sequence of tasks, interdependencies, and staffing needs INFO 420 Chapter 7
Project cost management The budget is determined from the project schedule, the cost assigned to tasks, and other indirect costs or resources Project cost management includes Cost estimating for tasks and their resources Cost budgeting for the whole project Cost control – define processes INFO 420 Chapter 7
Rolling up costs Since our tasks were organized into phases and deliverables, we can roll up (summarize) costs to any level desired Cost per deliverable Cost per phase Cost of the whole project The sponsor needs to approve these costs INFO 420 Chapter 7
Developing project schedule A key sanity check is that each of the estimates for each task is really reasonable according to the experts in that activity GIGO applies here, not just to programming! INFO 420 Chapter 7
Project schedule tools Tools to show a project schedule include Gantt chart Project network diagram Activity On the Node (AON) diagram Critical path analysis PERT charts Precedence diagramming method (PDM) Critical chain project management (CCPM) INFO 420 Chapter 7
Gantt chart The Gantt chart is probably the most widely used project management tool Time is the X axis, from days to years The current date is readily visible Tasks are on the Y axis Bars represent WBS tasks Milestones are diamond shapes An inset bar can show actual work progress INFO 420 Chapter 7
Basic Gantt chart INFO 420 Chapter 7
Project network diagram Project network diagrams are also based on the WBS, but also show more info on task sequence or dependencies Many also show when tasks must start or stop in order not to affect project completion date This can help decide resource assignments needed for critical tasks INFO 420 Chapter 7
Activity On the Node Activity On the Node (AON) diagrams represent the flow of tasks needed to complete the project Tasks are nodes (boxes) Arrows show the order in which they occur The duration of tasks isn’t directly visible under AON, only time order INFO 420 Chapter 7
Activity On the Node Tasks can be predecessors, successors, or in parallel Predecessor tasks must occur before another task Successor tasks must occur after another task Parallel tasks may occur at the same time as another task INFO 420 Chapter 7
Critical path analysis Given an AON, critical path analysis determines which activities are directly connected to achieving the project schedule They are the critical path, which can change Analytically, find the duration of each path through the AON diagram INFO 420 Chapter 7
Critical path analysis The path with the longest duration is the critical path (and the project duration) If any tasks on the critical path are delayed, the overall project completion will be delayed Tasks not on the critical path may have a non-zero amount of slack or float, which is the amount of duration they can slip without affecting the project INFO 420 Chapter 7
Critical path analysis A manager might add resources to tasks on the critical path, if that will actually help finish them sooner This technique can be called expediting or crashing the project Fast tracking the project is done by making tasks parallel that weren’t INFO 420 Chapter 7
PERT charts PERT is the program evaluation and review technique, developed in the 50’s Often seen with CPM, or critical path method A PERT chart also uses the AON graphic notation, but uses a different approach for estimation INFO 420 Chapter 7
Styles of PERT nodes INFO 420 Chapter 7
PERT charts For each task, estimate the lowest (optimistic), most likely, and highest (pessimistic) durations, then use estimate = (low + high + 4*likely)/6 The critical path analysis can be done based on these estimates INFO 420 Chapter 7
Precedence diagramming method The precedence diagramming method (PDM) adds to AON by showing the key sequence relationships Finish to start (most common, sequential) Start to start Finish to finish Start to finish INFO 420 Chapter 7
PDM node relationships From Fig. 7.5 INFO 420 Chapter 7
PDM PDM can also show lead and lag times for activities Lead time is an amount of time a task can start before the end of its predecessor Lag time is the amount of time a task must start after the end of its predecessor Hence lag time = negative lead time INFO 420 Chapter 7
Critical chain project management Critical chain project management (CCPM) is a newcomer (Goldratt, 1997) It assumes that all estimates are inflated We still finish projects late because We wait until the last minute (student syndrome) Projects fill the time available (Parkinson’s law) Resource contention INFO 420 Chapter 7
CCPM CCPM takes that buffer from each task, and puts in in larger blocks where needed How? Estimate tasks so that you only have a 50% chance of completing them on time Then take half of the difference in task time, and put that into a buffer at the end of the project INFO 420 Chapter 7
CCPM Yes, you have to estimate each task twice Once normally, and once for 50% chance completion CCPM also accounts for resource limits, by identifying the resources for each task and buffers for each type of resource INFO 420 Chapter 7
PM software tools There are several project management software tools for developing and managing schedules Microsoft Project is the de facto standard Planner and OpenWorkBench are open source tools Ok, so Project doesn’t have much competition… INFO 420 Chapter 7
PM software tools Often projects are planned in detail only a few months in the future, a rolling wave approach There’s an outline of the rest of the project, particularly for planning long lead time items INFO 420 Chapter 7
Project budget The budget is straightforward to develop, once the schedule has been determined Determine the type of resource(s) needed for each task, and how many of them are needed for its duration (0.1, 2.5, whatever) Find the cost of each resource type ($/hr), and multiply that by how many and the duration = cost per task INFO 420 Chapter 7
Project budget Check for overuse of resources – often not recommended to use 155% of a person’s time To find the cost of each resource*, assess their typical annual salary**, divide by 2000 (hours per work year), and multiply by 2.5 (to account for overhead expenses) * This is a heuristic. ** You could look for salary surveys. INFO 420 Chapter 7
Project budget So if a software engineer averages $60k/year, their hourly rate is about $30/hr Actually, a normal work year is 40*52 = 2080 hours, but we’re just getting a rough estimate Multiply by 2.5 to get a labor rate of $75/hr This is the ‘true cost’ in the text INFO 420 Chapter 7
Other costs Labor is the biggest cost on most projects, but other costs should be considered Indirect costs – are admin assistants, facilities, insurance, etc. paid by the project, or from overhead? Sunk costs – from previous bad projects Learning curve – might be covered by prototypes INFO 420 Chapter 7
Other costs Reserves – most projects keep back a 10-15% reserve from the total actual budget, in anticipation of some cost overruns Project-specific hardware and software – plan for infrastructure costs (servers, network equipment, software) which aren’t part of normal office & facility environment Travel, e.g. to the customer? INFO 420 Chapter 7
Resource allocation Again, make sure that individuals aren’t scheduled for over 100% of their time Also consider resource leveling Are there times when people are needed, then not, then needed again? What will those people do in the middle? INFO 420 Chapter 7
Baseline plan Once all these issues have been identified and agreed upon, you have the baseline project schedule, which feeds the project plan All measurements of ‘planned versus actuals’ hinge upon this plan! INFO 420 Chapter 7