COCOMO III Brad Clark 31tst International Forum on

Slides:



Advertisements
Similar presentations
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
COCOMO Suite Model Unification Tool Ray Madachy 23rd International Forum on COCOMO and Systems/Software Cost Modeling October 27, 2008.
CSCI COCOMO Tutorial1 CS “Tutorial” Presentation: Software Cost Estimation Tools – COCOMO II and COCOTS A Winsor Brown and Ye.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
Applying COCOMO II Effort Multipliers to Simulation Models 16th International Forum on COCOMO and Software Cost Modeling Jongmoon Baik and Nancy Eickelmann.
COCOMO II Calibration Brad Clark Software Metrics Inc. Don Reifer Reifer Consultants Inc. 22nd International Forum on COCOMO and Systems / Software Cost.
University of Southern California Center for Software Engineering CSE USC ©USC-CSE 10/23/01 1 COSYSMO Portion The COCOMO II Suite of Software Cost Estimation.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
1 CORADMO in 2001: A RAD Odyssey Cyrus Fakharzadeh 16th International Forum on COCOMO and Software Cost Modeling University of Southern.
System-of-Systems Cost Modeling: COSOSIMO July 2005 Workshop Results Jo Ann Lane University of Southern California Center for Software Engineering.
University of Southern California Center for Software Engineering CSE USC 9/14/05 1 COCOMO II: Airborne Radar System Example Ray Madachy
April 27, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Web Development Process Description
COCOMO-SCORM: Cost Estimation for SCORM Course Development
ESD web seminar1 ESD Web Seminar February 23, 2007 Ricardo Valerdi, Ph.D. Unification of systems and software engineering cost models.
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Chapter 3 Project Management Details Tracking Project Progress Project Estimation Project Risk Analysis Project Organization RUP Project Management Workflow.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
University of Southern California Center for Systems and Software Engineering Cost Estimation with COCOMO II Barry Boehm CS 510, Fall 2015 v3: Slide 10.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
University of Southern California Center for Systems and Software Engineering COCOMO Suite Toolset Ray Madachy, NPS Winsor Brown, USC.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 Trends in Productivity and COCOMO Cost Drivers over the.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Project Manager:PATS Project Manager Estimator:Peter Project Manager Start Date:1/1/2010 PATS Software PATS Project Team.
1 Agile COCOMO II: A Tool for Software Cost Estimating by Analogy Cyrus Fakharzadeh Barry Boehm Gunjan Sharman SCEA 2002 Presentation University of Southern.
Chapter 33 Estimation for Software Projects
Project Cost Management
Alternative Software Size Measures for Cost Estimation
Methodologies and Algorithms
Software Metrics 1.
COCOMO III Workshop Summary
Client Introductions to CS577a
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Cost Estimation with COCOMO II
Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS
COCOMO II Overview CSCI 510 Fall 2013 (c) USC CSSE.
Constructive Cost Model
Pongtip Aroonvatanaporn CSCI 577b Spring 2011 March 25, 2011
Cost Estimation with COCOMO II
Software Systems Cost Estimation
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
Towards COSYSMO 2.0: Update on Reuse
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
Cost Estimation with COCOMO II
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Chapter 33 Estimation for Software Projects
Cost Estimation with COCOMO II
Comparison between each special case
Cost Estimation with COCOMO II
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
COnstructive COst MOdel
Chapter 26 Estimation for Software Projects.
Incremental Commitment Model (ICM)* for Software
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

COCOMO III Brad Clark 31tst International Forum on COCOMO and System/Software Cost Modeling October 17, 2016

Topics COCOMO III Model Overview Discuss COCOMO III Cost Drivers 10/18/2016 Copyright © USC-CSSE

The COCOMO III Project COCOMO® (COnstructure COst MOdel) is the most widely used, free, open source software cost estimation model in the world. Registered Trademark for intellectual property protection COCOMO 81 and COCOMO II models are open and free for anyone to use Models have been commercialized It has been 16 years since the COCOMO II model has been updated and calibrated to new Software Engineering practices. 10/18/2016 Copyright © USC-CSSE

