Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · Spiral Model (Library)
page:library-spiral-modela5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewarticlejsongraph
II.
Page JSON

page:library-spiral-model

Structured · live

Spiral Model (Library) json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/library/spiral-model.mdCluster · wiki
Record JSON
{
  "id": "page:library-spiral-model",
  "_kind": "Page",
  "_file": "wiki/library/spiral-model.md",
  "_cluster": "wiki",
  "attributes": {
    "nodeKind": "Page",
    "title": "Spiral Model (Library)",
    "displayName": "Spiral Model (Library)",
    "slug": "library/spiral-model",
    "articlePath": "wiki/library/spiral-model.md",
    "article": "\n# Spiral Model\n\n**Creator**: Barry Boehm (1986)\n**Category**: Risk-Driven Iterative Development\n**Best For**: Large, complex, high-risk projects with evolving requirements\n\n## Overview\n\nThe Spiral Model is a risk-driven software development process model that combines elements of both iterative development and systematic aspects of the waterfall model. Development progresses through multiple spirals (iterations), with each spiral representing a complete development cycle containing four distinct phases.\n\nThe model's unique characteristic is its emphasis on risk analysis and reduction through prototyping at each iteration. The spiral metaphor represents two dimensions:\n- **Radial dimension**: Cumulative cost (increases as you move outward)\n- **Angular dimension**: Progress through phases (each complete rotation = one spiral)\n\n## Four Phases Per Spiral\n\nEach spiral iteration progresses through four quadrants:\n\n### 1. Planning Phase\n- **Objective**: Determine objectives, alternatives, and constraints\n- **Activities**:\n  - Define specific objectives for this spiral\n  - Identify alternative approaches to achieve objectives\n  - Evaluate alternatives based on cost, feasibility, and risk\n  - Select the most appropriate alternative\n  - Document constraints (technical, budget, schedule, regulatory)\n  - Estimate resources and costs\n- **Deliverables**: Objectives document, alternatives analysis, cost estimates\n\n### 2. Risk Analysis Phase\n- **Objective**: Identify and resolve risks through analysis and prototyping\n- **Activities**:\n  - Identify potential risks (technical, schedule, budget, quality)\n  - Assess risk probability and impact\n  - Prioritize risks by severity\n  - Develop risk mitigation strategies\n  - Build prototypes to address high-risk areas\n  - Make Go/No-Go decision\n- **Deliverables**: Risk register, prototypes, mitigation strategies, Go/No-Go decision\n\n### 3. Engineering Phase\n- **Objective**: Develop and test the product\n- **Activities**:\n  - Design system components\n  - Implement selected alternative\n  - Build and validate prototypes\n  - Develop production code\n  - Execute comprehensive testing (unit, integration, system)\n  - Integrate with existing system\n  - Create iteration deliverable\n- **Deliverables**: Working system increment, test results, documentation\n\n### 4. Evaluation Phase\n- **Objective**: Customer evaluation and next iteration planning\n- **Activities**:\n  - Demonstrate deliverables to stakeholders\n  - Gather customer feedback\n  - Evaluate objective achievement\n  - Review risk resolution status\n  - Assess convergence criteria\n  - Determine if project should continue\n  - Plan next spiral or conclude project\n- **Deliverables**: Evaluation report, stakeholder feedback, convergence assessment\n\n## When to Use Spiral Model\n\n### Ideal For:\n- Large, complex projects (6 months to 2 years)\n- High-risk projects with significant uncertainty\n- Projects with evolving or unclear requirements\n- Systems requiring high reliability and safety\n- Projects where early risk identification is critical\n- Organizations with mature risk management processes\n\n### Not Ideal For:\n- Small, low-risk projects (overhead too high)\n- Projects with stable, well-understood requirements\n- Projects with tight budget constraints (prototyping is expensive)\n- Organizations lacking risk management expertise\n- Projects requiring rapid delivery\n\n## Key Advantages\n\n1. **Risk-Driven**: Systematic risk identification and mitigation at each iteration\n2. **Flexible**: Can incorporate waterfall, incremental, or evolutionary approaches\n3. **Early Risk Detection**: Problems identified and addressed early\n4. **Customer Involvement**: Regular evaluation and feedback\n5. **Prototyping**: High-risk areas validated through throwaway or evolutionary prototypes\n6. **Convergence**: Natural stopping point when risks are resolved\n7. **Adaptable**: Can adjust approach based on what's learned\n\n## Key Challenges\n\n1. **Complexity**: Requires sophisticated risk analysis expertise\n2. **Cost**: Prototyping and risk analysis add overhead\n3. **Management Overhead**: More complex to manage than linear models\n4. **Uncertain Timeline**: Number of spirals not always predictable\n5. **Documentation**: Risk analysis requires thorough documentation\n6. **Go/No-Go Decisions**: Requires courage to terminate if risks are too high\n\n## Process Inputs\n\n```json\n{\n  \"projectName\": \"string (required)\",\n  \"projectDescription\": \"string (required)\",\n  \"maxSpirals\": \"number (default: 6)\",\n  \"convergenceCriteria\": \"string (default: 'all-risks-resolved')\",\n  \"stakeholders\": \"array of objects (optional)\",\n  \"riskTolerance\": \"string: low|medium|high (default: 'medium')\",\n  \"initialRisks\": \"string (optional)\",\n  \"generateVisualizations\": \"boolean (default: true)\"\n}\n```\n\n## Process Outputs\n\n```json\n{\n  \"success\": true,\n  \"spirals\": [/* Array of spiral results */],\n  \"spiralCount\": 4,\n  \"converged\": true,\n  \"risks\": {\n    \"totalIdentified\": 25,\n    \"resolved\": 23,\n    \"unresolved\": 2\n  },\n  \"prototypes\": {\n    \"total\": 8,\n    \"list\": [/* Prototype details */]\n  },\n  \"deliverables\": {\n    \"finalSystem\": {/* System state */},\n    \"components\": 15,\n    \"testsPassed\": 342\n  },\n  \"cost\": {\n    \"total\": 850000,\n    \"breakdown\": [/* Cost per spiral */]\n  },\n  \"spiralDiagram\": {/* SVG visualization */}\n}\n```\n\n## Usage Example\n\n```javascript\nimport { process } from './spiral-model.js';\n\nconst inputs = {\n  projectName: \"Enterprise Risk Management System\",\n  projectDescription: \"Complex system for managing enterprise-wide risks with real-time monitoring, predictive analytics, and regulatory compliance.\",\n  maxSpirals: 6,\n  convergenceCriteria: \"all-risks-resolved\",\n  riskTolerance: \"medium\",\n  stakeholders: [\n    { name: \"Jane Doe\", role: \"CTO\", department: \"Technology\" },\n    { name: \"John Smith\", role: \"Risk Officer\", department: \"Risk\" }\n  ],\n  generateVisualizations: true\n};\n\nconst result = await process(inputs, ctx);\n```\n\n## Convergence Criteria\n\nThe process stops when convergence is achieved. Common criteria:\n\n1. **All Risks Resolved**: All critical and high risks mitigated\n2. **Objectives Met**: All primary objectives achieved\n3. **Stakeholder Satisfaction**: Customer satisfaction threshold reached\n4. **No Critical Issues**: System operational with no blocking issues\n5. **Budget Exhausted**: Maximum budget or spirals reached\n6. **Time Constraint**: Project deadline approaching\n\n## Visualizations\n\nThe process generates:\n\n1. **Spiral Diagram**: Shows radial (cost) and angular (phase) progression through spirals\n2. **Risk Heatmap**: Displays risk severity across spirals and categories\n3. **Cost Trend**: Cumulative cost growth across spirals\n4. **Risk Trend**: Risk identification and resolution over time\n\n## Integration with Other Methodologies\n\nThe Spiral Model is highly flexible and can integrate with:\n\n- **Waterfall**: Use waterfall approach within engineering phase\n- **ATDD/TDD**: Apply test-driven development during engineering\n- **Hypothesis-Driven**: Use hypothesis testing for risk analysis\n- **Prototyping**: Core element of risk analysis phase\n- **Agile**: Can use agile practices within spirals\n\n## Best Practices\n\n1. **Risk Management**: Invest heavily in risk identification and analysis\n2. **Prototyping Strategy**: Use throwaway prototypes for validation, evolutionary for low-risk features\n3. **Stakeholder Engagement**: Involve customers at every evaluation phase\n4. **Go/No-Go Discipline**: Be willing to terminate if risks are unacceptable\n5. **Documentation**: Maintain comprehensive risk register and decision logs\n6. **Cost Tracking**: Monitor cumulative cost closely (radial dimension)\n7. **Convergence Monitoring**: Regularly assess convergence criteria\n8. **Adaptive Planning**: Adjust objectives and approach based on learnings\n\n## Artifacts Generated\n\n- `spiral-<N>/phase-1-planning/` - Planning documents, objectives, alternatives\n- `spiral-<N>/phase-2-risk-analysis/` - Risk register, prototypes, mitigation strategies\n- `spiral-<N>/phase-3-engineering/` - Components, test results, deliverables\n- `spiral-<N>/phase-4-evaluation/` - Evaluation reports, feedback, convergence assessment\n- `spiral-diagram.svg` - Visual representation of spiral progression\n- `risk-heatmap.svg` - Risk severity across spirals\n- `project-summary.md` - Final project summary and metrics\n\n## References\n\n- [Boehm, B. W. (1986). \"A Spiral Model of Software Development and Enhancement\"](https://www.cse.msu.edu/~cse435/Homework/HW3/boehm.pdf)\n- [Spiral Model - Wikipedia](https://en.wikipedia.org/wiki/Spiral_model)\n- [GeeksforGeeks: Spiral Model](https://www.geeksforgeeks.org/software-engineering-spiral-model/)\n\n## Process ID\n\n```\nmethodologies/spiral-model\n```\n\nUse with Babysitter SDK:\n\n```bash\nbabysitter run:create \\\n  --process-id methodologies/spiral-model \\\n  --entry spiral-model.js#process \\\n  --inputs inputs.json\n```\n",
    "documents": [
      "specialization:spiral-model"
    ]
  },
  "outgoingEdges": [
    {
      "from": "page:library-spiral-model",
      "to": "specialization:spiral-model",
      "kind": "documents"
    }
  ],
  "incomingEdges": [
    {
      "from": "page:index",
      "to": "page:library-spiral-model",
      "kind": "contains_page"
    }
  ]
}

Shortcuts

Back to overview
Open graph tab