Multi-Build Software Cost Estimation Using COINCOMO Ramin Moazeni CS 510 Fall 2013
Goals of Presentation Describe the current state and motivate next steps Vision(s) & Fundamentals DBA COCOMO COINCOMO today ©USC-CSSE
Why Multiple Builds 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 ©USC-CSSE
Multi-Build COCOMO II ©USC-CSSE
MBASE/RUP Concurrent Activities ©USC-CSSE
Overlap across Builds ©USC-CSSE
Multiple Subsystems Overlapping Builds ©USC-CSSE
Multi-Build COCOMO II Guidance on how to Carry forward ©USC-CSSE
COINCOMO Background COCOMO II + COPSEMO COCOMO: Constructive Cost Model COPSEMO: Phase Schedule and Effort Model Provides a phased distribution of effort to support incremental rapid application development Calculates/predicts the Schedule (months, M) Personnel (P) Adjusted effort (person-months, PM) ©USC-CSSE
COCOMO + COPSEMO ©USC-CSSE
COPSEMO ©USC-CSSE
COINCOMO Vision build a base to integrate all of the components of the COCOMO "suite" of software development estimation tools cover all software development activities accommodate the multiple (from different organizations), builds (or deliveries) and systems 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 ©USC-CSSE
COINCOMO Naming Convention COINCOMO Systems, Sub-Systems and Components System is conceptual aggregator of Sub-Systems Sub-System is aggregator for (software) Components Component = COCOMO Project Sub-Component = COCOMO Module ©USC-CSSE
COINCOMO Naming Convention A CSV output of COINCOMO facilitates “aggregation” using a spreadsheet Schedule after anchor point alignment Effort per phase per build after anchor point alignment ©USC-CSSE
COINCOMO Component ©USC-CSSE
COINCOMO’s COPSEMO ©USC-CSSE
Generated Spreadsheet ©USC-CSSE
Context: F6 Future Fast, Flexible, Fractionated, Free-Flying Spacecraft united by Information eXchange ©USC-CSSE
Software Cost Estimation for F6 Hypothesized (builds, capabilities and SLOC/build) Common Operating Environment Service Based Architecture Middleware Common Services Small satellites Power Generation Space-Ground (S/G) Communication Micro satellites A Sensor Payload A Radar Payload An Actuator Payload ©USC-CSSE
Software Capabilities of F6 Modules ©USC-CSSE
Software Capabilities of F6 Modules ©USC-CSSE
Software Capabilities of F6 Modules ©USC-CSSE
Software Cost Estimation Approach for F6 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 ©USC-CSSE
Software Cost Estimation Approach for F6 Used a spreadsheet to combine efforts AFTER aligning the beginning of Elaboration with the end of Construction Used COINCOMO for a monolithic equivalent 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. ©USC-CSSE
Monolithic Counterpart Effort and Schedule Estimates for a Single Build, Monolithic, Conventional Satellite The monolithic satellite is expected to have three payloads: Sensor, Radar and an Actuator. Including a satellite bus of 75K SLOC, and three payloads each with 50K SLOC, the monolithic satellite would fly with 225K SLOCs of software. ©USC-CSSE
Sw Cost Estimation Conclusions COCOMO II, or some other cost model, Along with COPSEMO, or its equivalent in some other cost model, Had to be used for each build because Nobody has experience with developing software for an F6 Traditional Cost Estimating Ratios (CERs) don't work without sufficient data ©USC-CSSE
Sw Cost Estimation Conclusions - 2 Complications in parametric estimates for F6 Differences between the teams producing the software Amounts of carried code and their reuse factors change with the number of times the code is carried (these factors influence what software cost estimators call "Equivalent SLOC", or ESLOC, for the carried code which in-turn impacts the effort and schedule) ©USC-CSSE
Sw Cost Estimation Conclusions - 3 When calculating the total schedule in a multi-build approach, only the parts up to an overlap are counted. Total Efforts are additive Schedule is cumulative (at the longest subsystem build) ©USC-CSSE
Refernces COINCOMO Tool COPSEMO COCOMO http://csse.usc.edu/tools/COINCOMO COPSEMO COCOMO ©USC-CSSE