Commercialization – USC COCOMO vs. SystemStar 10/18/2016 Copyright © USC-CSSE

COCOMO III Project Purpose Broaden audiences of COCOMO® and address scope of modern projects: mobile devices, web/internet, big data, cloud-targeted, and multi-tenant software Modernize model size inputs Consider the impact of modern development processes (e.g. Agile) Improve the accuracy and realism of estimates Improve driver definitions New and updated software cost drivers and adjust their ratings as needed Quality estimation capability Point and range estimates based on risk Improve value of COCOMO® in decision-making 10/18/2016 Copyright © USC-CSSE

COCOMO III Project Objectives The project will: Broaden the audiences using COCOMO® Consider domains that use different size drivers (e.g. Function Points, Requirements, Use Cases, Story Points) Consider the impact of modern development processes (e.g. Agile) Address the scope of modern software projects: mobile devices, web/internet, big data, and cloud-targeted Improve the accuracy and realism of estimates Improve driver definitions New and updated software cost drivers and adjust their ratings as needed Quality estimation capability Point and range estimates based on risk 10/18/2016 Copyright © USC-CSSE

COCOMO III Project Objectives The project will: Estimate software cost that is complementary with a System Engineering cost estimate, COSYSMO Improve the value of COCOMO® in decision making Create a strategy for maintaining past COCOMO models The audience is invited to participate in the development of COCOMO III. 10/18/2016 Copyright © USC-CSSE

COCOMO III Project Scope COCOMO® III will product estimates for: Effort, Schedule, Cost, Quality Level (Defects) COCOMO® III can be applied at various moments in a project’s lifecycle: Early Estimation, Initial Project Estimation, Project Re-estimation COCOMO® III’s functional vision Single and Multiple component estimate Analysis of alternatives Analysis with Size-Effort-Schedule as independent variables Support for different lifecycle processes Lifecycle cost estimation Legacy system transformation 10/18/2016 Copyright © USC-CSSE

Historical Overview of COCOMO® Suite of Models COQUALMO 1998 COPROMO COSYSMO-SoS 2007 Legend: Model has been calibrated with historical project data and expert (Delphi) data Model is derived from COCOMO II Model has been calibrated with expert (Delphi) data COCOTS 2000 COSYSMO 2005 CORADMO 1999,2012 iDAVE 2004 COPLIMO 2003 COPSEMO COCOMO II DBA COCOMO COINCOMO 2004,2012 COSECMO 2008 Software Cost Models Software Extensions Dates indicate the time that the first paper was published for the model COTIPMO 2011 AGILE C II COCOMO 81 1981 10/18/2016 Copyright © USC-CSSE

COCOMO is an open and free model Software development and maintenance estimates for: Effort Cost & Schedule distributed by: Phase Activity Increment Quality Software product size estimate COCOMO III Model Software product, platform, personnel & project attributes Software reuse, maintenance, and increment parameters Defect removal profile levels Local calibration to organization’s data COCOMO is an open and free model 10/18/2016 Copyright © USC-CSSE

COCOMO III Model Concept Schedule Model Schedule (Months) Software product size estimate Staffing Levels Software product, platform, personal & project attributes Effort Model Effort (Person Months) Costs ($$) Labor Rates Number of est. non-trivial defects for Requirements, Design, & Code Defect Introduction Model Number of est. residual defects and the residual defect density Defect removal profile levels Defect Removal Model 10/18/2016 Copyright © USC-CSSE

COCOMO III Size Inputs Intent is to produce an estimation model that takes different software size inputs directly Current software size other than source lines of code (SLOC) is first converted to SLOC and use as “equivalent” size in the model Dependent on the data collected for calibration Software Requirements Function Point SNAP Points Fast Function Points COSMIC Points Automated Function Points Feature Points Use Case Points Story Points (Agile Development) 10/18/2016 Copyright © USC-CSSE

