The Spiral Development Model — Getting Started

This guide to getting started with the Spiral Development Model is a very condensed summary of Boehm et al.. For more details, check out the original whitepaper here.

Your first major objective is to get to the Life-Cycle Objectives (LCO) Milestone and show that there exists a viable (business) case for at least one system proposal. In the first cycle you will likely only do the key activities outlined in Invariant A, with the goal of creating initial versions of the key artifacts. Later iterations will include development and planning phases. For each cycle, you will need to go through the key phases and have stakeholders willing to do a review, the focus thereof being the key artifacts and the feasibility rationale (see Invariant E). If helpful, you can also do mini-cycles (i.e. for a prototype). The Invariants of the Spiral Model are:

A. The phases of a cycle are:

  1. Objectives constraints, identify alternatives (different options you have)
  2. Evaluate Alternatives
  3. Identify mitigate risks
  4. (Some cycles: Development testing)
  5. (Some cycles: Plan the next phase)
  6. Stakeholder review
  7. Commitment to proceed
Phases of Spiral Development

B. Concurrent Definition of Key Artifacts in each cycle

  • Operational concept
  • Requirements
  •  Plans
    • requirements plan
    • risk management plan
    • life cycle plan
    • (development plan)
    • (integration test plan)
  • System architecture design
  • Key code components

C. Level of effort degree of detail driven by risk considerations

  • The goal is to minimize risk exposure: RE = probability * effects
  • “Levels must be balanced between the risks of learning too little and the risks of wasting time and effort gathering marginally useful information.”
  • If it’s risky to specify precisely: DO NOT specify. If it’s risky not to specify precisely: DO specify.

D. Emphasize system and life-cycle activities artifacts

  • … rather than software and initial development activities artifacts

E. Manage Stakeholder Life-Cycle Commitments with three Anchor Point Milestones

  • Focus on requirements architectural specifications which anticipate accommodate system evolution
  • Life-Cycle Objectives (LCO)
    • Ensure that at least one architecture choice has a Feasibility Rationale with a viable business case for the proposed system:
      • 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 budget and schedules in the plan?”
  • Life-Cycle Architecture (LCA)
    • Commit to a single detailed definition of review artifacts
    • The LCA demarcates the start of significant staff resource commitments
  • Initial Operational Capability (IOC)
    • site, user, operator/maintainer preparation

Cheers!
Marco

P.S. – While I did merge two of the six rules (‘invariants’) of the Spiral model, and wrote the rules in a different order, I feel that it does stay true to the original! 😉

Sources:

[1] Spiral Development: Experience, Principles, and Refinements, Boehm et al., 2000.

Leave a Reply

Your email address will not be published. Required fields are marked *