Ramin Moazeni Winsor Brown Barry Boehm

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

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Systems Engineering in a System of Systems Context
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
Software Evolution Managing the processes of software system change
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.
COSOSIMO* Workshop 13 March 2006 Jo Ann Lane University of Southern California Center for Software Engineering CSE Annual.
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.
University of Southern California Center for Systems and Software Engineering System of Systems Engineering Cost Modeling: Strategies for Different Types.
Introduction Wilson Rosa, AFCAA CSSE Annual Research Review March 8, 2010.
University of Southern California Center for Systems and Software Engineering Assessing the IDPD Factor: Quality Management Platform Project Thomas Tan.
COCOMO II 資管研一 張永昌. Agenda Overall Model Definition COCOMO II Models for the Software Marketplace Sectors COCOMO II Model Rationale and Elaboration Development.
Estimating System of Systems Engineering (SoSE) Effort Jo Ann Lane, USC Symposium on Complex Systems Engineering January 11-12, 2007.
Iterative development and The Unified process
April 27, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Enterprise Architecture
Information System Economics Software Project Cost Estimation.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CPSC 871 John D. McGregor Module 6 Session 3 System of Systems.
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 Systems and Software Engineering COCOMO Suite Toolset Ray Madachy, NPS Winsor Brown, USC.
Estimation using COCOMO
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
University of Southern California Center for Systems and Software Engineering Current and Future Challenges for Software Cost Estimation and Data Collection.
+ Incremental Development Productivity Decline Ramin Moazeni, Daniel Link.
CS223: Software Engineering Lecture 32: Software Maintenance.
1 Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5 LiGuo Huang Computer Science and Engineering Southern Methodist University.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
1 Agile COCOMO II: A Tool for Software Cost Estimating by Analogy Cyrus Fakharzadeh Barry Boehm Gunjan Sharman SCEA 2002 Presentation University of Southern.
Iterative development and The Unified process
Building a Data Warehouse
Chapter 33 Estimation for Software Projects
Project Cost Management
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Game Design, Development, and Technology
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
Chapter 18 Maintaining Information Systems
Chapter 2 SW Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Requirements and the Software Lifecycle
Constructive Cost Model
Systems of Systems Challenges and Strategies
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
COCOMO Model Basic.
Software life cycle models
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Software engineering -1
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.
Chapter 27 Software Change.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
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.
Software Engineering I
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Core Capability Drive-Through Workshop
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Multi-Build Software Cost Estimation Using COINCOMO
Software System Integration
Chapter 26 Estimation for Software Projects.
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:

Ramin Moazeni Winsor Brown Barry Boehm Productivity Decline in Directed System of Systems Software Development Ramin Moazeni Winsor Brown Barry Boehm

Table of Contents Incremental Commitment Model (ICM) Overview Multi-Build Software and Overlap across builds Directed Systems of Systems Systems COINCOMO Incremental Development Productivity Decline (IDPD) Cost Drivers Effect on number of increments Conclusion

ICM LC Processes for Systems

ICM-Sw/RUP Activity/Process Model

Why Multiple Build Software Systems Simplest: Early Functionality in the hands of ALL users Architecture/Core plus some functionality Implies Full Qualification/Acceptance Sw Testing each software build so systems can go into Integration & Test earlier Increasingly Complex Systems Multiple, diverse "platforms" Different "foci" of functionality (in each build) Network Centric Systems Operation Evolution/federation of legacy systems System of Systems by design

Overlaps Across Software Builds

ICM Showing Multi-Build Software in a System

What is a “System of Systems” Very large systems developed by creating a framework or architecture to integrate constituent systems. SoS constituent systems independently developed and managed New or existing systems in various stages of development/evolution May include a significant number of COTS products Have their own purpose Can dynamically come and go from SoS SoS exhibits emergent behavior not otherwise achievable by component systems Typical domains Business: Enterprise-wide and cross-enterprise integration to support core business enterprise operations across functional and geographical areas Military: Dynamic communications infrastructure to support operations in a constantly changing, sometimes adversarial, environment Based on Mark Maier’s SoS definition [Maier, 1998]