COCOMO III Cost Drivers -1 Product Attributes Impact of Software Failure (FAIL) (formerly RELY) Product Complexity (CPLX) Developed for Reusability (RUSE) Required Software Security (SECU) - New Dropped: Documentation Match to Lifecycle Needs Database Size Platform Attributes Platform Constraints (PLAT) – New Platform Volatility (PVOL) 10/18/2016 Copyright © USC-CSSE

COCOMO III Cost Drivers -2 Personnel Attributes Analyst Capability (ACAP) Programmer Capability (PCAP) Personnel Continuity (PCON) Applications Experience (APEX) Language and Tool Experience (LTEX) Platform Experience (PLEX) 10/18/2016 Copyright © USC-CSSE

COCOMO III Cost Drivers -3 Project Attributes Precedentedness (PREC) Development Flexibility (FLEX) Opportunity and Risk Resolution (RESL) Stakeholder Team Cohesion (TEAM) Process Capability & Usage (PCUS) (formerly PMAT) Use of Software Tools (TOOL) Multisite Development (SITE) Defect Removal Profile Automated Analysis People Reviews Execution Testing and Tools 10/18/2016 Copyright © USC-CSSE

COCOMO II Model Effort Distribution Product Design Detailed Design Code & Unit Test Integration & Test Requirements 45 40 Small project with low exponent 35 30 25 Percentage of Effort (PM) 20 15 Large project with high exponent 10 5 10/18/2016 Copyright © USC-CSSE

Incremental Development 10/18/2016 Copyright © USC-CSSE

COCOMO III Quality Model 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 8/23/2016 Copyright © USC-CSSE

Defect Introduction Model Removal Defect removal profiles: Automation Reviews Testing Quality Model Defect Introduction Model Removal Number of est. non-trivial defects for Requirements, Design, & Code COCOMO II Cost Drivers (Size, Product, Platform, Personnel, & Project attributes) Number of est. residual defects and the residual defect density Defect removal profile levels 10/18/2016 Copyright © USC-CSSE

Defect Estimation Scope Estimates only “Nontrivial” defects Critical: causes a system to crash or unrecoverable data loss or jeopardizes personnel High: causes impairment of critical system function and no workaround solution exists Medium: causes impairment of critical system function, through a workaround solution does exist Defect estimates are for only 3 artifacts: Requirements Design Code 8/23/2016 Copyright © USC-CSSE

COCOMO® Model Websites cocomomodels.com cocomomodels.info cocomofamily.com cocomofamily.info cosysmo.com (future) cocomo81.com cocomo81.info cocomo2.com cocomo2.info cocomo3.com cocomo3.info 10/18/2016 Copyright © USC-CSSE

Invitation to Participate CSSE invites you to collaborate on model development Review model formulation Submit data for model calibration Actual Size Effort Schedule Defects Model Parameters Review of COCOMO III model If you contribute data for model calibration, you will receive: An advanced copy of the new model Comparison of your data with respect to other data points used to calibrate the model Please talk with me afterwards if you are interested Want to Participate? www.cocomo3.com JASanche@usc.edu Make suggestions and be a model reviewer! 10/18/2016 Copyright © USC-CSSE

Topics COCOMO III Model Overview Discuss COCOMO III Cost Drivers Cost driver definition refinement The New “Nominal” 10/18/2016 Copyright © USC-CSSE

The New “Nominal” Cost Driver definition refinement The New “Nominal Study of productivity trends over the past 40 years reveals a shift in “nominal” ratings Following slides show the shift in ratings for selected cost drivers For each driver, we will discuss the definition for a new “nominal” 10/18/2016 Copyright © USC-CSSE

Required Software Security (SECU)* Is this correlated to Process Maturity? Should it be an extension to FAIL Should it address the threat? Malicious hackers Foreign governments Should it address exposure On the network Under guard, separated from outside environment Where are the descriptors: Confidentiality Integrity Availability 10/18/2016 Copyright © USC-CSSE

