2Verzuh’s Overview of Project Planning Step 1: Develop WBSStep 2: Sequence the tasksStep 3: Estimate the tasks to get a duration (work packages)Step 4: Calculate an initial scheduleStep 5: Assign resources and iterateStep 6: Develop budget
3Network Diagram for a Software Project DesignDocumentRequire-mentsCodeTestPlanFinishStartMilestoneMilestoneA sequence constraint: the Requirements task must be complete before the Test Plan task can startProductTestTestDriversTest Plan and Design are potentially concurrent tasks
4Sequence the Tasks Using a Network Diagram A network diagram shows the order in which tasks are to be performedTwo network diagrams for the same tasks (from Verzuh p. 155)Why is the second diagram inconsistent with the Predecessor Table?”
5Guidelines for Creating a Network Diagram Seek maximum concurrency in the network diagram for scheduling flexibilityDefine task relationships only between tasksSummary tasks are groups of tasks, and each task can have different sequence constraintsIf a task has no predecessor task, it can start at any point in the project, as long as it is meets its finish dateTask relationships should only reflect sequence constraints, not resource constraintsWe may want to perform “what if” analysis on the network diagram with different staffing optionsResource constraints can be imposed later before building an initial schedule
6Network Diagram with Calculated Durations Task Duration = Time from task start until task completionDesign4 mo.Document2 mo.Require-ments3 mo.Duration(4,7)(8,9)(0,3)Code4 mo.TestPlan2 mo.FinishStart(Start, Finish month)(4,5)(8,11)(15,15)(0,0)ProductTest4 mo.Key assumptions:task durations and sequence constraints are knownTestDrivers3 mo.(6,8)(12,15)
7Network Diagram with Slack Time Some tasks have flexibility in when they can be performedDesign4 mo.Document2 mo.Require-ments3 mo.Slack time = 6 months(4,7)(8,9)(0,3)Code4 mo.TestPlan2 mo.FinishStart(Start, Finish month)(4,5)(8,11)(15,15)(0,0)ProductTest4 mo.TestDrivers3 mo.Test Drivers could be started as much as 3 months after Test Plan is completed (the slack time)Slack time = 3 months(6,8)(12,15)
8Using Slack TimeIf 2 persons could do the Test Drivers in 3 months, how many people are needed to complete them before Product Test starts?Design4 mo.Document2 mo.Require-ments3 mo.Slack time = 6 months(4,7)(8,9)(0,3)Code4 mo.TestPlan2 mo.FinishStart(Start, Finish month)(4,5)(8,11)(15,15)(0,0)ProductTest4 mo.If the 2 people were not available when the Test Plan was completed, how late could they start without delaying the project?TestDrivers3 mo.Slack time = 3 months(6,8)(12,15)
9How Do We Get the Duration Values? Option 1: Pick “reasonable” duration values for each task and let Project calculate the completion date Issue: does the project finish at a date acceptable to the stakeholders?Option 2: Pick the promised project finish date and work backwards, picking task durations compatible with the finish date Issue: can the development team meet the task durations?Option 3: calculate the labor estimate (the work) for the task Work = (number of people) * (length of time on the task) and then calculate the duration as a f(staff size)Assumption: we have many options of who works on the task and for how long, but the work content of the task is fixed.
10Network Diagram Showing Critical Path Design4 mo.Document2 mo.Require-ments3 mo.Duration(4,7)Slack time = 6 months(8 ,9)(0,3)Slack time = 3 monthsCode4 mo.TestPlan2 mo.FinishStart(Start, Finish month)(4,5)(8,11)(15,15)(0,0)ProductTest4 mo.TestDrivers3 mo.Critical Path is a path in the network diagram with no slack timeSlack time = 3 months(6,8)(12,15)
11Critical Path Analysis Helps Answer These Scheduling Questions What is the latest time we can start a task without impacting the project finish date?What tasks, if delayed, will result in a delay to the project completion date?What tasks must be shortened if the project is to be shortened?
12Characteristics of the Critical Path The critical path specifies the minimum length of the project, giventhe durations of the tasks on the critical paththe constraints in the network diagramIf any task on the critical path is delayed, the finish date of the project will be delayedThe ways to shorten the project are:to reduce the duration of some of the tasks on the critical path (add more people?)to find more parallelism among the tasks (reduce the constraints in the network diagram)
13Creating a Plan for an EDL Phase Start with list of a phase’s additional functions as prioritized by the stakeholdersThe key question is: what functionality can be delivered with high certainty in the phase length ( days)? DO UNTIL all tasks can be done within the phase lengthDetermine the dependencies among tasks for the phaseSeek maximum parallelism among the tasksEstimate the resources required for each taskRecalculate task durationsIf length of critical path > phase lengthTHEN remove tasks for implementing lower-priority functionsEND DO
14Summary of the Steps in Creating the WBS Enumerate all the deliverables to stakeholders external to the project teamSpecify the stakeholders who are expected to “accept” the external deliverablesDevelop a Level 1 “deliverable-oriented” WBS for the project based upon the external deliverablesInclude at Level 1 the jobs that are essential to producing multiple deliverables , such as:Requirements definitionArchitectural designInclude at Level 1 the functions that occur throughout the projectProject managementQuality assurance
15Summary of the Steps in Creating the WBS, Part 2 Insert at Level 1 the external milestones by which the accepting stakeholders can track progress towards completing the deliverablesWrite a one or two sentence completion criterion (in Notes field) for each external milestonesExternal milestones (including deliverable completion milestones) must be included with:Average interval on a > 6 month project: one per monthAverage interval on a 3 month project: one every two weeksDetail each Level 1 summary task into Level 2 informationInsert the internal milestones into the WBSDevelop the lower-level decomposition as required to achieve the required detail (based upon task size)
16Why Not Build an Activity-Oriented Work Breakdown Structure? Develop and Install Fashionland System Nationwide1.0 project management2.0 quality assurance3.0 requirements definition4.0 software design4.1 design of user system interface4.2 design of POS system5.0 code and unit test6.0 software integration7.0 document and install8.0 conduct store and headquarters training
18Activity Versus Deliverable-oriented WBS? Either WBS approach can represent the projectA deliverable-oriented WBS focuses attention on what must be produced, an activity-oriented WBS focuses attention on what is being doneA deliverable-oriented WBS facilitates tracking the work completed on your projectA deliverable-oriented WBS is more understandable to higher-level managementA deliverable-oriented WBS enables cost estimating and cost reporting by deliverableSee article: “Making Software Development More Controllable” in the web site Readings area