1 / 102

COCOMO Suite

COCOMO Suite. Barry Boehm CSCI 510 Fall 2011. Agenda. COCOMO II refresher Modeling methodology and model status Suite overview Emerging extensions Model unification Addendum: selected model details References and further information. Software product size estimate

duscha
Download Presentation

COCOMO Suite

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COCOMO Suite Barry Boehm CSCI 510 Fall 2011

  2. Agenda • COCOMO II refresher • Modeling methodology and model status • Suite overview • Emerging extensions • Model unification • Addendum: selected model details • References and further information

  3. Software product size estimate Software product, process, computer, and personal attributes Software reuse, maintenance, and increment parameters Software organization’s Project data COCOMO II Overview COCOMO • Software development and maintenance: • Costs (effort) • Schedule estimates • Distributed by phase, activity, increment COCOMO locally calibrated to organization’s data

  4. Purpose of COCOMO II • To help people reason about the cost and schedule implications of their software decisions • Software investment decisions • When to develop, reuse, or purchase • What legacy software to modify or phase out • Setting project budgets and schedules • Negotiating cost/schedule/performance tradeoffs • Making software risk management decisions • Making software improvement decisions • Reuse, tools, process maturity, outsourcing

  5. COCOMO II Model Stages

  6. COCOMO II Scope of Outputs • Provides the estimated software development effort and schedule for MBASE/RUP • Elaboration • Construction LCO LCA IOC

  7. Agenda • COCOMO II refresher • Modeling methodology and model status • Suite overview • Emerging extensions • Model unification • Addendum: selected model details • References and further information

  8. USC-CSE Modeling Methodology Analyze existing literature Step 1 Concurrency and feedback implied… Perform Behavioral analyses Step 2 Identify relative significance Step 3 Perform expert-judgment Delphi assessment, formulate a-priori model Step 4 Gather project data Step 5 Determine Bayesian A-Posteriori model Step 6 Gather more data; refine model Step 7

  9. Status of Models

  10. MULTIPLICATIVE ADDITIVE EXPONENTIAL General COCOMO Form PM = A * ( Size)B * (EM) Where: PM = Person Months A = calibration factor Size = measure(s) of functional size of a software module that has an additive effect on software development effort B = scale factor(s) that have an exponential or nonlinear effect on software development effort EM = effort multipliers that influence software development effort

  11. Agenda • COCOMO II refresher • Modeling methodology and model status • Suite overview • Emerging extensions • Model unification • Addendum: selected model details • References and further information

  12. COCOMO Suite: Quantities Estimated

  13. COCOMO Suite: Sizing

  14. COCOMO Suite: Phase/Activity Distribution

  15. Typical Model Usage

  16. Legend COCOMO COSYSMO COSOSIMO High Level Partitioning of Cost Models COSOSIMO SOS System of System Architecting COSYSMO Integration/Test System System Integration/Test Architecting Software Requirements Analysis Software Acceptance Test COCOMO II Preliminary Design Integration Detailed Design Unit Test Coding COCOTS

  17. Agenda • COCOMO II refresher • Modeling methodology and model status • Suite overview • Emerging extensions • Model unification • Addendum: selected model details • References and further information

  18. Emerging Extensions • COCOMO-Dependent Extensions • COQUALMO: software quality • iDAVE: software dependability • COPLIMO: product line investment • CORADMO: rapid application software development • COPROMO: productivity improvement • Emerging Independent Extensions • COCOTS: software commercial off the shelf • COSYSMO: systems engineering • COSOSIMO: systems of systems • Dynamic COCOMO: dynamic vs. static modeling

  19. Constructive Quality Model: COQUALMO • Predicts the number of residual defects in a software product • Enables 'what-if' analyses that demonstrate the impact of • various defect removal techniques • effects of personnel, project, product and platform characteristics on software quality. • Provides insights into • Probable ship time • Assessment of payoffs for quality investments • Understanding of interactions amongst quality strategies

  20. COQUALMO Operational Concept COCOMO II Software development effort, cost and schedule estimate COQUALMO Software Size Estimate Defect Introduction Model Software platform, Project, product and personnel attributes Number of residual defects Defect density per unit of size Defect Removal Model Defect removal profile levels Automation, Reviews, Testing

  21. Very Low Low Nominal High Very High Extra High Automated Analysis Simple compiler syntax checking Basic compiler capabilities Compiler extension Basic req. and design consistency Intermediate-level module Simple req./design More elaborate req./design Basic dist-processing Formalized specification, verification. Advanced dist-processing Peer Reviews No peer review Ad-hoc informal walk-through Well-defined preparation, review, minimal follow-up Formal review roles and Well-trained people and basic checklist Root cause analysis, formal follow Using historical data Extensive review checklist Statistical control Execution Testing and Tools No testing Ad-hoc test and debug Basic test Test criteria based on checklist Well-defined test seq. and basic test coverage tool system More advance test tools, preparation. Dist-monitoring Highly advanced tools, model-based test COQUALMO Defect Removal Rating Scales

  22. COQUALMO Defect Removal Estimates - Nominal Defect Introduction Rates Delivered Defects / KSLOC Composite Defect Removal Rating

  23. Information Dependability Attribute Value Estimator: iDAVE • iDAVE estimates and tracks software dependability Return on Investment (ROI) • Help determine how much dependability is enough • Help analyze and select the most cost-effective combination of software dependability techniques • Use estimates as a basis for tracking performance • Based on COCOMO II and COQUALMO cost models and Value Estimating Relationships (VERs) • Used to reason about the ROI of software dependability investments • Dependability defined as a composite property that integrates such attributes as availability, reliability, safety, security, survivability and maintainability

  24. iDAVE Operational Concept

  25. Constructive Product Line Investment Model: COPLIMO • Supports software product line cost estimation and ROI analysis within the scope of product line life cycle • Consists of two components • Product line development cost model • Annualized post-development life cycle extension • Based on COCOMO II software cost model • Statistically calibrated to 161 projects, representing 18 diverse organizations

  26. COPLIMO Operational Concept COPLIMO • For set of products: • Average product size (COCOMO II cost drivers) • Percent mission-unique, reused-with-modifications, black-box reuse • Relative cost of reuse (RCR) and relative cost of writing for reuse (RCWR) factors • As functions of # • products, # years in • life cycle: • Non-product line effort • Product line investment (effort) • Product line savings (ROI)

  27. Constructive Rapid Application Development Model: CORADMO • Calculates/predicts for smaller, rapid application development projects • Schedule • Personnel • Adjusted effort • Allocates effort and schedule to the stages, which are anchored at points in a development life cycle • Scope includes inception, elaboration, and construction

  28. CORADMO Factors • Reuse and Very High Level Languages • Development Process Reengineering and Streamlining • Collaboration Efficiency • Architecture/Risk Resolution • Prepositioning Assets • RAD Capability and Experience

  29. Constructive Productivity Model: COPROMO • Determines impact of technology investments on model parameter settings • Predicts the most cost effective allocation of investment resources in new technologies intended to improve productivity • Uses COCOMO II, COPSEMO, and CORADMO models as assessment framework • Well-calibrated to 161 projects for effort, schedule • Subset of 106 1990’s projects for current-practice baseline • Extensions for Rapid Application Development formulated

  30. Constructive COTS Model: COCOTS • Estimates the effort associated with the integration of Commercial-Off-The-Shelf (COTS) software products • Scope includes inception, elaboration, and construction • Model has four components • Assessment • Tailoring • “Glue” code • System volatility • Effort reported by COCOTS is the sum of the efforts from each of the four components • Can be used in conjunction with COCOMO II to estimate new software development with COTS integration

  31. COCOTS Operational Concept • # COTS Classes • # Candidates/Class • Tailoring Complexity • Glue code size & cost drivers • COCOMO II application effort (separate from COTS) • COTS volatility rework (%) • Rework due to COTS requirements changes (%) • Rework due to non-COTS requirements changes (%) Assessment Tailoring COCOTS Effort “Glue” Code Volatility

  32. STAFFING TIME COCOMO vs. COCOTS Cost Sources

  33. Constructive System Engineering Cost Model: COSYSMO • Covers full system engineering lifecycle (maps to ISO/IEC 15288) Life cycle stages being used in COSYSMO Project • Estimates standard Systems Engineering WBS tasks (based on EIA/ANSI 632) • Developed with USC-CSE Corporate Affiliate sponsorship and INCOSE participation Conceptualize Operate, Maintain, or Enhance Replace or Dismantle Transition to Operation Oper Test & Eval Develop

  34. COSYSMO Operational Concept # Requirements # Interfaces # Scenarios # Algorithms + 3 Volatility Factors Size Drivers COSYSMO Effort Effort Multipliers • Application factors • 8 factors • Team factors • 6 factors • Schedule driver Calibration WBS guided by EIA/ANSI 632

  35. Application Factors Requirements understanding Architecture complexity Level of service requirements Migration complexity Technology Maturity Documentation Match to Life Cycle Needs # and Diversity of Installations/Platforms # of Recursive Levels in the Design Team Factors Stakeholder team cohesion Personnel/team capability Personnel experience/continuity Process maturity Multisite coordination Tool support COSYSMO Effort Multipliers

  36. COSOSIMO Constructive System-of-System Cost Model: COSOSIMO • Parametric model to estimate the effort associated with the definition and integration of software-intensive “system of systems” components • SoS abstraction • Architecting • Source selection • Systems acquisition • Integration and test • Change management effort • Includes at least one size driver and 6 exponential scale factors related to effort • Targets input parameters that can be determined in early phases

  37. COSOSIMO Operational Concept Size Drivers • Interface-related eKSLOC • Number of logical interfaces at SoS level • Number of operational scenarios • Number of components COSOSIMO SoS Definition and Integration Effort Exponential Scale Factors • Integration simplicity • Integration risk resolution • Integration stability • Component readiness • Integration capability • Integration processes Calibration

  38. Agenda • COCOMO II refresher • Modeling methodology and model status • Suite overview • Emerging extensions • Model unification • Addendum: selected model details • References and further information

  39. Model Unification Main Issues For each individual model as well as the unified model: • Objectives & Strategies • Inputs/scope of work • Output/scope of estimate • Assumptions of each model • Stakeholders for each model • Counting Rules • Sponsorship (FCS, Model-Based Acq.) • PhD dissertation critical mass • Data sources

  40. Allow more comprehensive cost exploration with respect to Development decisions Investment decisions Established project budget and schedules Client negotiations and requested changes Cost, schedule, performance, and functionality tradeoffs Risk management decisions Process improvement decisions Unification Goals • Affiliate request: Provide a single unified tool to allow users to • Specify • System and software components comprising the software system of interest • Composition and characteristics of components • Receive • A set of comprehensive outputs for system engineering, software development, and system-of-systems integration • Adjusted using the appropriate special-purpose extensions

  41. Issue #1: Objectives & Strategies • First pass and future enhancements • Framework (Goal-Quality-Metric model approach) • Restate objectives for existing models • COCOMO II • COCOTS • COSYSMO • COSOSIMO • CORADMO • COQUALMO • Develop objectives for unified cost model • Operational scenario(s) for each model

  42. Issue #2: Inputs/scope of work • Need to define on several levels • To determine scope of work to be estimated • To determine system of interest/viewpoint and system component characteristics • To determine specific sub-model inputs • Life cycle model • Single user interface • A single definition for each parameter/driver (eg. TEAM, PMAT, etc.) vs, context-specific definitions for parameters with common names across models • Need to determine which “components” can be estimated as relatively independent pieces vs. tightly coupled components

  43. Issue #3: Output/scope of estimate • Single value for all integrated models (default 152 hours per person-month) • Normalized PM for calibration • Backward compatibility to existing models • What set of “bins” should be used for initial effort outputs? • What additional levels of granularity should be provided? • By phase/stage? • By labor category? • By activities? • Break out by sub-models? • Increments? (i.e., COINCOMO) • How will an Integrated Master Schedule be developed? • Effort & schedule as a function of risk • Projected productivity

  44. Issue #4: Assumptions of each model ModelLife Cycle Stages COCOMO II COCOTS COSYSMO COSOSIMO

  45. Issue #5: Users for each model • Acquirers, SW developers, estimators, systems engineers, managers, executives, or accountants who are interested in: • Software development (COCOMO II) • Commercial off the shelf software (COCOTS) • Systems engineering (COSYSMO) • Software quality (COQUALMO) • Software rapid application development (COPSEMO, CORADMO) • Software system of systems integration (COSOSIMO) • ROI/Investment analysis (iDave, COPLIMO)

  46. Issue #6: Counting Rules & Definitions • Inputs • Size drivers (VHLLs, FPs, APs, Use Case Points, KSLOC, REQS, ALG, I/F, SCEN, Components, etc.) • Model inputs (cost drivers, scale factors) • Outputs • Effort distributions • Phase, activity, or labor categories • Schedule • Defects • $ cost • Risk • Productivity

  47. Additional Analysis in Progress • Cost Drivers • Scale Factors

  48. COSOSIMO • COCOMOII extensions • RAD, security • Incremental, phase/activity • Agile, risk, Monte Carlo • ROI (product line, dependability) • Maintenance Output Analysis and Report Generation COSYSMO Unified Interface COCOMOII/ COQUALMO COCOTS Unified Model Long Term Vision

  49. Agenda • COCOMO II refresher • Modeling methodology and model status • Suite overview • Emerging extensions • Model unification • Addendum: selected model details • COCOTS • COPLIMO • COSYSMO • COSOSIMO • References and further information

  50. COTS Software Integration Lifecycle COTS Software Integration Lifecycle 1) Qualify COTS product 2) Perform system requirements 3) Administer COTS software acquisition 4) Prototype the system including COTS software 5) Fully integrate COTS software and interface code 6) Test completed prototype

More Related