ICM-Sw Essentials for 577 Process models Success models Product models Planning and control Milestone content Process models Life cycle Anchor Points; Risk management Key practices Success models Business case IKIWISI Stakeholder win-win Product models Evaluation and analysis Process entry/exit criteria Product Domain models; Requirements; Architecture; Code; Documentation Property models Cost Schedule Performance Reliability …
Original Spiral and Misinterpretations? Common Misinterpretations Hack some prototypes Fit spiral into waterfall Incremental waterfalls Suppress risk analysis No concurrency, feedback One-size-fits-all model 11/06/09 © 2001-2009 USC-CSSE
“Spiral Development” Definition A risk-driven process model generator Used to guide concurrent engineering Two distinguishing features: Cyclic approach for growing system definition Anchor point stakeholder-commitment milestones 11/06/09 © 2001-2009 USC-CSSE
Six Spiral and ICM Model Essentials 1. Concurrent determination of artifacts in each cycle 2. Each cycle addresses objectives, constraints, alternatives, risks, artifact elaboration, stakeholders’ commitment 3. Risk-driven activity level of effort 4. Risk-driven artifact degree of detail 5. Managing stakeholder commitments via anchor-point milestones 6. Emphasis on system and life-cycle issues - vs. software and development issues 11/06/09 © 2001-2009 USC-CSSE
Incremental Commitment Models The Incremental Commitment Models (ICMs) for System Life Cycle Processes For Systems (Human, Hardware and Software) ICM for Software Intensive Systems (ubiquitous hardware) ICM for Software (only) Systems ICMs solve Spiral Model problems Use spiral principles vs. diagram Relate to stakeholder commitments and values: Make concurrency explicit Use risk to explicitly show go-backs and skips Provide view for handling mini-spirals 11/06/09 © 2001-2009 USC-CSSE
Incremental Commitment Model for Sw Systems 11/06/09 © 2001-2009 USC-CSSE
ICM Showing Software in Systems 11/06/09 © 2001-2009 USC-CSSE
ICM for Software 11/06/09 © 2001-2009 USC-CSSE
Software System Life Cycle Anchor Points Common System/Software stakeholder commitment points Defined in concert with Government, industry affiliates Coordinated with the Rational Unified Process Valuation Commitment Review (VCR) Stakeholders’ commitment to support Inception (IRR) Like getting going steady Foundations Commitment Review [Life Cycle Objectives (LCO)] Stakeholders’ commitment to support architecting (FCR) Like getting engaged Development Commitment Review (DCR) [LC Arch. (LCA)] Stakeholders’ commitment to support full life cycle (through Transition) Like getting married (Construction) and having first child (Transition) Operation (post IOC/TRR and PRR) Stakeholders’ commitment to support operations Like raising a family The anchor point milestones were defined in a pair of USC Center for Software Engineering Affiliates’ workshops, originally for the purpose of defining a set of common reference points for COCOMO II cost model estimates of spiral model projects’ cost and schedule. One of the Affiliates, Rational, Inc., had been defining the phases of its Rational Unified Process, and adopted the anchor point milestones as its phase gates. The first two anchor points are the Life Cycle Objectives (LCO) and Life Cycle Architecture (LCA). At each of these anchor points the key stakeholders review six artifacts: operational concept description, prototyping results, requirements description, architecture description, life cycle plan, and feasibility rationale (see next chart for details). The feasibility rationale covers the key pass/fail question: “If I build this product using the specified architecture and processes, will it support the operational concept, realize the prototyping results, satisfy the requirements, and finish within the budgets and schedules in the plan?” If not, the package should be reworked. The focus of the LCO review is to ensure that at least one architecture choice is viable from a business perspective. The focus of the LCA review is to commit to a single detailed definition of the review artifacts. The project must have either eliminated all significant risks or put in place an acceptable risk-management plan. The LCO milestone is the equivalent of getting engaged, and the LCA milestone is the equivalent of getting married. As in life, if you marry your architecture in haste, you and your stakeholders will repent at leisure. The third anchor point milestone, the Initial Operational Capability (IOC), constitutes an even larger commitment: It is the equivalent of having your first child. 11/06/09 © 2001-2009 USC-CSSE
ICM-LeanMBASE/RUP Activity/Process Model 11/06/09 © 2001-2009 USC-CSSE
MBASE Model Integration Framework Process models Life cycle anchor points Risk management Key practices Success models Business case IKIWISI Stakeholder win-win Property models Cost Schedule Performance Reliability Product models Domain model Requirements Architecture Code Documentation Planning and control Milestone content Evaluation and analysis Process entry/exit criteria Product evaluation 11/06/09 © 2001-2009 USC-CSSE
MBASE Invariants and Variants 1. Use of particular success, process, product, or property models. 2. Choice of process or product representation. 3. Degree of detail of process, product, property, or success modeling. 4. Number of spiral cycles or builds between anchor points. 5. Mapping of activities onto Inception-Elaboration-Construction-Transition phases. 6. Mapping of staff levels onto activities. 1. Defining and sustaining a stakeholder win-win relationship through the system's life-cycle. 2. Using the MBASE Model Integration Framework. 3. Using the MBASE Process Integration Framework. 4. Using the LCO, LCA, and IOC Anchor Point milestones. 5. Ensuring that the content of MBASE artifacts and activities is risk-driven. Variants Invariants 11/06/09 © 2001-2009 USC-CSSE
IICM-Sw P3S Model Integration Process 11/06/09 © 2001-2009 USC-CSSE
ICM-Sw*/MBASE**/Rational Anchor Point Milestones App. Compos. Inception Elaboration, Construction Transition OCR /PRR DCR/LCA FCR/LCO VCR IOC=TRR Stage Sys Devel Phase Rqts. Prod. Des. Development SRR PDR Elaboration Foundations Inception Valuation Construction SAR IOC COCOMO II estimates * Incremental Commitment Model for Sw ** MBASE: Model-Based (System) Architecting and Software Engineering 11/06/09 © 2001-2009 USC-CSSE
COCOTS: Development Model Time LCO – Lifecycle Objectives LCA – Lifecycle Architecture IOC – Initial Operational Capability COCOMO II Effort Estimate COCOTS Effort Estimate 2. COTS Tailoring 1. COTS Assessment 3. Glue Code Development 4. System Effort due to COTS Volatility New System Development Not Involving COTS Components Staffing FCR/LCO (Requirements Review) DCR/LCA (PDR) IOC (SAR) Elaboration (RR) Construction 11/06/09 © 2001-2009 USC-CSSE
IICM-Sw P3S Models* – Integration OCD Shared Vision System Capabilities Key Stakeholders System Boundary & Environment Top-Level Business Case Domain & Organization Description Proposed System Prototyping Proj. Reqts. Capability Reqts. System Interface Level of Service Reqts. Evolution Reqts. System Analysis Architecture Design & Analysis Implementation Design Milestones and Products Responsibilities Approach, Resources FRD Business Case Reqts. Satisfaction Process Rationale Risk Assessment Iteration Plan Quality Plan SSRD LCP SSAD Iterations Release Description Test Plan Test Results Peer Review Report Users Manual CTS * Not exhaustive 11/06/09 © 2001-2009 USC-CSSE
Coverage/Traceability of MBASE Product Models to LCO What about COCOMO? 11/06/09 © 2001-2009 USC-CSSE
ICM-Sw/RUP Activity/Process Model 11/06/09 © 2001-2009 USC-CSSE
Documentation Completeness Inception Elaboration Construction Transition ECR VCR FCR/LCO DCR/LCA IOC/TRR OCR/ PRR Feasibility Iterations Architecture Iterations Usable Iterations Product Releases Management R E Q D S I M P R E Q D E S I M P D E P R E Q D E S I M P D E P R E Q D E S I M P D E P Management Management Management Versions of this chart are in the three main books on the Rational Unified Process (RUP) [Royce, 1998; Kruchten, 1998; and Jacobson, et al., 1999]. It shows the relations between LCO, LCA, and IOC milestones and the RUP Inception, Elaboration Construction, and Transition phases. It also illustrates that the requirements, design, implementation, and deployment artifacts are incrementally grown throughout the phases. As indicated in Variant 3b on Chart 11, the size of the shaded bars will vary from project to project. RATIONAL S o f t w a r e C o r p o r a t i o n Artifact Key: REQ=requirements (OCD + SSRD); DES=design (SSAD + part FRD); IMP=implementation (CTS); DEP=deployment (CTS); Management = (LCP + part FRD) [Note: the size of the shaded bars varies from project to project – MBASE Variant 3b ] 11/06/09 © 2001-2009 USC-CSSE