This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Lessons Learned for Development and Management of Large-Scale Software Systems Early planning
People are the largest lever Engage your stakeholders and set expectations Embrace change because change is value
Lifecycle and architecture strategy Prioritize features and align resources for high-payoff Develop products incrementally Iteration facilitates efficient learning Reuse drives favorable effort and quality economics
Execution Organize to enable parallel activities Invest resources in high return-on-investment activities Automate testing for early and frequent defect detection Create schedule margin by delivering early
Decision making Measurement enables visibility Modeling and estimation improve decision making Apply risk management to mitigate risks early
Barry Boehm’s comparisons of actual productivity rates across projects substantiated the COCOMO productivity multiplier factors of 4.18 due to personnel/team capability, etc.
Source: B. Boehm, “Improving Software Productivity,” IEEE Computer, Vol. 20, Issue 9, September 1987, pp. 43-57.
Source: B. Boehm, “Critical Success Factors for Schedule Estimation and Improvement,” 26 th International Forum on Systems, Software, and COCOMO Cost Modeling, November 2, 2011.
Criteria for high adoption rate for innovations: Relative advantage – The innovation is technically superior
(in terms of cost, functionality, “image”, etc.) than the technology it supersedes.
Compatibility – The innovation is compatible with existing values, skills, and work practices of potential adopters.
Lack of complexity – The innovation is not relatively difficult to understand and use.
Trialability – The innovation can be experimented with on a trial basis without undue effort and expense; it can be implemented incrementally and still provide a net positive benefit.
Observability – The results and benefits of the innovation’s use can be easily observed and communicated to others.
Source: E. M. Rogers, Diffusion of Innovations, Free Press, New York, 1983.
Prioritize Features and Align Resources for High-Payoff Synchronize-and-stabilize lifecycle has planning,
development, and stabilization phases Planning phase
Vision statement – Product and program management use extensive customer input to identify and prioritize product features
Specification document – Based on vision statement, program management and development group define feature functionality, architectural issues, and component interdependencies
Schedule and feature team formation – Based on specification document, program management coordinates schedule and arranges feature teams that each contain approximately 1 program manager, 3-8 developers, and 3-8 testers (who work in parallel 1:1 with developers)
Development phase Program managers coordinate evolution of specification. Developers design, code, and debug. Testers
pair up with developers for continuous testing. Subproject I – First 1/3 of features: Most critical features and shared components. Subproject II – Second 1/3 of features. Subproject III – Final 1/3 of features: Least critical features.
Stabilization phase Program managers coordinate OEMs and ISVs and monitor customer feedback. Developers perform
final debugging and code stabilization. Testers recreate and isolate errors. Internal testing – Thorough testing of complete product within the company. External testing – Thorough testing of complete product outside the company by “beta” sites such as
OEMs, ISVs, and end-users. Release preparation – Prepare final release of “golden master” version and documentation for
Figure 4.3-4. JIMO Incremental Software BuildsWe provide incremental software deliveries support integration and test activities and synchronize with JPL, Hamilton Sundstrand, and Naval Reactors to facilitate teaming, reduce risk, and enhance mission assurance.
Delivered to, Usage
201320122011201020092008200720062005CY 2004
PMSR1/05
Data Server Unit (DSU) Builds
Science Computer Unit (SCU) Builds
Flight Computer Unit (FCU) Builds
Note: Science Computer builds for common software only (no instrument software included)
FCU1
ATP11/04
SM PDR6/08
SM CDR8/10
BUS I&T8/12
SM AI&T8/13
Prelim Exec and C&DH Software
Prelim Exec and C&DH Software
FCU2
FCU3
FCU4
FCU5
FCU6
FCU7
Final Exec and C&DH Software
Science Computer Interface
Reactor Controller Interface
AACS (includes autonomous navigation)
Thermal and Power Control
Configuration and Fault Protection
SCU1
Final Exec and C&DH SoftwareSCU2
DSU1
DSU3
Prelim Exec and C&DH Software
DSU2 Final Exec and C&DH Software
Data Server Unique Software
Ground Analysis Software (GAS) Computer Builds
GAS1Preliminary Ground Analysis Software
GAS2Final Ground Analysis Software
A B C D
P
P
P
P
P
P
P
P
P
04S01176-4-108f_154
JPL/NGC, Prelim. Hardware/Software IntegrationJPL/NGC, Final Hardware/Software IntegrationJPL, Mission Module Integration
JPL, Prelim. Hardware/Software IntegrationJPL, Final Hardware/Software Integration
NR, Reactor Controller IntegrationNGC, AACS Validation on SMTBNGC, TCS/EPS Validation on SSTB
NGC, Fault Protection S/WValidation on SSTB
NGC, Prelim. Hardware/Software Integration
NGC, Final Hardware/Software IntegrationNGC, HCR Integration on SMTBJPL, Prelim. Integration into Ground System
JPL, Final Integration into Ground System
1 Requirements2 Preliminary Design3 Detailed Design4 Code and Unit Test/Software
Integration5 Verification and Validation
Legend: N is defined as follows:541 32=
2 53 41=
542 31=
PrototypeActivity
NGC
N Performer of Activity NJPL
Role/activity shared by JPL and NGC
Design Agent
P
Figure 4.3-4. JIMO Incremental Software BuildsWe provide incremental software deliveries support integration and test activities and synchronize with JPL, Hamilton Sundstrand, and Naval Reactors to facilitate teaming, reduce risk, and enhance mission assurance.
Delivered to, Usage
201320122011201020092008200720062005CY 2004
PMSR1/05
Data Server Unit (DSU) Builds
Science Computer Unit (SCU) Builds
Flight Computer Unit (FCU) Builds
Note: Science Computer builds for common software only (no instrument software included)
FCU1
ATP11/04
SM PDR6/08
SM CDR8/10
BUS I&T8/12
SM AI&T8/13
Prelim Exec and C&DH Software
Prelim Exec and C&DH Software
FCU2
FCU3
FCU4
FCU5
FCU6
FCU7
Final Exec and C&DH Software
Science Computer Interface
Reactor Controller Interface
AACS (includes autonomous navigation)
Thermal and Power Control
Configuration and Fault Protection
SCU1
Final Exec and C&DH SoftwareSCU2
DSU1
DSU3
Prelim Exec and C&DH Software
DSU2 Final Exec and C&DH Software
Data Server Unique Software
Ground Analysis Software (GAS) Computer Builds
GAS1Preliminary Ground Analysis Software
GAS2Final Ground Analysis Software
A B C D
P
P
P
P
P
P
P
P
P
04S01176-4-108f_154
JPL/NGC, Prelim. Hardware/Software IntegrationJPL/NGC, Final Hardware/Software IntegrationJPL, Mission Module Integration
JPL, Prelim. Hardware/Software IntegrationJPL, Final Hardware/Software Integration
NR, Reactor Controller IntegrationNGC, AACS Validation on SMTBNGC, TCS/EPS Validation on SSTB
NGC, Fault Protection S/WValidation on SSTB
NGC, Prelim. Hardware/Software Integration
NGC, Final Hardware/Software IntegrationNGC, HCR Integration on SMTBJPL, Prelim. Integration into Ground System
JPL, Final Integration into Ground System
1 Requirements2 Preliminary Design3 Detailed Design4 Code and Unit Test/Software
Integration5 Verification and Validation
Legend: N is defined as follows:541 32=
2 53 41=
542 31=
PrototypeActivity
NGC
N Performer of Activity NJPL
Role/activity shared by JPL and NGC
Design Agent
P
We provide incremental software deliveries support integration and test activities and synchronize with JPL, Hamilton Sundstrand, and Naval Reactors to facilitate teaming, reduce risk, and enhance mission assurance.
Delivered to, Usage
201320122011201020092008200720062005CY 2004
PMSR1/05
Data Server Unit (DSU) Builds
Science Computer Unit (SCU) Builds
Flight Computer Unit (FCU) Builds
Note: Science Computer builds for common software only (no instrument software included)
FCU1
ATP11/04
SM PDR6/08
SM CDR8/10
BUS I&T8/12
SM AI&T8/13
Prelim Exec and C&DH Software
Prelim Exec and C&DH Software
FCU2
FCU3
FCU4
FCU5
FCU6
FCU7
Final Exec and C&DH Software
Science Computer Interface
Reactor Controller Interface
AACS (includes autonomous navigation)
Thermal and Power Control
Configuration and Fault Protection
SCU1
Final Exec and C&DH SoftwareSCU2
DSU1
DSU3
Prelim Exec and C&DH Software
DSU2 Final Exec and C&DH Software
Data Server Unique Software
Ground Analysis Software (GAS) Computer Builds
GAS1Preliminary Ground Analysis Software
GAS2Final Ground Analysis Software
A B C D
P
P
P
P
P
P
P
P
P
04S01176-4-108f_154
JPL/NGC, Prelim. Hardware/Software IntegrationJPL/NGC, Final Hardware/Software IntegrationJPL, Mission Module Integration
JPL, Prelim. Hardware/Software IntegrationJPL, Final Hardware/Software Integration
NR, Reactor Controller IntegrationNGC, AACS Validation on SMTBNGC, TCS/EPS Validation on SSTB
NGC, Fault Protection S/WValidation on SSTB
NGC, Prelim. Hardware/Software Integration
NGC, Final Hardware/Software IntegrationNGC, HCR Integration on SMTBJPL, Prelim. Integration into Ground System
JPL, Final Integration into Ground System
1 Requirements2 Preliminary Design3 Detailed Design4 Code and Unit Test/Software
Integration5 Verification and Validation
Legend: N is defined as follows:541 32=
2 53 41=
542 31=
PrototypeActivity
NGC
N Performer of Activity NJPL
Role/activity shared by JPL and NGC
Design Agent
P
Delivered to, Usage
201320122011201020092008200720062005CY 2004
PMSR1/05
Data Server Unit (DSU) Builds
Science Computer Unit (SCU) Builds
Flight Computer Unit (FCU) Builds
Note: Science Computer builds for common software only (no instrument software included)
FCU1
ATP11/04
SM PDR6/08
SM CDR8/10
BUS I&T8/12
SM AI&T8/13
Prelim Exec and C&DH Software
Prelim Exec and C&DH Software
FCU2
FCU3
FCU4
FCU5
FCU6
FCU7
Final Exec and C&DH Software
Science Computer Interface
Reactor Controller Interface
AACS (includes autonomous navigation)
Thermal and Power Control
Configuration and Fault Protection
SCU1
Final Exec and C&DH SoftwareSCU2 Final Exec and C&DH SoftwareSCU2
DSU1
DSU3
Prelim Exec and C&DH Software
DSU2 Final Exec and C&DH SoftwareDSU2 Final Exec and C&DH Software
Data Server Unique Software
Ground Analysis Software (GAS) Computer Builds
GAS1Preliminary Ground Analysis Software
GAS2Final Ground Analysis Software
A B C D
P
P
P
P
P
P
P
P
P
04S01176-4-108f_154
JPL/NGC, Prelim. Hardware/Software IntegrationJPL/NGC, Final Hardware/Software IntegrationJPL, Mission Module Integration
JPL, Prelim. Hardware/Software IntegrationJPL, Final Hardware/Software Integration
NR, Reactor Controller IntegrationNGC, AACS Validation on SMTBNGC, TCS/EPS Validation on SSTB
NGC, Fault Protection S/WValidation on SSTB
NGC, Prelim. Hardware/Software Integration
NGC, Final Hardware/Software IntegrationNGC, HCR Integration on SMTBJPL, Prelim. Integration into Ground System
JPL, Final Integration into Ground System
1 Requirements2 Preliminary Design3 Detailed Design4 Code and Unit Test/Software
Integration5 Verification and Validation
Legend: N is defined as follows:541 32=
2 53 41=
542 31=
PrototypeActivity
NGC
N Performer of Activity NJPL
Role/activity shared by JPL and NGC
Design Agent
P
Power Power
Incremental software builds deliver early capabilities and accelerate integration and test
Iteration helps refine problem statements, create potential solutions, and elicit feedback
Invest Resources in High Return-on-Investment Activities
Return-on-investment (ROI) for software peer reviews ranges from 9:1 to 3800:1 per project
Return-on-investment (ROI) = Net cost avoidance divided by non-recurring cost 2621 defects, 257 reviews, 9 systems, 1.5 years High ROI drivers
Mature and effective processes already in place Significant new scope under development Early lifecycle peer reviews (e.g., requirements phase) Four of the five programs with >80% requirements and design defects had
Up Down Level 1 All Up Down Level 1 All Up Down Level 1 All
Up Down Level 1 All
DASHBOARD Metrics: Organization: Project: Manager: Contact: Status: Development ABC Products Division XYZ System FirstName LastName [email protected] x12345 10/1/2004
Interactive metric dashboards provide framework for visibility, flexibility, integration, and automation
Interactive metric dashboards incorporate a variety of information and features to help developers and managers characterize progress, identify outliers, compare alternatives, evaluate risks, and predict outcomes
Lessons Learned for Development and Management of Large-Scale Software Systems Early planning
People are the largest lever Engage your stakeholders and set expectations Embrace change because change is value
Lifecycle and architecture strategy Prioritize features and align resources for high-payoff Develop products incrementally Iteration facilitates efficient learning Reuse drives favorable effort and quality economics
Execution Organize to enable parallel activities Invest resources in high return-on-investment activities Automate testing for early and frequent defect detection Create schedule margin by delivering early
Decision making Measurement enables visibility Modeling and estimation improve decision making Apply risk management to mitigate risks early