DOC PREVIEW
UCF EEL 6883 - Software Cost and Schedule Estimation

This preview shows page 1-2-22-23 out of 23 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Software Cost and Schedule Estimation [and Tracking] By: Richard D. StutzkeDiscussion TopicsIntroductionCreating an Estimate…Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Scheduling TasksSlide 13Costing TasksPutting The Estimate TogetherImproving Estimation AccuracyTracking ExpendituresTracking and UpdatingManaging Estimates During ExecutionCaveats to Using Additional ResourcesCAIV and SAIVConclusionQuestionsSoftware Cost and Schedule Estimation [and Tracking]By: Richard D. StutzkePresenter: Stephen Lopez-CoutoDiscussion TopicsIntroductionCreating an EstimateIdentificationSizeProductivityParametric ModelsRisksSchedulingCostingPutting the Estimate Together“Good Ideas” for Improving EstimatesTracking ExecutionManaging Estimate ChangesConclusionIntroductionThe main purpose of the paper is to present approaches for deriving an estimate of the cost and schedule of a software projectDiscusses methods to track and alter the estimates as development progressesDiscusses ways to get a project back on track after changes have been made to a scheduleCreating an Estimate…EstimatesGenerally focus on labor hours, quantity of materials and amount of services, not the costThis is computed laterRequires determining the work required to meet requirements and the effort required to perform that workCreating an Estimate…Step 1: Identify the tasksThey fall under four main categories:1. Engineering2. Program Management3. Configuration Management4. Quality AssuranceTasks are recorded in a Work Breakdown Structure (WBS)Hierarchically identifies all tasks in a projectEach successive layer should be more descriptive than its parentFor a software project, the lowest level should be detailed enough to show class namesThis is not always possible, or even necessaryCreating an Estimate…Step 2: Estimate the resources required per taskThere are many types of resources (that are often billed differently)Materials Subcontracted ItemsTravelLabor (the biggest one)The focus of the paper is mainly applied to estimating labor based on the engineering (development) effortsCreating an Estimate…Step 3a: Estimating the Software Development EffortBasic MethodE = S/P (Estimate = Size/Productivity)The hard part is determining the size and productivity variablesEstimating Size – three main factors1. Units of measure2. Software included in the measurement3. Amount of reused codeReused code is generally counted differently than newly written codeMust track code Added, Changed and Deleted from the reused codeCreating an Estimate…Step 3a Continued… Estimating Productivity – An aggregate of the capabilities of the development teamOften based on historical project dataNew project must use the same size measure and must be implemented with equivalent approaches - same programming language, platform, etc. There are a lot of variables that are difficult to quantify that play a role in this estimateDiseconomy of scale – project size and productivity are inversely relatedCreating an Estimate…Step 3b: Estimating the Software Development EffortParametric Estimation MethodsSome algorithm is used to determine the estimation based on some set of independent inputsAlgorithm and Inputs must be created by an expert estimator and tested to fit legacy dataBased on theory, experience and expert judgmentsAlgorithms can change between evaluations for the different lifecycle phases or componentsRA, design, test, etc.Creating an Estimate…Step 3b: Parametric Estimation Methods…ContinuedAllocations can be automatically made against WBS items to provide schedule detail along with costPerformance:Validation and calibration of the method is very importantModels calibrated against general industry data usually provide estimates within 20% of the actualsModels calibrated with an organization’s own historical data provide estimates within 5% of the actualsThese models ONLY provide an estimate of the SW development activities, not the other tasks and items that form a complete estimateCreating an Estimate…Step 4: Estimating RisksRisks are areas that are identified as possible causes of problems in the futureSeverity is determined by two variablesLikeliness of occurrenceImpact if it occursGenerally a label of High, Medium or Low is applied to the risk based on those variablesMain Risk areas are: Cost, Schedule, Technical and BusinessDuring estimation creation a lot of the system risks should become apparentAdditional effort should be added to the proposal to track and handle these risksOften taken care of with “Management Reserve”Scheduling TasksWhen all of the tasks are identified and decomposed a schedule must be createdGenerally based on the WBS (if it goes down to the appropriate level)May also be based on outputs of detailed designThere are often multiple related schedules created with each representing a greater level of detailHighest level shows major milestonesA milestone is an event that will occur at a specified dateLowest level shows individual tasks creation of specific classesScheduling TasksDependency checking is important when creating a scheduleSome tasks have prerequisites that must complete before they can beginOthers are completely independentWhich means they can be worked in parallelCreating a Schedule does four main things1. Sequences tasks Requires analyzing dependencies2. Assigns resources to tasksNot specific people, but notional resources3. Calculates the length of the tasksCritical Path is the length of time for the longest path through the schedule. This is the program time to complete.4. Compares interim milestones with those from the master scheduleIt is important to ensure that the schedule begins and ends cleanly, with no dangling tasksCosting TasksConverts the effort calculated previously into actual dollar amountsMust take into account the classification of each person working on the tasksJr. Engineer, Lead Engineer, Program Manager, etc. Each of these roles are costed at different base amountsSo two Jr. Engineers may make different amounts of money, but the customer is charged a single “Jr. Engineer” rateWork is charged based on a loaded labor rateThis rate (generally per hour) includes not only


View Full Document

UCF EEL 6883 - Software Cost and Schedule Estimation

Download Software Cost and Schedule Estimation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Cost and Schedule Estimation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Cost and Schedule Estimation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?