Software Estimation Cocomo

51
Software Estimation Software Estimation CD CV1 CV2 FSD1 FSD2 IMP BPMP Phases and Milestones Relative Size Range Business Vision Life Cycle Objectives Life Cycle Architecture Initial Operating Capability x 0.5x 0.25x 4x 2x Early Design Applications Composition Post-architecture Estimation Models Dave Dave Srulowitz Srulowitz Mike Mike Bandor Bandor Vic Vic Helbling Helbling

Transcript of Software Estimation Cocomo

Page 1: Software Estimation Cocomo

Software EstimationSoftware Estimation

CD CV1 CV2 FSD1 FSD2 IMPBPMP Phases and Milestones

Relative Size

Range

Business Vision

Life Cycle Objectives

Life Cycle Architecture

Initial Operating Capability

x

0.5x

0.25x

4x

2xEarly Design

ApplicationsComposition

Post-architecture

Estimation Models

•• Dave Dave SrulowitzSrulowitz

•• Mike Mike BandorBandor

•• Vic Vic HelblingHelbling

Page 2: Software Estimation Cocomo

OverviewOverview

•• COCOMO COCOMO ---- the old stuffthe old stuff•• COCOMO IICOCOMO II•• DemonstrationDemonstration

Page 3: Software Estimation Cocomo

EstimationEstimation

•• Why do we need it?Why do we need it?•• Why is it so hard?Why is it so hard?•• What is important?What is important?

Page 4: Software Estimation Cocomo

COCOMO 1981COCOMO 1981

•• Mainframe focusedMainframe focused•• Government Application basedGovernment Application based•• Four attributesFour attributes•• 15 Cost drivers15 Cost drivers•• LOC orientationLOC orientation

Page 5: Software Estimation Cocomo

COCOMO ATTRIBUTESCOCOMO ATTRIBUTES

•• ProductProduct•• ComputerComputer•• PersonnelPersonnel•• ProjectProject

Page 6: Software Estimation Cocomo

Product AttributesProduct AttributesCost DriversCost Drivers•• Required Software ReliabilityRequired Software Reliability•• Data Base SizeData Base Size•• Software Product ComplexitySoftware Product Complexity

Page 7: Software Estimation Cocomo

Computer AttributesComputer AttributesCost DriversCost Drivers•• Execution Time ConstraintsExecution Time Constraints•• Main Storage ConstraintMain Storage Constraint•• Virtual Machine VolatilityVirtual Machine Volatility•• Computer Turnaround TimeComputer Turnaround Time

Page 8: Software Estimation Cocomo

Personnel AttributesPersonnel AttributesCost DriversCost Drivers

•• Analyst CapabilityAnalyst Capability•• Applications ExperienceApplications Experience•• Programmer CapabilityProgrammer Capability•• Virtual Machine ExperienceVirtual Machine Experience•• Language ExperienceLanguage Experience

Page 9: Software Estimation Cocomo

Project AttributesProject AttributesCost DriversCost Drivers

•• Modern Programming PracticesModern Programming Practices•• Use of Software ToolsUse of Software Tools•• Development Schedule Development Schedule

ConstraintsConstraints

Page 10: Software Estimation Cocomo

Other factorsOther factors

•• Size (S, I, M, L, VL)Size (S, I, M, L, VL)•• Mode Mode

–– OrganicOrganic–– SemidetachedSemidetached–– EmbeddedEmbedded

•• Annual Change TrafficAnnual Change Traffic•• Custom Cost DriversCustom Cost Drivers

–– SecuritySecurity–– Workday scheduleWorkday schedule

Page 11: Software Estimation Cocomo

Data Collection Data Collection FormForm

IMPLEMENTING THE

INTERMEDIATE COCOMO

MODEL

P&C Mainframe ApplicationsMaintenance

April 16, 2001

Page 12: Software Estimation Cocomo

Data Collection Data Collection ----an examplean example

VIRTUAL MACHINE EXPERIENCE (VEXP)