Platform Definition “Platform” is used here to mean the complex of hardware and software (OS, DBMS, etc.) the software product calls on to perform its tasks, the target platform. If the software to be developed is an operating system then the platform is the computer hardware. If a database management system is to be developed then the platform is the hardware and the operating system. If a network web browser is to be developed then the platform is the network, computer hardware, the operating system, and the distributed information repositories. A target platform can include graphic user interfaces, databases, networks, distributed middleware, mobile computing, cloud computing, high security architectures, fault-tolerant computing, and software as a service (or “x” as a service). The “platform” is what the application is being developed to; the target platform. 10/18/2016 Copyright © USC-CSSE

Platform Constraints Execution Time Constraint Characteristic Should this be asking “How close is the application to the specification constraint” Relative term versus an absolute term, 85% of available execution time Same applies to Primary/Secondary storage constraint 10/18/2016 Copyright © USC-CSSE

Platform Volatility (PVOL) Concurrent development for the target platform and software application Change scales: Low: “Platform is stable” Extra High: Platform is “pic-in-the-sky”; haven't defined capability How does this map to different situations, e.g. system of systems Consider using Technology Readiness Levels (next slide) 10/18/2016 Copyright © USC-CSSE

Technology Readiness Levels Basic principles observed and reported Technology concept and/or application formulated Analytical and experimental critical function and/or characteristic proof of concept Component and/or breadboard validation in laboratory environment Component and/or breadboard validation in relevant environment System/subsystem model or prototype demonstration in a relevant environment System prototype demonstration in an operational environment. Actual system completed and qualified through test and demonstration. Actual system proven through successful mission operations. 10/18/2016 Copyright © USC-CSSE

Tester Capability There is Analyst Capability and Programmer Capability cost driver Should there be a Test Capability cost driver based on: Test design Test plan development Capability in test execution Documentation 10/18/2016 Copyright © USC-CSSE

Topics COCOMO III Model Overview Discuss COCOMO III Cost Drivers Cost driver definition refinement The New “Nominal” 10/18/2016 Copyright © USC-CSSE

Impact of Productivity Trends Kendall's Rank Correlation Coefficients between the Completion Year and COCOMO II Cost Drivers (sorted by degrees of correlation) Cost driver Kendall’s τ p-value TOOL Use of Software Tools -0.37 2.20E-16 PMAT Process Maturity (PCUS) -0.30 1.22E-13 STOR Main Storage Constraint -0.29 1.31E-11 TIME Execution Time Constraint -0.26 6.62E-10 PLEX Platform Experience -0.17 1.98E-05 PVOL Platform Volatility -0.18 2.04E-05 APEX Applications Experience 0.17 4.88E-05 LTEX Language and Tool Experience -0.15 2.84E-04 DATA Database Size 0.13 1.81E-03 RELY Required Software Reliability -0.10 1.42E-02 CPLX Product Complexity 1.58E-02 PREC Precedentedness of Application -0.09 2.13E-02 ACAP Analyst Capability 0.08 4.87E-02 10/18/2016 Copyright © USC-CSSE

Use of Software Tools-Tool 10/18/2016 Copyright © USC-CSSE

Process Maturity (Now PCUS) 10/18/2016 Copyright © USC-CSSE

Platform Experience-PLEX 10/18/2016 Copyright © USC-CSSE

Applications Experience-APEX 10/18/2016 Copyright © USC-CSSE

Language and Tool Experience-LTEX 10/18/2016 Copyright © USC-CSSE

Main Storage Constraint-STOR 10/18/2016 Copyright © USC-CSSE

Execution Time Constraint-TIME 10/18/2016 Copyright © USC-CSSE

Backup Charts 10/18/2016 Copyright © USC-CSSE