Types of “System of Systems” Virtual [Maier, 1998] Lacks a central management authority and a clear SoS purpose Often ad hoc and may use a service-oriented architecture where the constituent systems are not necessarily known Collaborative [Maier, 1998] Constituent system engineering teams work together more or less voluntarily to fulfill agreed upon central purposes No SoSE team to guide or manage activities of constituent systems Acknowledged [Dahmann, 2008] Have recognized objectives, a designated manager, and resources at the SoS level (SoSE team) Constituent systems maintain their independent ownership, objectives, funding, and development approaches Directed [Maier, 2008] SoS centrally managed by a government, corporate, or Lead System Integrator (LSI) and built to fulfill specific purposes Constituent systems maintain ability to operate independently, but evolution subordinated to centrally managed purpose

ICM Showing Multi-Build Software in DSOS

Multi-Build Software Cost Estimation Using COINCOMO Using the COINCOMO 2.0 tool COCOMO model as a base: estimated the software Effort (PM) and Schedule (M) for each module COPSEMO model to separate the man power loading across Elaboration and Construction phases COPSEMO model to add additional effort and schedule for Inception and Transition phases Used a spreadsheet to combine efforts AFTER aligning the beginning of Elaboration with the end of Construction COCOMO calculates effort and schedule for the Elaboration and Construction phases of a build with new code and code carried forward from the previous build treated as re-used code with very favorable re-use parameters.

ICM-Sw/RUP Concurrent Activities

Incremental Development Productivity Decline (IDPD) Overview The “Incremental Productivity Decline” (IDPD) factor represents the percentage of decline in software producibility from one increment to the next. The decline is due to factors such as previous-increment breakage and usage feedback, increased integration and testing effort. Another source of productivity decline is that maintenance of reused previous build software is not based on equivalent lines of software credited during the previous build, but on the full amount of reused software. Build 1: 200 KSLOC new, 200K Reused@20% yields a 240 K ESLOC “count” for estimation models. Build 2: there are 400 KSLOC of Build 1 to maintain and integrate Such phenomena may cause the IDPD factor to be higher for some builds and lower for others.

Incremental Development Productivity Decline (IDPD) Example: Site Defense BMD Software 5 builds, 7 years, $100M Build 1 productivity over 300 SLOC/person month Build 5 productivity under 150 SLOC/PM Including Build 1-4 breakage, integration, rework 318% change in requirements across all builds IDPD factor=20% productivity decrease per build Similar trends in later unprecedented systems Not unique to DoD: key source of Windows Vista delays

IDPD Ranges Some savings: more experienced personnel (5-20%) Depending on personnel turnover rates Some increases: code base growth, diseconomies of scale, requirements volatility, user requests Breakage, maintenance of full code base (20-40%) Diseconomies of scale in development, integration (10-25%) Requirements volatility; user requests (10-25%) Best case: 20% more effort (IDPD=6%) Worst case: 85% (IDPD=23%)

Effects of IDPD on Number of Increments Model relating productivity decline to number of builds needed to reach 8M SLOC Full Operational Capability Assumes Build 1 production of 2M SLOC @ 100 SLOC/PM 20000 PM/ 24 mo. = 833 developers Constant staff size for all builds Analysis varies the productivity decline per build Extremely important to determine the incremental development productivity decline (IDPD) factor per build

Conclusion Staffing stability helps to improve team cohesion and developer experience, thus provide positive contribution to productivity outcome Design deficiency and code breakage causes productivity declines If the original design is insufficient to accommodate additional modules, and a re-architecting effort was necessary to put this project back on track Inserting new code into the previous build adds effort to read, analyze, and test both the new and old code in order to ensure nothing is broken, this extra effort may be mitigated by experienced staff

Q & A Questions? Comments? Thank you very much