VEXP reflects the project team's equivalent duration of experience with the virtual machine to be used.

VERY LOW: 1.21 1 month average experienceLOW: 1.10 4 months average experienceNOMINAL: 1.00 1 year average experienceHIGH: 0.90 3 years average experience

Remember to document the rationale for your conclusions.

Documentation:

Page 13: Software Estimation Cocomo

The SpreadsheetThe Spreadsheet

•• NameName•• SizeSize•• ModeMode•• ACTACT•• MultipliersMultipliers•• EAF, MMNom, MMEAF, MMNom, MM--AM, WBSAM, WBS•• Sensitivity AnalysisSensitivity Analysis

Page 14: Software Estimation Cocomo

TransitionTransition

• Next…

• A discussion of the COCOMO II model

• Presented by Dave Srulowitz

Page 15: Software Estimation Cocomo

HistoryHistory

• What?

• Who?

• Why?

• When?

Page 16: Software Estimation Cocomo

What is the Need?What is the Need?

• Risk mitigation• Software-centric business community• Competitive advantage• New software processes• Benefits

Page 17: Software Estimation Cocomo

Why Update COCOMO 81?Why Update COCOMO 81?

• COCOMO 81 was mainframe & waterfallbased

• Poor fit for spiral, rapid prototyping, and COTS-employing production efforts

• Updated model aids in planning, analysis,and project control

Page 18: Software Estimation Cocomo

Estimation State of the PracticeEstimation State of the Practice

• While some commercial software estimationmodels continued to be considered “valueadded,” many were not

• A 1995 study showed that over 53% of thesoftware projects studied were overrun bymore than 50% in both budget and schedule

• Many problems resulted from model clashes

Page 19: Software Estimation Cocomo

Estimation State of the PracticeEstimation State of the Practice

• Model clashes involve incompatibilitiesamong the primary models being used todefine and manage the project

• These include product, process, property,and success models

Page 20: Software Estimation Cocomo

Software Overrun Case StudiesSoftware Overrun Case Studies

First;Last EstimateProject Cost ($M) Schedule Status at

(Months) Completion--------------------------------------------------------------PROMS ($ Collection) 12/21+ 22/46 Canx/Mo 28London Ambulance 1.5/6+ 7/17+ Canx/Mo 17London Stock Exchange 60-75/150 19/70 Canx/Mo 36Confirm (Travel Reservations)56/160+ 45/60+ Canx/Mo 48FAA Adv Automated Sys 3700/7000+ 48/96 Canx/Mo 70Master Net (Banking) 22/80+ 9/48+ Canx/Mo 48

Page 21: Software Estimation Cocomo

MBASE ApproachMBASE Approach

• USC Center for Software Engineeringdeveloped the Model-Based SystemArchitecting and Software Engineering(MBASE) approach

• Provides a consistent and mutually-supportive set of product, process, property,and success models

Page 22: Software Estimation Cocomo

MBASE/RUPMBASE/RUP

• Integrated the MBASE phases andmilestones with Rational’s Rational UnifiedProcess (RUP) and provided MBASE/RUPphase and activity distribution estimators

• One of the stakeholder objectives was toavoid a single process model, soWaterfall, MBASE/RUP, and incrementaldevelopment interpretations were developed

Page 23: Software Estimation Cocomo

COCOMO II VS COCOMO 81COCOMO II VS COCOMO 81

• 30% of COCOMO 81 was superseded• Basic & Intermediate models replaced• Old cost drivers updated• New cost drivers added• Maintenance model renewed• COTS and 4GL considered

Page 24: Software Estimation Cocomo

8 Major COCOMO II Uses8 Major COCOMO II Uses

• Software development approach• Budget decisions• Production trade-offs• IT capital planning• Investment options• Management decisions• Prioritizing projects• SPI strategy

Page 25: Software Estimation Cocomo

6 COCOMO II Model Objectives6 COCOMO II Model Objectives

• Accuracy• Customization• Model ease of use• Usefulness• Resource manager• Modifiability

Page 26: Software Estimation Cocomo