The Incremental Commitment Spiral Process: Phased View Anchor Point Milestones Synchronize, stabilize concurrency via FEDs The Incremental Commitment Life Cycle Process: Overview This slide shows how the ICSM spans the life cycle process from concept exploration to operations. Each phase culminates with an anchor point milestone review. At each anchor point, there are 4 options, based on the assessed risk of the proposed system. Some options involve go-backs. These options result in many possible process paths. The life cycle is divided into two stages: Stage I of the ICSM (Definition) has 3 decision nodes with 4 options/node, culminating with incremental development in Stage II (Development and Operations). Stage II has an additional 2 decision nodes, again with 4 options/node. One can use ICSM risk patterns to generate frequently-used processes with confidence that they fit the situation. Initial risk patterns can generally be determined in the Exploration phase. One then proceeds with development as a proposed plan with risk-based evidence at the VCR milestone, adjusting in later phases as necessary. For complex systems, a result of the Exploration phase would be the Prototyping and Competition Plan discussed above. Risks associated with the system drive the life cycle process. Information about the risk(s) (feasibility assessments) supports the decision to proceed, adjust scope or priorities, or cancel the program. Risk patterns determine life cycle process 10/18/2016 Copyright © USC-CSSE 41

The Incremental Commitment Spiral Model 10/18/2016 Copyright © USC-CSSE

The Basic COPLIMO Model - Constructive Product Line Investment Model Based on COCOMO II software cost model Statistically calibrated to 161 projects, representing 18 diverse organizations Based on standard software reuse economic terms RCR: Relative cost of reuse RCWR: Relative cost of writing for reuse Avoids overestimation Avoids RCWR for non-reused components Provides experience-based default parameter values Simple Excel spreadsheet model Easy to modify, extend, interoperate 10/18/2016 Copyright © USC-CSSE

10/18/2016 Copyright © USC-CSSE

Legacy Systems Patched, Highly Coupled Financial and Non-Financial Services Legacy Business Services Contract Services Project Services Budgeting Staffing Deliverables Management Billing Earned Value Management Subcontracting Change Tracking Progress Tracking Work Breakdown Structure Scheduling Reqs, Configuration Management 10/18/2016 Copyright © USC-CSSE

Result of Legacy Re-engineering Legacy Business Services Contract Services Project Services Contract Financial Services Billing Subcontract payments ... Contract Non-Financial Services Deliverables mgmt. Terms compliance ... General Financial Services Accounting Budgeting Earned value Payroll ... General Non-Financial Services Progress tracking Change tracking ... Project Financial Services WBS Expenditure categories ... Project Non-Financial Services Scheduling Staffing Reqs CM ... 10/18/2016 Copyright © USC-CSSE

USC-CSSE Modeling Methodology - concurrency and feedback implied Determine Model Needs Step 1 Analyze existing literature Step 2 Perform Behavioral analyses Step 3 Define relative significance,data, ratings Step 4 Perform expert-judgment Delphi assessment, formulate a priori model Step 5 Gather project data Step 6 Determine Bayesian A-Posteriori model Step 7 Gather more data; refine model Step 8 10/18/2016 Copyright © USC-CSSE

Step 6: Gather, Analyze Project Data Best to pilot data collection with early adopters Identifies data definition ambiguities Identifies data availability problems Identifies need for data conditioning Best to collect initial data via interviews Avoids misinterpretations Endpoint milestones; activities included/excluded; size definitions Uncovers hidden assumptions Schedule vs. cost minimization; overtime effort reported 10/18/2016 Copyright © USC-CSSE

Initial Data Analysis May Require Model Revision Initial COCOTS model adapted from COCOMO II, with different parameters Effort = A* (Size)B* Õ(Effort Multipliers) Amount of COTS integration glue code used for Size Data analysis showed some projects with no glue code, much effort Effort devoted to COTS assessment, tailoring 10/18/2016 Copyright © USC-CSSE

COCOTS Effort Distribution: 20 Projects Mean % of Total COTS Effort by Activity ( +/- 1 SD ) 70.00% 60.00% 61.25% 50.00% 50.99% 49.07% 40.00% 30.00% 31.06% % Person-months 20.00% 20.75% 21.76% 20.27% 10.00% 11.31% 0.00% 0.88% 2.35% -7.57% -7.48% -10.00% assessment tailoring glue code system volatility -20.00% 10/18/2016 Copyright © USC-CSSE