Unformatted text preview:

1MSWE 609 1Cost Estimation Strategies• Algorithmic models (Rayleigh curve Cost in week t = K a t exp(-a t2)• Expert judgment (9 step model presented later)• Analogy (Use similar systems)• Parkinson (Work expands to fill the available budget)*• Price-to-win (A political or economic decision)*• Top Down (Use global properties of software)• Bottom Up (Estimate each component)* - Not based on any technical foundationMSWE 609 2COST ESTIMATION GUIDELINES• These guidelines are by Donald J. Reifer• Based upon work by J. D. Aron, “Estimating resources for largeprogramming systems,” Software Engineering: Concepts andTechniques, Litton Educational Services, 1976.• Applicable to projects over 10,000 lines and staff of 10.• Defined by 9 step process.• Although developed in 1970s, most rules still applicable2MSWE 609 3Step 1: Define work elementDevelop work breakdown structure (WBS)• What activities are within scope of this work element?• What programs are included within this element?• What are documentation requirements?• What are operational support requirements?• How volatile are requirements?• Do I understand the nature of job to estimate these?• Do I need help and where can I get it?MSWE 609 4Typical WBS tasksTypical activities:• Software systems engineering (requirements analysis, interfaceanalysis)• Software development (Software life cycle- requirements, architecturaldesign, procedural design, code, unit test, integration test, technicalreviews, training; COTS -Requirements, package evaluation,acquisition, installation)• Software test and evaluation (development test, acceptance test, testbed and tool support, test data management, test reviews)• Management (project management, administrative support,management tools, management reviews, management training)• Product assurance (configuration management, Library operations,interface control, data management, quality assurance, quality control)• Operations and support (maintenance, support management, test andoperational support)3MSWE 609 5Step 2: Determine software sizeMethods from last time:– Top-down estimating– Similarities and differences estimating– Ratio estimating– Standards estimating– Bottom-up estimatingMore about size measures next weekMSWE 609 6Step 3: Assess difficultyDifficulty Category Characteristics ExamplesEasy• Few interactions with othersystem elements• Simple algorithm• Previous experience• Data-driven architecture• Payroll systems• Report generationsystems• Hardware diagnosticsMedium• Some interactions• Suitable algorithms exist• Have previous experience inapplication• New machine or language• Numerical analysis• Production control• Managementinformation systemHard• Many interactions• Algorithms are new• Requirements are volatile• Limited experience inapplication• Message-driven architecture• On-line systems• Real-time software• Systems software• Message switchingsystems4MSWE 609 7Step 4: Define risk and its impactRisk item Risk reduction Cost impactLate delivery of hardware Acquire time on anothersystemComputer time costsNew operating system Benchmark early andperform acceptance testbefore useStaffing to preparebenchmarkFeasibility of requirements Feasibility analysis andsimulationStaffing to conductanalysisStaffing up Start recruiting and trainingearlyRecruiting and trainingcostsFeasibility of design Peer reviews Added effort for reviewpreparationLack of managementvisibilityUse detailed workpackaging and weeklyreportingAdded effort to prepareinputs for reportsConfiguration integrity ofsoftware productsUse formal change controlsystemPurchase price oflibrary plusadministrative costsLack of a test discipline Use independent testgroup and get theminvolved earlyCost of using testgroupMSWE 609 8Additional risk factorsFrom Capers Jones:1. Inaccurate metrics2. Inadequate measurement3. Excessive schedule pressure4. Inaccurate cost estimating5. Management malpractice(e.g., knowledge)6. Silver bullet syndrome (willsave the project)7. Creeping user requirements8. Low quality9. Low productivity10. Cancelled projectsFrom Barry Boehm:1. Personnel shortfalls2. Unrealistic schedules and budgets3. Wrong functionality4. Wrong user interface5. Gold plating6. Continuous requirements changes7. Shortfalls in externally suppliedcomponents8. Shortfalls in externally providedtasks9. Real time performance constraints10. Straining computer sciencetechnology5MSWE 609 9Risk: Some risk is subjectiveYou can win between 0 and $10001. Spin a dial containing the numbers1 through 10.Choose A or B:A: If 1—9 show up, you getnothing; if 10 shows up youget $1000.B: Win $100 for doing nothingMost people choose B as “foundmoney.” (E.g., in MSWE607 class 31out of 46 chose this option.) It didn’tmatter that they had the potential forwinning $1000.You can lose between 0 and $10002. Spin a dial containing the numbers1 through 10.Choose A or B:A: If 1—9 show up, you paynothing; if 10 shows up youpay $1000.B: Pay $100 for doing nothingMost people chose A, even thoughthey risked losing $1000 (e.g., only16 out of 46 in MSWE 607 chosepaying $100).But both experiments were the same. Each had an expected value (averagegain or loss) of $100. Yet on the chances of losing money, people weremore willing to gamble than if they were guaranteed a win.Expected value = Prob(success)*Payoff(success) + Prob(failure)*Payoff(failure)MSWE 609 10Risk: Utility functionsGiven two choices with different payoffs, what amount should you receiveso that you are indifferent as to which choice to choose? For example,in the previous example:Spin a dial containing the numbers 1 through 10.Choose A or B:A: If 1—9 show up, you get nothing; if 10 shows up you get $1000.B: Win $x for doing nothing$100 is the expected value of the payoff.What is the value of x so that you are indifferent to choice A and B?• If you “take risks,” then you will choose A for fairly high values of B.Only if B is extremely high will you choose B. For $100 you wouldrather choose A.• If you are “risk adverse”, you will choose the “sure thing.” In this case,you will choose B even for low values of x less than $100.Everyone has a breakeven point. This gives a model where we canmeasure the value of this risk.6MSWE 609 11Step 5: Estimate personnel resources• Cost = Size * Dollars/Line (Caveat: salaries are 1976)• If reused software: Cost = size(new) *


View Full Document

UMD MSWE 609 - Cost Estimation Strategies

Download Cost Estimation Strategies
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 Cost Estimation Strategies 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 Cost Estimation Strategies 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?