Development & Evolution StrategiesDevelopment & Evolution Strategies

• Proceed incrementally• Test the models and their concepts to gain

first-hand experience• Establish a COCOMO II Affiliates’ program• Provide an external and internal open model• Avoid unnecessary incompatibilities with

COCOMO 81

Page 27: Software Estimation Cocomo

Development & Evolution StrategiesDevelopment & Evolution Strategies

• Experiment with a number of model extensions

• Balance expert-determined and data-determined modeling

• Develop a sequence of increasingly accurate models

• Key the COCOMO II models to projectionsof future software life-cycle practices

Page 28: Software Estimation Cocomo

ThreeThree--Model SeriesModel Series

• Prototyping

• Architectural Alternatives

• Life cycle architectures

Page 29: Software Estimation Cocomo

29 COCOMO II Factors29 COCOMO II Factors

• Scale Factors* Precedentedness* Development Flexibility* Architecture/Risk Resolution* Team Cohesion* Process Maturity

Page 30: Software Estimation Cocomo

29 COCOMO II Factors29 COCOMO II Factors

• Product Factors* Required Software Reliability* Database Size* Product Complexity* Developed for Reusability* Documentation Match to Life-Cycle

Needs

Page 31: Software Estimation Cocomo

29 COCOMO II Factors29 COCOMO II Factors

• Platform Factors* Execution Time Constraint* Main Storage Constraint* Platform Volatility

Page 32: Software Estimation Cocomo

29 COCOMO II Factors29 COCOMO II Factors

• Personnel Factors* Analyst Capability* Programmer Capability* Personnel Continuity* Applications Experience* Platform Experience* Language and Tool Experience

Page 33: Software Estimation Cocomo

29 COCOMO II Factors29 COCOMO II Factors

• Project Factors* Use of Software Tools* Multisite Development* Required Development Cycle* Product Reliability and Complexity* Developed for Reusability* Platform Difficulty* Personnel Capability

Page 34: Software Estimation Cocomo

29 COCOMO II Factors29 COCOMO II Factors

• Project Factors (continued)* Personnel Experience* Facilities* Required Development Schedule

Page 35: Software Estimation Cocomo

SummarySummary

• COCOMO 1981• Mainframes and LOC• 15 attributes in 4 categories• WBS and sensitivity analysis

• COCOMO II• Communications tool• Based on mathematics• Complements new software processes

Page 36: Software Estimation Cocomo

TransitionTransition

• Next…

• A discussion and demonstration onCost Xpert, a tool that embodies theCOCOMO II model

• Presented by Mike Bandor

Page 37: Software Estimation Cocomo

Cost Xpert 3.0 DemoCost Xpert 3.0 Demo

Mike BandorMike BandorSoftware Quality Assurance EngineerSoftware Quality Assurance Engineer

Air Force Personnel CenterAir Force Personnel CenterRandolph Air Force BaseRandolph Air Force Base

Page 38: Software Estimation Cocomo

Background InfoBackground Info

•• DisclaimersDisclaimers–– USAF/DoDUSAF/DoD–– MarotzMarotz

•• Previous Experience with Cost XpertPrevious Experience with Cost Xpert–– Radar Evaluation Software (84th Radar Radar Evaluation Software (84th Radar

Evaluation Squadron, Hill AFB, UT)Evaluation Squadron, Hill AFB, UT)–– Academic (Software Professional Academic (Software Professional

Development Program Development Program -- AF Institute of AF Institute of Technology, WrightTechnology, Wright--Patterson AFB, OH)Patterson AFB, OH)

Page 39: Software Estimation Cocomo

Cost XpertCost Xpert

•• What is it?What is it?•• What languages does it support?What languages does it support?•• What metric methodologies does it support?What metric methodologies does it support?•• Which lifecycles are supported?Which lifecycles are supported?•• Which standards does it support?Which standards does it support?•• What can I do with it?What can I do with it?•• Demo (brief)Demo (brief)

Page 40: Software Estimation Cocomo

What Is it?What Is it?

