Upload
deepseabr
View
225
Download
0
Embed Size (px)
Citation preview
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
OverviewOverview
•• COCOMO COCOMO ---- the old stuffthe old stuff•• COCOMO IICOCOMO II•• DemonstrationDemonstration
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?
COCOMO 1981COCOMO 1981
•• Mainframe focusedMainframe focused•• Government Application basedGovernment Application based•• Four attributesFour attributes•• 15 Cost drivers15 Cost drivers•• LOC orientationLOC orientation
COCOMO ATTRIBUTESCOCOMO ATTRIBUTES
•• ProductProduct•• ComputerComputer•• PersonnelPersonnel•• ProjectProject
Product AttributesProduct AttributesCost DriversCost Drivers•• Required Software ReliabilityRequired Software Reliability•• Data Base SizeData Base Size•• Software Product ComplexitySoftware Product Complexity
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
Personnel AttributesPersonnel AttributesCost DriversCost Drivers
•• Analyst CapabilityAnalyst Capability•• Applications ExperienceApplications Experience•• Programmer CapabilityProgrammer Capability•• Virtual Machine ExperienceVirtual Machine Experience•• Language ExperienceLanguage Experience
Project AttributesProject AttributesCost DriversCost Drivers
•• Modern Programming PracticesModern Programming Practices•• Use of Software ToolsUse of Software Tools•• Development Schedule Development Schedule
ConstraintsConstraints
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
Data Collection Data Collection FormForm
IMPLEMENTING THE
INTERMEDIATE COCOMO
MODEL
P&C Mainframe ApplicationsMaintenance
April 16, 2001
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:
The SpreadsheetThe Spreadsheet
•• NameName•• SizeSize•• ModeMode•• ACTACT•• MultipliersMultipliers•• EAF, MMNom, MMEAF, MMNom, MM--AM, WBSAM, WBS•• Sensitivity AnalysisSensitivity Analysis
TransitionTransition
• Next…
• A discussion of the COCOMO II model
• Presented by Dave Srulowitz
HistoryHistory
• What?
• Who?
• Why?
• When?
What is the Need?What is the Need?
• Risk mitigation• Software-centric business community• Competitive advantage• New software processes• Benefits
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
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
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
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
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
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
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
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
6 COCOMO II Model Objectives6 COCOMO II Model Objectives
• Accuracy• Customization• Model ease of use• Usefulness• Resource manager• Modifiability
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
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
ThreeThree--Model SeriesModel Series
• Prototyping
• Architectural Alternatives
• Life cycle architectures
29 COCOMO II Factors29 COCOMO II Factors
• Scale Factors* Precedentedness* Development Flexibility* Architecture/Risk Resolution* Team Cohesion* Process Maturity
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
29 COCOMO II Factors29 COCOMO II Factors
• Platform Factors* Execution Time Constraint* Main Storage Constraint* Platform Volatility
29 COCOMO II Factors29 COCOMO II Factors
• Personnel Factors* Analyst Capability* Programmer Capability* Personnel Continuity* Applications Experience* Platform Experience* Language and Tool Experience
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
29 COCOMO II Factors29 COCOMO II Factors
• Project Factors (continued)* Personnel Experience* Facilities* Required Development Schedule
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
TransitionTransition
• Next…
• A discussion and demonstration onCost Xpert, a tool that embodies theCOCOMO II model
• Presented by Mike Bandor
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
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)
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)
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
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”
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)
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
Metric Methodologies Metric Methodologies (cont)(cont)
•• Also supportsAlso supports–– New developmentNew development–– ReuseReuse–– COTS integrationCOTS integration
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)
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
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
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
Questions?Questions?
Thanks for Having Us! Thanks for Having Us!
•• Vic Vic HelblingHelbling•• Dave SrulowitzDave Srulowitz•• Mike BandorMike Bandor