IFCnSSCM-23. Realistic Software Cost Estimation for F6 Fractionated Space Systems. A. Winsor Brown, Ramin Moazeni {AWBrown,

Size: px
Start display at page:

Download "IFCnSSCM-23. Realistic Software Cost Estimation for F6 Fractionated Space Systems. A. Winsor Brown, Ramin Moazeni {AWBrown,"

Transcription

1 IFCnSSCM-23 Realistic Software Cost Estimation for F6 Fractionated Space Systems A. Winsor Brown, Ramin Moazeni {AWBrown, & A W Brown BES/MSEE & USC CSE EC19b=PrsntRealisticSwCEforF6v2.doc 1 of 41 v /02/00

2 Context University of Southern California Goals of Presentation DARPA s System F6: Future Fast, Flexible, Fractionated, Free- Flying 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) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 2 of 41 v1.0-10/28/08

3 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 3 of 41 v1.0-10/28/08

4 Context: ICMs For Systems/Acquisitions, including Directed Systems of Systems Systems For Software Subsystems Parallels to Rational Unified Process (RUP) Differences from Systems 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 4 of 41 v1.0-10/28/08

5 ICM LC Processes for Systems (Hw, Sw & Pw) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 5 of 41 v1.0-10/28/08

6 ICM Activity Categories and Level of Effort 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 6 of 41 v1.0-10/28/08

7 RUP/MBASE Application Development Model 1 I R R L C O L C A C C D I O C P R R 1 (efforts not to scale) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 7 of 41 v1.0-10/28/08

8 ICM-Sw/RUP Activity/Process Model 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 8 of 41 v1.0-10/28/08

9 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 9 of 41 v1.0-10/28/08

10 Overlaps Across Software Builds 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 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 10 of 41 v1.0-10/28/08

11 ICM Showing Multi-Build Software in a System 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 11 of 41 v1.0-10/28/08

12 ICM Showing Multi-Build Software in DSOS (N layers) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 12 of 41 v1.0-10/28/08

13 MBASE/RUP/ICM-Sw Concurrent Activities I R R L C O L C A C C D I O C P R R COCOMO II Estimation Covers 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 13 of 41 v1.0-10/28/08

14 COCOMO II with COPSEMO (for I&T) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 14 of 41 v1.0-10/28/08

15 COPSEMO: Phased Schedule and Effort Dist A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 15 of 41 v1.0-10/28/08

16 COCOMO + COPSEMO COINCOMO A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 16 of 41 v1.0-10/28/08

17 COINCOMO Direction 1b COCOMO + COPSEMO: 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 17 of 41 v1.0-10/28/08

18 COINCOMO 2 Multiple Build Capability from COINCOMO A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 18 of 41 v1.0-10/28/08

19 Build x Multi-Build COCOMO II COINCOMO Sums Across Builds For Est. Build x+1 Build x+2 New Build x Carried New, Reused and COTS Modify Build x New Build x+1 Box size notional for effort. New, Reused and COTS Carried Modify Build x+1 New Build x+2 New, Reused and COTS Carried etc A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 19 of 41 v1.0-10/28/08

20 Multiple Subsystems Overlapping Builds 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 20 of 41 v1.0-10/28/08

21 Outline Context Software Cost Estimation Approach for an F6 Conclusions 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 21 of 41 v1.0-10/28/08

22 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 22 of 41 v1.0-10/28/08

23 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 K 30K Minimal Analysis Services, Minimal Data Store Services, Software Support Services, More Information Assurance, More OS Abstraction Complete Information Assurance, Complete OS abstraction, Complete Analysis Services 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 23 of 41 v1.0-10/28/08

24 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 24 of 41 v1.0-10/28/08

25 Software Capabilities of F6 Modules Module Payload Actuator Build SLOC Software Capabilities 1 10K Initial prototype with Executable Architecture and possibly minimal functionality 2 20K Expand or replace initial prototype with more capabilities, more functionality, and bug fixes in carried code 3 20K Complete Functionality, and bug fixes in carried code 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 25 of 41 v1.0-10/28/08

26 Software Cost Estimation Approach for an F6 Using the COINCOMO 2.0 tool COCOMO model as a base 2 : 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 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 26 of 41 v1.0-10/28/08

27 COINCOMO s Component = COCOMO Project 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 27 of 41 v1.0-10/28/08

28 COINCOMO s COPSEMO for Single Component 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 28 of 41 v1.0-10/28/08

29 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 29 of 41 v1.0-10/28/08

30 Generated Spreadsheet with Totals 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 30 of 41 v1.0-10/28/08

31 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 (1 st Sys.) PCON =?? (we used H) SITE = N-XH (subseq.) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 31 of 41 v1.0-10/28/08

32 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 32 of 41 v1.0-10/28/08

33 Outline Context Software Cost Estimation Approach for an F6 Conclusions 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 33 of 41 v1.0-10/28/08

34 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) Schedule(M) Total Fractionated Sw Devel. E&S - Build 2 Incept. Elab. Const. Trans. Effort (PM) Schedule(M) Total Fractionated Sw Development Effort & Schedule - Build 3 Incept. Elab. Const. Trans. Effort (PM) Schedule(M) Cumulative Schedule(M) Cumulative Total Fractionated Sw Development Effort= Build1= Build2= Build3= Cumulative Schedule(M) A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 34 of 41 v1.0-10/28/08

35 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 35 of 41 v1.0-10/28/08

36 Monolithic Counterpart (cont.) Effort and Schedule Estimates for a Single Build, Monolithic, Conventional Satellite Incept. Elab. Const. Trans. Total Effort (PM) Schedule (M) A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 36 of 41 v1.0-10/28/08

37 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 37 of 41 v1.0-10/28/08

38 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) 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 38 of 41 v1.0-10/28/08

39 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 39 of 41 v1.0-10/28/08

40 Risks University of Southern California Sw Cost Estimating Conclusions 4 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 40 of 41 v1.0-10/28/08

41 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 2008 A W Brown BES/MSEE & USC CSSE EC19b=PrsntRealisticSwCEforF6v2.doc 41 of 41 v1.0-10/28/08