•• Developed as an alternative to paper Developed as an alternative to paper forms and complicated spreadsheetsforms and complicated spreadsheets

•• Doesn’t require intimate knowledge of Doesn’t require intimate knowledge of the COCOMO modelsthe COCOMO models

•• Extremely flexible & customizableExtremely flexible & customizable•• Like a spreadsheet, can also be used for Like a spreadsheet, can also be used for

“what if” situations“what if” situations

Page 41: Software Estimation Cocomo

What is it? (cont)What is it? (cont)

•• Calibrated using over 20,000 software Calibrated using over 20,000 software projects including military, commercial, projects including military, commercial, & scientific& scientific

•• “Accurately predicts within ± 7%, given “Accurately predicts within ± 7%, given accurate inputs”accurate inputs”

•• “Compares within ± 2% to other “Compares within ± 2% to other commercial estimation tools costing commercial estimation tools costing $30K $30K -- $100K”$100K”

Page 42: Software Estimation Cocomo

Languages SupportedLanguages Supported

•• Currently 800 languages supported with Currently 800 languages supported with new additions being made during each new additions being made during each updateupdate

•• Also supports multiple language Also supports multiple language development (primary & secondary)development (primary & secondary)

Page 43: Software Estimation Cocomo

Metric Methodologies Metric Methodologies SupportedSupported

•• SLOCSLOC•• Function PointsFunction Points•• Internet Points Internet Points •• Domino PointsDomino Points•• UML Use Case UML Use Case

pointspoints•• UML Class MethodUML Class Method

•• MKMK--II Function II Function PointsPoints

•• Object MetricsObject Metrics•• GUI MetricsGUI Metrics•• Feature PointsFeature Points•• Bottom UpBottom Up•• Top DownTop Down

Page 44: Software Estimation Cocomo

Metric Methodologies Metric Methodologies (cont)(cont)

•• Also supportsAlso supports–– New developmentNew development–– ReuseReuse–– COTS integrationCOTS integration

Page 45: Software Estimation Cocomo

Lifecycles SupportedLifecycles Supported

•• Currently supports 38 predefined Currently supports 38 predefined lifecycles (RAD, Spiral, RUP, lifecycles (RAD, Spiral, RUP, embedded, military, etc.)embedded, military, etc.)

•• Can be tailored to fit your organizational Can be tailored to fit your organizational lifecycle (can create your own)lifecycle (can create your own)

Page 46: Software Estimation Cocomo

Standards SupportedStandards Supported

•• Approximately 38 standards supported Approximately 38 standards supported (correlates with the lifecycles)(correlates with the lifecycles)

•• Tailorable to the needs of the Tailorable to the needs of the organizationorganization

Page 47: Software Estimation Cocomo

What Can I Do With It?What Can I Do With It?

•• Accurately predict and account for cost Accurately predict and account for cost & schedule& schedule

•• Show effects of staff turnoverShow effects of staff turnover•• Show effects of software process Show effects of software process

improvement (CMM efforts) in the cost & improvement (CMM efforts) in the cost & scheduleschedule

•• Determine the size and quantity of Determine the size and quantity of deliverable documentationdeliverable documentation

Page 48: Software Estimation Cocomo

What Can I Do with It? What Can I Do with It? (cont)(cont)

•• Generate projectGenerate project--specific WBS & Gantt chartsspecific WBS & Gantt charts•• Risk ManagementRisk Management•• Show labor costs/staffing required for a Show labor costs/staffing required for a

specific time periodspecific time period•• Show long term maintenance costs and Show long term maintenance costs and

estimated number of defects & help desk callsestimated number of defects & help desk calls•• “What if” scenarios“What if” scenarios

Page 49: Software Estimation Cocomo
Page 50: Software Estimation Cocomo

Questions?Questions?

Page 51: Software Estimation Cocomo

Thanks for Having Us! Thanks for Having Us!

•• Vic Vic HelblingHelbling•• Dave SrulowitzDave Srulowitz•• Mike BandorMike Bandor