Proposed Metrics Definition Highlights Raymond Madachy Naval Postgraduate School CSSE Annual Research Review March 8, 2010.

Slides:



Advertisements
Similar presentations
Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation.
Advertisements

Automated Software Cost Estimation By James Roberts EEL 6883 Spring 2007.
A Sizing Framework for DoD Software Cost Analysis Raymond Madachy, NPS Barry Boehm, Brad Clark and Don Reifer, USC Wilson Rosa, AFCAA
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.
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
USC 21 st International Forum on Systems, Software, and COCOMO Cost Modeling Nov 2006 University of Southern California Center for Software Engineering.
University of Southern California Center for Systems and Software Engineering Next-Generation Software Sizing and Costing Metrics Workshop Report Wilson.
University of Southern California Center for Software Engineering CSE USC System Dynamics Modeling of a Spiral Hybrid Process Ray Madachy, Barry Boehm,
Integration of Software Cost Estimates Across COCOMO, SEER- SEM, and PRICE-S models Tom Harwick, Engineering Specialist Northrop Grumman Corporation Integrated.
University of Southern California Center for Systems and Software Engineering Productivity Data Analysis and Issues Brad Clark, Thomas Tan USC CSSE Annual.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5.
Smi COCOMO II Calibration Status COCOMO Forum October 2004.
University of Southern California Center for Systems and Software Engineering Next Generation Estimation Methods and Management Metrics: Working Group.
COSYSMO Reuse Extension 22 nd International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2007 Ricardo ValerdiGan Wang Garry RoedlerJohn.
I n t e g r i t y - S e r v i c e - E x c e l l e n c e Headquarters U.S. Air Force Next-Generation Systems and Software Cost Estimation Wilson Rosa Technical.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 COCOMO II Maintenance Model Upgrade Vu Nguyen, Barry Boehm.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
I n t e g r i t y - S e r v i c e - E x c e l l e n c e Headquarters U.S. Air Force Next-Generation Systems and Software Cost Estimation Wilson Rosa Technical.
University of Southern California Center for Systems and Software Engineering Building Cost Estimating Relationships for Acquisition Decision Support Brad.
Introduction Wilson Rosa, AFCAA CSSE Annual Research Review March 8, 2010.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Assessing and Estimating Corrective, Enhancive, and Reductive.
University of Southern California Center for Software Engineering CSE USC USC-CSE Annual Research Review COQUALMO Update John D. Powell March 11, 2002.
COSYSMO Reuse Extension 22 nd International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2007 Ricardo ValerdiGan Wang Garry RoedlerJohn.
USC 21 st International Forum on Systems, Software, and COCOMO Cost Modeling Nov 2006 University of Southern California Center for Software Engineering.
Comparison and Assessment of Cost Models for NASA Flight Projects Ray Madachy, Barry Boehm, Danni Wu {madachy, boehm, USC Center for Systems.
Expert COSYSMO Update Raymond Madachy USC-CSSE Annual Research Review March 17, 2009.
COCOMO II Database Brad Clark Center for Software Engineering Annual Research Review March 11, 2002.
University of Southern California Center for Systems and Software Engineering Software Cost Estimation Metrics Manual 26 th International Forum on COCOMO.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Reuse and Maintenance Estimation Vu Nguyen March 17, 2009.
University of Southern California Center for Systems and Software Engineering AFCAA Database and Metrics Manual Ray Madachy, Brad Clark, Barry Boehm, Thomas.
SRDR Data Analysis Workshop Summary Brad Clark Ray Madachy Thomas Tan 25th International Forum on COCOMO and Systems/Software Cost Modeling November 5,
1 COSYSMO 2.0: A Cost Model and Framework for Systems Engineering Reuse Jared Fortune University of Southern California Ricardo Valerdi Massachusetts Institute.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy USC Center for Systems and Software Engineering
COSYSMO Reuse Extension COSYSMO Workshop – USC CSSE Annual Research Review March 17, 2008 Ricardo ValerdiGan Wang Garry RoedlerJohn Rieff Jared Fortune.
April 27, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004.
Chapter 9 – Software Evolution and Maintenance
Complete and Integrated Lifecycle Management. Challenges 1.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
COCOMO-SCORM: Cost Estimation for SCORM Course Development
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
COCOMO CO nstructive CO st Mo del II Copyright © 2007 Patrick McDermott UC Berkeley Extension It’s a Name Game, Don’t Blame Boehm! (rhymes)
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
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.
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.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment: Tracking the.
+ Incremental Development Productivity Decline Ramin Moazeni, Daniel Link.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment Framework Pongtip.
University of Southern California Center for Systems and Software Engineering 26 th Annual COCOMO Forum 1 November 2 nd, 2011 Mauricio E. Peña Dr. Ricardo.
1 Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5 LiGuo Huang Computer Science and Engineering Southern Methodist University.
Estimate Testing Size and Effort Using Test Case Point Analysis
Productivity Data Analysis and Issues
Metrics and Terms SLOC (source lines of code)
Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS
SLOC and Size Reporting
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
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.
Relating Effort Reporting to Project Estimation
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Center for Software and Systems Engineering,
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Presentation transcript:

Proposed Metrics Definition Highlights Raymond Madachy Naval Postgraduate School CSSE Annual Research Review March 8, 2010

2 Agenda Data Analysis Issues Software Sizing Definitions Recent Workshop Results Conclusions

3 DoD Empirical Data Data quality and standardization issues –No reporting of Equivalent Size Inputs – CM, DM, IM, SU, AA, UNFM, Type –No common SLOC reporting – logical, physical, etc. –No standard definitions – Application Domain, Build, Increment, Spiral,… –No common effort reporting – analysis, design, code, test, CM, QA,… –No common code counting tool –Product size only reported in lines of code –No reporting of quality measures – defect density, defect containment, etc. Limited empirical research within DoD on other contributors to productivity besides effort and size: –Operating Environment, Application Domain, and Product Complexity –Personnel Capability –Required Reliability –Quality – Defect Density, Defect Containment –Integrating code from previous deliveries – Builds, Spirals, Increments, etc. –Converting to Equivalent SLOC Categories like Modified, Reused, Adopted, Managed, and Used add no value unless they translate into single or unique narrow ranges of DM, CM, and IM parameter values. We have seen no empirical evidence that they do…

4 SRDR Data Source

5 Data Collection and Analysis Approach –Be sensitive to the application domain –Embrace the full life cycle and Incremental Commitment Model Be able to collect data by phase, project and/or build or increment Items to collect –SLOC reporting – logical, physical, NCSS, etc. –Requirements Volatility and Reuse Modified or Adopted using DM, CM, IM; SU, UNFM as appropriate –Definitions for Application Types, Development Phase, Lifecycle Model,… –Effort reporting – phase and activity –Quality measures – defects, MTBF, etc.

6 Data Normalization Strategy Interview program offices and developers to obtain additional information not captured in SRDRs… –Modification Type – auto generated, re-hosted, translated, modified –Source – in-house, third party, Prior Build, Prior Spiral, etc. –Degree-of-Modification – %DM, %CM, %IM; SU, UNFM as appropriate –Requirements Volatility -- % of ESLOC reworked or deleted due to requirements volatility –Method – Model Driven Architecture, Object-Oriented, Traditional –Cost Model Parameters – True S, SEER, COCOMO, SLIM

7 Agenda Data Analysis Issues Software Sizing Definitions Recent Workshop Results Conclusions

8 Size Issues and Definitions An accurate size estimate is the most important input to parametric cost models. Desire consistent size definitions and measurements across different models and programming languages The sizing chapters address these : –Common size measures defined and interpreted for all the models –Guidelines for estimating software size –Guidelines to convert size inputs between models so projects can be represented in in a consistent manner Using Source Lines of Code (SLOC) as common measure –Logical source statements consisting of data declarations executables –Rules for considering statement type, how produced, origin, build, etc. –Providing automated code counting tools adhering to definition –Providing conversion guidelines for physical statements Addressing other size units such as requirements, use cases, etc.

9 Sizing Framework Elements Core software size type definitions –Standardized data collection definitions Measurements will be invariant across cost models and data collections venues –Project data normalized to these definitions Translation tables for non-compliant data sources SLOC definition and inclusion rules Equivalent SLOC parameters Cost model Rosetta Stone size translations Other size unit conversions (e.g. function points, use cases, requirements)

10 Core Software Size Types

11 Equivalent SLOC – A User Perspective * “Equivalent” – A way of accounting for relative work done to generate software relative to the code-counted size of the delivered software “Source” lines of code: The number of logical statements prepared by the developer and used to generate the executing code –Usual Third Generation Language (C, Java): count logical 3GL statements –For Model-driven, Very High Level Language, or Macro-based development: count statements that generate customary 3GL code –For maintenance above the 3GL level: count the generator statements –For maintenance at the 3GL level: count the generated 3GL statements Two primary effects: Volatility and Reuse –Volatility: % of ESLOC reworked or deleted due to requirements volatility –Reuse: either with modification (modified) or without modification (adopted) * Stutzke, Richard D, Estimating Software-Intensive Systems, Upper Saddle River, N.J.: Addison Wesley, 2005

12 Adapted Software Parameters For adapted software, apply the parameters: –DM: % of design modified –CM: % of code modified –IM: % of integration required compared to integrating new code –Normal Reuse Adjustment Factor RAF = 0.4*DM + 0.3*CM + 0.3*IM Reused software has DM = CM = 0. Modified software has CM > 0. Since data indicates that the RAF factor tends to underestimate modification effort due to added software understanding effects, two other factors are used: –Software Understandability (SU): How understandable is the software to be modified? –Unfamiliarity (UNFM): How unfamiliar with the software to be modified is the person modifying it?

13 SLOC Inclusion Rules

14 Equivalent SLOC Rules SourceIncludesExcludes New Reused Modified Generated Generator statements 3GL generated statements Converted COTS Volatility How Produced in Development or Source IncludesExcludes New Reused Modified Generated Generator statements (if 3GL generated statements not modified in development) (if 3GL generated statements modified in development) 3GL generated statements (if modified in development) (if not modified in development) Converted COTS Volatility Equivalent SLOC Rules for Development Equivalent SLOC Rules for Maintenance

15 Cost Model Size Inputs

16 Agenda Data Analysis Issues Software Sizing Definitions Recent Workshop Results Conclusions

17 Software Size Type Results Discussions forced clarification of categories and crisper definitions Practical sizing guidance captured in adaptation parameter ranges –E.g. maximum values where adapted code is instead replaced with new software identify range tops Created model-agnostic AAF weight ranges Added sub-categories for generated, converted and translated code to distinguish what is handled for applying equivalent size –Generator statements vs. generated –Translated as-is vs. optimized –Converted as-is vs. optimized 17

18 Software Size Type Results (cont.) Category additions affected SLOC inclusion rules Practical guidance and updated adaption parameter ranges included in AFCAA Software Cost Estimation Metrics Manual Change request for CodeCount to flag and count moved code 18

19 Modified Code Exercise Results 19 * If DM or C M is greater than 50%, start over with new ** IM could be driven by safety critical applications, environments with high reliability requirements

20 Agenda Data Analysis Issues Software Sizing Definitions Recent Workshop Results Conclusions

21 Next Steps Create worked-out exercises for different cases exhibited in sizing rules Incorporate data analysis on existing data to find empirical value ranges for the reuse parameters for each size type in application domains. 21

22 Concluding Remarks Goal is to publish a manual to help analysts develop quick software estimates using empirical metrics from recent programs Additional information is crucial for improving data quality across DoD We want your input on Productivity Domains and Data Definitions Looking for collaborators Looking for peer-reviewers Need more data

23 References United States Department of Defense (DoD), “Instruction , Operation of the Defense Acquisition System”, December W. Rosa, B. Clark, R. Madachy, D. Reifer, and B. Boehm, “Software Cost Metrics Manual”, Proceedings of the 42 nd Department of Defense Cost Analysis Symposium, February B. Boehm, “Future Challenges for Systems and Software Cost Estimation”, Proceedings of the 13 th Annual Practical Software and Systems Measurement Users’ Group Conference, June B. Boehm, C. Abts, W. Brown, S. Chulani, B. Clark, E. Horowitz, R. Madachy, D. Reifer, and B. Steece, Software Cost Estimation with COCOMO II, Upper Saddle River, NJ: Prentice-Hall, R. Stutzke, Estimating Software-Intensive Systems, Upper Saddle River, NJ: Addison Wesley, Madachy R, Boehm B, “Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models”, USC-CSSE , University of Southern California Center for Systems and Software Engineering, 2008.