University of Southern California Center for Systems and Software Engineering IFCnSSCM-23 Realistic Software Cost Estimation for F6 Fractionated Space Systems A. Winsor Brown, Ramin Moazeni {AWBrown, Moazeni}@CSSE.USC.edu © 2008 A W Brown BES/MSEE & USC CSE 401283319 – 1 of 41 v 0.3 04/02/00 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Goals of Presentation Context DARPA’s System F6: Future Fast, Flexible, Fractionated, FreeFlying Spacecraft united by Information eXchange Incremental Commitment Models (ICMs) Constructive Incremental Commitment Cost Model [AKA Constructive Integrated Cost Model] (COINCOMO) & Tool Software Cost Estimation Approaches for an F6 Conclusions ICMs provide frameworks for estimation Lower effort, but longer schedule Significantly lower overall risks (system and software) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 2 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Context: F6 Future Fast, Flexible, Fractionated, Free-Flying Spacecraft united by Information eXchange (Courtesy Dr. Owen Brown’s Briefing for BAA) • Microsat-like modules • Intra-module connectivity – Wireless data – Wireless power transfer • Inter-module connectivity – Wireless data • Robust, secure, selfforming wireless network • Resource sharing across modules – Computation, etc. • Cluster Orbits © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 3 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Context: ICMs For Systems/Acquisitions, including Directed Systems of Systems Systems For Software Subsystems Parallels to Rational Unified Process (RUP) Differences from Systems © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 4 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering ICM LC Processes for Systems (Hw, Sw & Pw) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 5 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering ICM Activity Categories and Level of Effort © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 6 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering RUP/MBASE Application Development Model1 I R R L C O L C A C C D I O C P R R 1 (efforts not to scale) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 7 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering ICM-Sw/RUP Activity/Process Model © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 8 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering 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 © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 9 of 41 v1.0 - 06/27/16 Possible Overlapping Software Development Spirals IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Traditional Deliver And Enhance University of Southern California Center for Systems and Software Engineering Overlaps Across Software Builds Inception Elaboration Construction Transition Inception Elaboration Construction Transition Evolve During Transition [After Sw IOC] Inception Elaboration Construction Transition Inception Elaboration Construction Transition Evolve After Architecture Complete Inception Elaboration with Evol. Req. Construction Transition Incept. Elaboration Construction Transition I. Elab. Construction Transition ... © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 10 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering ICM Showing Multi-Build Software in a System © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 11 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering ICM Showing Multi-Build Software in DSOS (N layers) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 12 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering MBASE/RUP/ICM-Sw Concurrent Activities I R R L C O L C A C C D I O C COCOMO II Estimation Covers © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 13 of 41 v1.0 - 06/27/16 P R R University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COCOMO II with COPSEMO (for I&T) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 14 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COPSEMO: Phased Schedule and Effort Dist. © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 15 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO – 1 COCOMO + COPSEMO © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 16 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO Direction – 1b COCOMO + COPSEMO: © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 17 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO – 2 Multiple Build Capability from COINCOMO 2.0 © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 18 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Multi-Build COCOMO II COINCOMO Sums Across Builds For Est. New Build x Build x+2 Build x+1 Build x Carried Modify Build x Carried New, Reused and COTS New Build x+1 New, Reused and COTS Box size notional for effort. © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 19 of 41 Modify Build x+1 Carried etc. New Build x+2 New, Reused and COTS v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Multiple Subsystems Overlapping Builds © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 20 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Outline Context Software Cost Estimation Approach for an F6 Conclusions © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 21 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Software Cost Estimation Approach for an 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 © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 22 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Software Capabilities of F6 Modules Module COE Build SLOC Software Capabilities 1 30K Communication, Minimal Information Assurance, Minimal Operating System (OS) abstraction, Initial System Services 2 40K Minimal Analysis Services, Minimal Data Store Services, Software Support Services, More Information Assurance, More OS Abstraction 3 30K Complete Information Assurance, Complete OS abstraction, Complete Analysis Services © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 23 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Software Capabilities of F6 Modules Module Power; S/G Comm.; and Payloads Sensor and Radar. Build SLOC Software Capabilities 1 5K Initial prototype with Executable Architecture and possibly minimal functionality 2 15K Expand or replace initial prototype with more capabilities, more functionality, and bug fixes in carried code 3 15K Complete Functionality, and bug fixes in carried code © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 24 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Software Capabilities of F6 Modules Module Build SLOC Software Capabilities 1 10K Initial prototype with Executable Architecture and possibly minimal functionality 2 20K Expand or replace initial prototype Payload with more capabilities, more Actuator functionality, and bug fixes in carried code 3 20K Complete Functionality, and bug fixes in carried code © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 25 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Software Cost Estimation Approach for an F6 Using the COINCOMO 2.0 tool COCOMO model as a base2: 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 Used COINCOMO for a monolithic equivalent 2 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. © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 26 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO’s Component = COCOMO Project © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 27 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO’s COPSEMO for Single Component © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 28 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO naming conventions 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 A CSV output of COINCOMO facilitates “aggregation” using a spreadsheet Schedule after anchor point alignment Effort per phase per build after anchor point alignment © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 29 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Generated Spreadsheet with Totals © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 30 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering More Realistic Estimates First run used all nominal driver settings Second run used more realistic Drivers settings SF: PREC = Low FLEX = LOW RESL = VH (required: Architecting Sweet-spot TEAM = 50% H to VH (required by a DSOS) PMAT = VH (CMM Level 5 organizations) EAFs: RELY = VH APEX H (SubSystems) CPLX = 50% H to VH APEX N (COE) REUSE = VH PLEX ?? (we used L) ACAP = ?? (we used H) LTEX = 50% H to VH PCAP = ?? (we used H) SITE = XH (1st Sys.) PCON = ?? (we used H) SITE = N-XH (subseq.) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 31 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering More Realistic Estimates (cont.) Generated second run taking advantage of COINCOMO’s DataBase centricity: Replicated all elements of system(s): subsystems & components Renamed systems (only): subsystems & components unchanged Changed driver settings in one component; copied to other instances (builds) of same component © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 32 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Outline Context Software Cost Estimation Approach for an F6 Conclusions © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 33 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering PM & M of the Fractionated Modules Total Fractionated Software Development Effort and Schedule spread over three builds Build 1 Incept. Elab. Const. Trans. Effort (PM) 13.76 54.94 173.94 27.47 Schedule(M) 2.01 6.21 10.58 2.01 Total Fractionated Sw Devel. E&S Build 2 Incept. Elab. Const. Trans. Effort (PM) 32.92 131.66 416.90 65.83 Schedule(M) 2.37 7.31 12.44 2.37 Total Fractionated Sw Development Effort & Schedule - Build 3 Incept. Elab. Const. Trans. Effort (PM) 6.61 26.44 83.72 13.22 Schedule(M) 2.33 7.19 12.25 2.33 Cumulative Schedule(M) 21.17 28.48 Cumulative Total Fractionated Sw Development Effort= Build1= 270.11 Cumulative Schedule(M) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 34 of 41 40.92 43.29 917.42 1047.41 Build2= 647.31 Build3= 129.99 43.25 50.44 62.69 65.02 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Monolithic Counterpart Also has three payloads of 50K SLOC: Sensor, Radar and Actuator A satellite bus might need 75K SLOC for Navigation and Control (N&C) Command and Telemetry (C&T) including s/g comm. Power Conditioning Fault Management & Recovery Thermal Management Total of 225K SLOCs © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 35 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Monolithic Counterpart (cont.) Effort and Schedule Estimates for a Single Build, Monolithic, Conventional Satellite Incept. Effort (PM) Schedule (M) Elab. Const. Trans. Total 66.18 264.73 838.31 132.26 1301.48 4.04 © 2016 A W Brown BES/MSEE & USC CSSE 12.47 21.23 401283319 – 36 of 41 4.04 41.78 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Sw Cost Estimating Conclusions – 1 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 © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 37 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Sw Cost Estimating 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 inturn impacts the effort and schedule) 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) © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 38 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Sw Cost Estimating Conclusions – 3 F6 Surprises (?) Total estimated software development effort of our example fractionated system vs. the monolithic system: F6 with Incremental Builds: 1047 Person Months (PM) Monolithic satellite and single build: 1301 PM A 20% decrease in effort cost for the fractionated system (which happens because the smaller pieces of the fractionated approach are not as impacted by the diseconomies of scale for the larger monolithic approach) Schedule The fractionated system would take about 65 months 41 months for the monolithic system © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 39 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering Sw Cost Estimating Conclusions – 4 Risks Lower risk of Multiple Build F6: not big bang With the multiple, overlapping builds: greater assurance that more of the software will be fully functional by the planned launch date. There are also clear systems' costs savings with the ability to launch replacement parts without changes to the software Future savings with the fractionated system approach: Lower penalties for enhanced functionalities launched Radically changing a sensor would probably take only take 38 calendar months & 188 PM of effort, assuming COE is reused without significant change Sensor code is completely re-written © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 40 of 41 v1.0 - 06/27/16 University of Southern California IFCnSSCM-23 – Realistic Software Cost Estimation for F6 Center for Systems and Software Engineering COINCOMO Conclusions UI needs to be developed to assist in spawning estimates Spreadsheet calculations were done in less than an hour because csv file was properly organized. Spreadsheet combination is probably best because of multiple ways to do things Non-COE Components might start AgileArchitecting after Elaboration/Foundation of System/COE Since Sub-Systems are not on the longest path, perhaps they should be not start their next build until Transition is almost complete © 2016 A W Brown BES/MSEE & USC CSSE 401283319 – 41 of 41 v1.0 - 06/27/16