1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for

Download 1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for

Post on 01-Jan-2016

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • *

    Chapter 23Estimation for Software Projects

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Software Project PlanningThe overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project.

    Why?

    So the end result gets done on time, with quality!

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Project Planning Task Set-IEstablish project scopeDetermine feasibilityAnalyze risks Risk analysis is considered in detail in Chapter 25.Define required resourcesDetermine require human resourcesDefine reusable software resourcesIdentify environmental resources

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Project Planning Task Set-IIEstimate cost and effortDecompose the problemDevelop two or more estimates using size, function points, process tasks or use-casesReconcile the estimatesDevelop a project scheduleScheduling is considered in detail in Chapter 24.Establish a meaningful task setDefine a task networkUse scheduling tools to develop a timeline chartDefine schedule tracking mechanisms

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *EstimationEstimation of resources, cost, and schedule for a software engineering effort requires experienceaccess to good historical information (metricsthe courage to commit to quantitative predictions when qualitative information is all that existsEstimation carries inherent risk and this risk leads to uncertainty

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Write it Down!SoftwareProjectPlanProject ScopeEstimatesRisksScheduleControl strategy

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *To Understand Scope ...Understand the customers needsunderstand the business contextunderstand the project boundariesunderstand the customers motivationunderstand the likely paths for changeunderstand that ...Even when you understand,nothing is guaranteed!

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *What is Scope?Software scope describes the functions and features that are to be delivered to end-usersthe data that are input and outputthe content that is presented to users as a consequence of using the software the performance, constraints, interfaces, and reliability that bound the system. Scope is defined using one of two techniques:A narrative description of software scope is developed after communication with all stakeholders.A set of use-cases is developed by end-users.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Resources

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Project EstimationProject scope must be understoodElaboration (decomposition) is necessaryHistorical metrics are very helpfulAt least two different techniques should be usedUncertainty is inherent in the process

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Estimation TechniquesPast (similar) project experienceConventional estimation techniques task breakdown and effort estimates size (e.g., FP) estimatesEmpirical modelsAutomated tools

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Estimation AccuracyPredicated on the degree to which the planner has properly estimated the size of the product to be built the ability to translate the size estimate into human effort, calendar time, and dollars (a function of the availability of reliable software metrics from past projects)the degree to which the project plan reflects the abilities of the software teamthe stability of product requirements and the environment that supports the software engineering effort.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Functional Decompositionfunctional decompositionStatementofScopePerform a Grammatical parse

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Conventional Methods:LOC/FP Approachcompute LOC/FP using estimates of information domain valuesuse historical data to build estimates for the project

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Example: LOC ApproachAverage productivity for systems of this type = 620 LOC/pm. Burdened labor rate =$8000 per month, the cost per line of code is approximately $13. Based on the LOC estimate and the historical productivity data, the total estimated project cost is $431,000 and the estimated effort is 54 person-months.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Example: FP ApproachThe estimated number of FP is derived:FPestimated = count-total 3 [0.65 + 0.01 3 S (Fi)]FPestimated = 375organizational average productivity = 6.5 FP/pm. burdened labor rate = $8000 per month, the cost per FP is approximately $1230. Based on the FP estimate and the historical productivity data, the total estimated project cost is $461,000 and the estimated effort is 58 person-months.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Process-Based EstimationObtained from process frameworkapplicationfunctionsframework activitiesEffort required to accomplisheach framework activity for each application function

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Estimation with Use-CasesUsing 620 LOC/pm as the average productivity for systems of this type and a burdened labor rate of $8000 per month, the cost per line of code is approximately $13. Based on the use-case estimate and the historical productivity data, the total estimated project cost is $552,000 and the estimated effort is 68 person-months.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *Empirical Estimation ModelsGeneral form:effort = tuning coefficient * sizeexponentusually derivedas person-monthsof effort requiredeither a constant ora number derived based on complexity of projectusually LOC butmay also befunction pointempiricallyderived

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001, 2005

  • *COCOMO-II COCOMO II is actually a hierarchy of estimation models that address the following areas:Application composition model. Used during the early stages of software engineering, when prototyping of user interfaces, consideration of software and system interaction, assessment of performance, and evaluation of technology maturity are paramount.Early design stage model. Used once requirements have been stabilized and basic software architecture has been established.Post-architecture-stage model. Used during the construction of the software.

    These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc.,

Recommended

View more >