Copyright © 1994 Carnegie Mellon University1Disciplined SoftwareEngineeringLecture #5 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Sponsored by the U.S. Department of DefenseCopyright © 1994 Carnegie Mellon University2Lecture #5 Overview - Resourceand Schedule Planning Resource and schedule planning overview The planning process Resource estimating Schedule estimating Earned value trackingCopyright © 1994 Carnegie Mellon University3Why Resource and Schedule PlansAre Needed Provides a business basis for doing the work•establishes the price•sets the schedule•permits agreement on the work Establishes a management framework•defines commitments•helps groups coordinate their work•allows status trackingCopyright © 1994 Carnegie Mellon University4Estimating Accuracy Planning is a skill that must be developed•the PSP helps to build planning skill•even simple plans are subject to error-unforeseen events-unexpected complications-just plain mistakes The best strategy is to plan in detail•identify the recognized tasks•estimate based on similar experience•make judgments on the restCopyright © 1994 Carnegie Mellon University5An Estimating Error Example When estimating in parts, the total error is lessthan the sum of the part errors•errors tend to balance•this assumes no common bias For a 1000 hour job•with estimating accuracy of + or - 50%•the total estimate is from 500 to 1500 hours In 25 parts, each with 50% error•the total would be 1000 hours as before•the estimate range is from 900 to 1100 hoursCopyright © 1994 Carnegie Mellon University6Combining Individual Errors In combining individual estimates•combine the estimated values•add the estimate variances With 25 estimates•each estimate averages 40 hours•the standard deviation is 50% or 20 hours•the variance for each is 400•the variances thus total 10,000•the combined standard deviation is the squareroot of the variance, or 100•the estimate range is thus 900 to 1100 hoursCopyright © 1994 Carnegie Mellon University7Size Planning Errors - 12 Students Program Number-100010020030040050012345678910Ma xClassMinCopyright © 1994 Carnegie Mellon University8Time Estimating Accuracy - 12StudentsProgram Number-100010020030040050012345678910ClassMa xMinCopyright © 1994 Carnegie Mellon University9The Planning ProcessDefineRequirementsProduceConceptualDesignEstimateSizeEstimateResourcesProduceScheduleDevelopProductSize, ResourceScheduleDataProcessAnalysisResourcesAvailableProductivityDatabaseSizeDatabaseProductDeliveryTrackingReportsCopyright © 1994 Carnegie Mellon University10Planning Development TimeObtain historical data Are there sufficientdata for a regressioncalculation? Calculate historicalproductivity in LOCper hour Calculate thehours required Calculate the shortest andlongest likely timesAre there sufficient estimate data for a regressioncalculation?Do the regression calculation on actualobject LOCand actual hours Calculate the timerequiredCalculate the predictioninterval Do the regression calculation on estimatedobject LOC and actual hours Calculate the timerequired Calculate the predictionintervals LOC Size Estimate No YesNo YesTime EstimateTime EstimateTime EstimateEstimatingChoice CEstimatingChoice BEstimatingChoice ACopyright © 1994 Carnegie Mellon University11The Resource Planning Process Start with a size estimate Identify available data Use regression when you have 3+ sets of datathat correlate. Use data for estimated LOC to actual hourswhere available. Calculate the prediction interval.Copyright © 1994 Carnegie Mellon University12Regression in Resource Planning The regression method for resource planning is identical to that used for size estimating. If multiple estimates are combined from thesame data•combine the parts, i.e, if 3 LOC estimates weremade, combine their object LOC as input toone resource estimate•do the same for the prediction intervalCopyright © 1994 Carnegie Mellon University13Example of Combining Resources Start with 3 estimates•A - 45 hours + or - 10•B - 18 hours + or - 5•C - 85 hours + or - 25 The combined estimate is•total = 45 + 18 + 85 = 148 hours•variance = 100 + 25 + 625 = 750•range = square root of variance = 27.4 hours•estimate is from 121 to 175 hoursCopyright © 1994 Carnegie Mellon University14Using Multiple Proxies If you have size/hour data for several proxies•estimate each as before•combine the total estimates and predictionintervals as just described Use multiple regression if•there is a correlation between developmenttime and each proxy•the proxies do not have separate size/hourdata•multiple regression is covered laterCopyright © 1994 Carnegie Mellon University15Resource Estimate Summary To make a resource estimate•start with a size estimate•use the PROBE method•use your historical size and hours data•use regression if you have sufficient data Calculate the prediction intervals•use the same method as with size estimates•use the size and hour dataCopyright © 1994 Carnegie Mellon University16Schedule Estimating To make a schedule you need three things•the estimated direct project hours•a calendar of available direct hours•the order in which the tasks will be done You then need to•estimate the hours needed for each task•spread these hours over the calendar ofavailable hoursCopyright © 1994 Carnegie Mellon University17Available Direct Hours Staffing schedule•new projects are not instantly staffed•you need a committed staffing plan Produce a calendar spread of available hours•at 52 weeks a year and 40 hour weeks - oneyear = 2080 hours•with 3 weeks vacation and 10 holidays, oneyear = 1880 hours (90%)•with 10% for meetings, 5% for mail, ... oneyear = 1000 to 1400 hours (50 to 65%)Copyright © 1994 Carnegie Mellon University18The Task Order The task order must be driven by thedevelopment strategy•you need a conceptual approach•each task needs completion criteria•must consider task interdependencies•also consider cost and cycle time priorities Determine planned task order•task order will change with new knowledge•the initial task order provides a basis forplanningCopyright © 1994 Carnegie Mellon University19Produce the Schedule Estimate the hours for each task•what portion of total hours have such taskshistorically taken?•will anything unusual affect this project?•to ensure tasks are not omitted, spread
View Full Document