Back to Software Engineering & Delivery Mastery Series

Part 2: Classical SDLC Models — Waterfall, V-Model, Spiral & More

May 13, 2026 Wasil Zafar 40 min read

Before Agile conquered the world, software engineers tried many structured approaches to tame the chaos of large-scale development. These classical models still underpin regulated industries, embedded systems, and any project where requirements are fixed. Understanding them is essential — even if you never use one directly.

Table of Contents

  1. Introduction
  2. The Waterfall Model
  3. The V-Model
  4. The Sashimi Model
  5. The Incremental Model
  6. The Iterative Model
  7. The Spiral Model
  8. The Unified Process (RUP)
  9. Model Comparison Table
  10. How to Choose a Model
  11. Exercises
  12. Conclusion & Next Steps

Introduction — The Software Crisis

In 1968, NATO convened a conference in Garmisch, Germany to address a growing problem: software projects were failing at alarming rates. Budgets exploded, deadlines slipped by years, and delivered systems routinely didn't work as intended. The attendees gave this phenomenon a name — the "software crisis".

The problem wasn't bad programmers. The problem was that software had grown from small utility programs into massive systems — air traffic control, banking networks, military command systems — without any corresponding evolution in how those systems were planned, built, and delivered. Hardware engineers had blueprints, manufacturing processes, and quality standards. Software engineers had… improvisation.

Definition — Software Crisis: The term coined at the 1968 NATO Software Engineering Conference describing the difficulty of writing useful and efficient computer programs in the required time. Symptoms included cost overruns, late delivery, poor quality, unmet requirements, and unmaintainable code.

The response to this crisis was the birth of Software Development Lifecycle (SDLC) models — structured frameworks that defined the stages software should pass through from conception to retirement. Each model represented a different philosophy about how to manage complexity, risk, and change.

Why Understanding These Models Matters Today

You might think: "We're Agile now, why study Waterfall?" Three reasons:

  1. Context — Agile was a reaction against these models. You can't understand the reaction without understanding what it was reacting to.
  2. Regulated industries — Healthcare, aerospace, defence, nuclear, and financial systems still mandate structured lifecycle documentation. If you work in these sectors, you'll use variants of these models.
  3. Hybrid reality — Most real-world teams use a hybrid. Understanding the pure forms lets you recognise the tradeoffs in your own process.
Key Insight: No model is universally "best". Each optimises for different constraints — fixed requirements, risk tolerance, team size, feedback speed, regulatory compliance. The best engineers choose models like a carpenter chooses tools: the right one for the job.

The Waterfall Model

The Waterfall model is the granddaddy of all SDLC models and perhaps the most misunderstood. It was first formally described by Winston Royce in his 1970 paper "Managing the Development of Large Software Systems" — though, ironically, Royce presented it as an example of a flawed process that needed feedback loops.

Despite Royce's warnings, the industry latched onto the sequential diagram and adopted it wholesale. The US Department of Defence codified it in DOD-STD-2167 (1985), making it the mandatory standard for defence contracts for decades.

The Five Stages

The Waterfall Model — Sequential Phases
flowchart TD
    A[Requirements Analysis] --> B[System Design]
    B --> C[Implementation / Coding]
    C --> D[Verification / Testing]
    D --> E[Deployment & Maintenance]

    style A fill:#132440,color:#fff
    style B fill:#16476A,color:#fff
    style C fill:#3B9797,color:#fff
    style D fill:#16476A,color:#fff
    style E fill:#132440,color:#fff
                            
Phase Activities Output
Requirements Gather all functional and non-functional requirements; stakeholder interviews; create Requirements Specification document SRS (Software Requirements Specification)
Design Translate requirements into architecture; database design; interface specifications; module decomposition Design Document (HLD + LLD)
Implementation Write code according to design specs; unit testing at module level Source code, unit test results
Verification Integration testing, system testing, acceptance testing against requirements Test reports, defect logs
Maintenance Deploy to production; fix bugs; apply patches; handle change requests Production system, maintenance logs

Strengths and Weaknesses

Strengths:

  • Simplicity — Easy to understand and manage. Each phase has clear entry/exit criteria.
  • Documentation — Produces comprehensive documentation at every stage, critical for regulated industries.
  • Milestone clarity — Progress is easy to measure: "We're in Phase 3" tells everyone exactly where the project stands.
  • Works for stable requirements — When requirements truly don't change (missile firmware, regulatory compliance systems), sequential works fine.

Weaknesses:

  • No feedback until late — Users don't see working software until after the Verification phase. By then, fixing requirements errors is catastrophically expensive.
  • Assumes perfect knowledge — The model assumes you can fully specify requirements upfront. For most software, this is fiction.
  • Late testing — Defects found during Verification may require redesign, creating costly rework loops the model doesn't account for.
  • Change resistance — Any requirement change after Phase 1 triggers cascading updates through Design, Implementation, and Testing.
Common Mistake: Treating Waterfall as a universal bad practice. In contexts with truly stable requirements and regulatory documentation mandates (aerospace DO-178C, medical IEC 62304, automotive ISO 26262), Waterfall variants remain the most pragmatic choice. Dismissing it wholesale is a sign you haven't worked in regulated domains.

When Waterfall Still Makes Sense

  • Defence contracts — Fixed requirements from government RFPs; extensive documentation required for audits
  • Embedded systems with hardware dependencies — When the software interfaces with physical hardware that cannot be changed after manufacturing
  • Regulatory compliance projects — SOX compliance, HIPAA implementations where requirements are defined by law
  • Migration/replacement projects — Replacing System A with System B where all requirements are inherited from the existing system
Case Study

The FBI Virtual Case File Disaster (2000–2005)

The FBI's Virtual Case File (VCF) project is a textbook example of Waterfall failure in a domain with evolving requirements. After 9/11, requirements for the case management system changed dramatically — but the Waterfall process couldn't accommodate those changes. The project spent $170 million over five years before being scrapped entirely. The replacement system (Sentinel) eventually succeeded using an Agile approach.

Lesson: Waterfall assumed stable requirements. The post-9/11 world changed requirements faster than the sequential process could absorb them. The model was wrong for the context — not bad in absolute terms, but catastrophically mismatched to a volatile environment.

Waterfall Requirements Volatility Government IT $170M Loss

The V-Model (Verification & Validation)

The V-Model emerged in the late 1980s as an extension of Waterfall that addressed one of its critical flaws: late testing. Instead of treating testing as a single phase after implementation, the V-Model maps every development phase to a corresponding testing phase, creating a "V" shape where the left side represents development and the right side represents validation.

Definition — Verification vs Validation:
Verification = "Are we building the product right?" (Does the code match the design?)
Validation = "Are we building the right product?" (Does the product meet user needs?)

The V Shape — Development Mirrors Testing

The key insight of the V-Model is that test planning begins at the same time as the corresponding development activity. When you write requirements, you simultaneously write acceptance test criteria. When you design architecture, you plan system tests. This eliminates the "Oh no, how do we test this?" surprise at the end.

The V-Model — Each Dev Phase Maps to a Test Phase
flowchart LR
    subgraph Development ["Development (Left Side)"]
        direction TB
        R[Requirements Analysis] --> AD[Architecture Design]
        AD --> DD[Detailed Design]
        DD --> C[Coding]
    end

    subgraph Testing ["Testing (Right Side)"]
        direction TB
        UT[Unit Testing] --> IT[Integration Testing]
        IT --> ST[System Testing]
        ST --> AT[Acceptance Testing]
    end

    R -.->|"Validates"| AT
    AD -.->|"Validates"| ST
    DD -.->|"Validates"| IT
    C -.->|"Validates"| UT
                            
Development Phase Corresponding Test Phase What's Validated
Requirements Analysis Acceptance Testing Does the final system meet business needs?
Architecture Design System Testing Does the full system work as designed?
Detailed Design Integration Testing Do modules interact correctly?
Coding Unit Testing Does each unit function as specified?

Strengths:

  • Early test planning — Test cases are written alongside development, catching ambiguities early
  • Traceability — Every requirement links to a test. Nothing is untested.
  • Higher quality — Defects caught at the right abstraction level (integration bugs in integration testing, not acceptance testing)

Weaknesses:

  • Still sequential — You can't go back and change requirements without cascading through both sides of the V
  • Rigid — Like Waterfall, it assumes stable requirements
  • No working software until coding is complete — Stakeholders still wait until the right side of the V to see anything

The V-Model dominates in industries like automotive (ISO 26262), medical devices (IEC 62304), and avionics (DO-178C) where traceability between requirements and test evidence is legally mandated.

The Sashimi Model (Overlapping Waterfall)

Named after the Japanese presentation of sliced fish where each piece slightly overlaps the next, the Sashimi Model (also called the "Waterfall with Overlapping Phases" model) was described by Peter DeGrace in 1990. It acknowledges that in practice, phases don't have clean boundaries — design starts before requirements are fully finalised, coding begins before design is complete, and testing starts before all code is written.

Think of it as pragmatic Waterfall. Instead of strict phase gates, phases overlap by 10-30%, allowing:

  • Early feedback — Designers can flag requirement ambiguities while requirements are still being finalised
  • Parallelism — Teams aren't idle waiting for the previous phase to complete
  • Smoother knowledge transfer — The handoff between phases is gradual, not abrupt
Key Insight: The Sashimi Model is what most "Waterfall" projects actually look like in practice. Very few real teams wait for 100% completion of one phase before starting the next. If your team claims to be "Waterfall" but starts coding before the design document is signed off, you're doing Sashimi whether you know it or not.

When it's useful:

  • Teams in regulated industries who want some flexibility without fully abandoning sequential governance
  • Projects with mostly-stable requirements but a few areas of uncertainty
  • Organisations transitioning from strict Waterfall toward more iterative approaches

Risks:

  • Overlap boundaries become ambiguous — when does "requirements" end and "design" begin?
  • Milestone tracking becomes harder since phases don't have clean start/end dates
  • Can degenerate into uncontrolled scope creep if overlap isn't managed

The Incremental Model

The Incremental Model delivers the system in a series of increments, each of which adds new functionality to the previous delivery. Think of it as building a house room by room — each room is fully complete and usable when delivered, and you keep adding rooms until the house is finished.

The key characteristic is that each increment is a fully functional subset of the final system. Users can start using the system after the first increment, even though it doesn't have all features yet.

Example: E-Commerce Platform Built Incrementally

Increment Features Delivered User Can Now… Timeline
Increment 1 Product catalog, search, category browsing Browse and search products Month 1-3
Increment 2 Shopping cart, user accounts, wishlists Create accounts, save items Month 4-5
Increment 3 Payment processing, order management, email notifications Complete purchases Month 6-8
Increment 4 Reviews, ratings, recommendation engine Write reviews, get personalised suggestions Month 9-10

Strengths:

  • Early value delivery — Users get working software from Increment 1, not after 10 months
  • Reduced risk — Each increment is smaller and therefore easier to estimate, develop, and test
  • Prioritisation — Highest-value features are delivered first; lower-priority features can be cut if budget runs out
  • Feedback incorporation — User feedback from Increment 1 can influence Increment 3's design

Weaknesses:

  • Architecture must support extension — The initial architecture must accommodate future increments without major refactoring
  • Integration complexity — Each increment must integrate cleanly with previous ones
  • Total cost may be higher — The overhead of multiple deliveries (testing, deployment, documentation updates) adds up

The Iterative Model

The Iterative Model builds the entire system in rough form first, then refines it through successive iterations. Each iteration passes through all development phases (requirements, design, code, test) but produces a progressively more complete and polished version of the whole system.

The crucial difference from incremental: in the iterative model, you have a complete but rough version of the whole system early on. In the incremental model, you have a polished but partial version early on.

The Mona Lisa Analogy

This is the most intuitive way to understand the distinction:

The Mona Lisa Analogy:

Iterative = Sketch the entire painting lightly → add shading everywhere → add colour everywhere → refine details everywhere. At every stage you can see the whole painting, but it gets progressively better.

Incremental = Paint the eyes perfectly → paint the nose perfectly → paint the mouth perfectly → paint the background perfectly. Each piece is done to final quality, but you only see the whole picture at the end.
Aspect Iterative Incremental
What each cycle produces Refined version of the whole system New feature added to the system
Early deliveries Complete but rough Polished but partial
Risk profile Technical risk resolved early (architecture validated) Business risk resolved early (highest-value features first)
Best for Unclear requirements, R&D, prototyping Well-understood features, known priority order
Analogy Sculpting from a block of marble Building with LEGO bricks

Strengths of Iterative:

  • Handles uncertainty — Perfect when you don't fully understand the requirements upfront
  • Architecture validation — Technical risks are surfaced early because you build the whole skeleton first
  • User feedback on the whole — Users can react to the complete system concept, not just isolated features

Weaknesses of Iterative:

  • Requires disciplined scope management — Without clear iteration goals, refinement can go on forever
  • Early versions may disappoint users — A rough prototype can undermine confidence if stakeholders expect polished output
  • Architecture changes between iterations are costly — If the skeleton was wrong, rebuilding it affects everything
Common Mistake: Using "iterative" and "incremental" interchangeably. They are different strategies with different tradeoffs. Most modern Agile frameworks actually combine both — delivering incrementally (new features each sprint) and iteratively (refining existing features based on feedback). But understanding the pure forms helps you recognise which dimension a given sprint is working on.

The Spiral Model

Proposed by Barry Boehm in 1986, the Spiral Model is fundamentally risk-driven. Unlike other models that are driven by phases or features, the Spiral Model's core question at every loop is: "What is the biggest risk right now, and how do we mitigate it?"

The model is represented as a spiral starting from the centre and working outward. Each loop through the spiral represents one iteration of the project, and each loop passes through four quadrants:

The Four Quadrants

The Spiral Model — Four Quadrants Per Loop
flowchart TD
    A["1. Determine Objectives\n(Requirements, constraints,\nalternatives)"] --> B["2. Identify & Resolve Risks\n(Risk analysis, prototyping,\nsimulation)"]
    B --> C["3. Develop & Test\n(Design, code, test,\nintegrate)"]
    C --> D["4. Plan Next Iteration\n(Review, commitment,\npartitioning)"]
    D --> A

    style A fill:#132440,color:#fff
    style B fill:#BF092F,color:#fff
    style C fill:#3B9797,color:#fff
    style D fill:#16476A,color:#fff
                            
Quadrant Purpose Activities
1. Determine Objectives Define what this iteration should achieve Gather requirements for this loop; identify constraints; generate alternatives
2. Identify & Resolve Risks Find and mitigate the biggest risks Risk analysis; build prototypes to test unknowns; conduct simulations; create benchmarks
3. Develop & Test Build and validate this iteration's increment Detailed design, coding, integration, testing based on the model chosen (could be Waterfall, iterative, etc. within this quadrant)
4. Plan Next Iteration Decide what comes next Review progress; get stakeholder sign-off; plan scope for next loop; decide if project should continue

Key characteristics:

  • Each loop increases in scope and detail — Loop 1 might be a feasibility study, Loop 2 a prototype, Loop 3 an MVP, Loop 4 the production system
  • Risk analysis is mandatory every loop — If risk analysis reveals a "show-stopper", the project can be cancelled early with minimal loss
  • Meta-model quality — Quadrant 3 can use any other model for its development. You might use Waterfall within one loop and iterative within another

Strengths:

  • Excellent risk management — Risks are identified and mitigated before they become expensive problems
  • Flexible — Can incorporate elements of any other model within its loops
  • Kill-switch built in — At the end of each loop, stakeholders can decide to stop if risk/reward isn't favourable
  • Progressive commitment — Investment increases only as confidence increases

Weaknesses:

  • Complex to manage — Requires experienced project managers who understand risk modelling
  • Expensive — Risk analysis, prototyping, and formal reviews add overhead
  • Not suitable for small projects — The overhead isn't justified for a 3-person, 3-month project
  • Risk assessment requires expertise — If risks are misidentified, the entire model breaks down
Case Study

NASA's Space Shuttle Software — Spiral in Action

NASA's Space Shuttle onboard software (approximately 420,000 lines of code) used a Spiral-like approach for its development lifecycle. Each mission cycle represented a "loop" — new mission requirements were gathered, risks analysed (with particular attention to safety-critical scenarios), software developed and exhaustively tested, and the next mission planned. The result was one of the most reliable software systems ever built: across 135 missions, the last 3 software versions contained just one error each. The extensive risk analysis and testing in each loop justified the high cost ($35M/year for 260 staff) because a single software failure meant loss of crew.

Lesson: The Spiral Model's overhead is justified when the cost of failure is catastrophic. For life-critical systems, rigorous risk analysis every iteration is an investment, not a cost.

Spiral Risk-Driven Safety-Critical NASA

The Unified Process (RUP)

The Rational Unified Process (RUP), developed by Rational Software (later acquired by IBM) in the late 1990s, attempted to combine the best of all previous models into a comprehensive, configurable framework. It is both iterative and incremental, organised into four sequential phases with multiple iterations within each.

The Four Phases

Phase Goal Key Milestone Typical Duration
Inception Define scope, business case, major risks, rough architecture Lifecycle Objectives Milestone ~10% of effort
Elaboration Validate architecture, mitigate major risks, detail critical use cases Lifecycle Architecture Milestone ~30% of effort
Construction Build the full system incrementally; most coding happens here Initial Operational Capability ~50% of effort
Transition Deploy to users; training; bug fixes; performance tuning Product Release ~10% of effort

Key characteristics:

  • Iterative within each phase — Elaboration might have 2-3 iterations; Construction might have 4-6
  • Architecture-centric — The architecture is validated in Elaboration before Construction begins at scale
  • Use-case driven — Requirements are captured as use cases; development is prioritised by critical use cases
  • Risk-focused — Like Spiral, highest risks are tackled earliest (in Inception and Elaboration)

Strengths:

  • Combines iterative benefits with structured phase gates
  • Architecture is proven before major investment in Construction
  • Well-documented with extensive tooling support (IBM Rational tools)

Weaknesses:

  • Heavyweight — extensive documentation and ceremony
  • Expensive tooling and training costs
  • Often over-applied (using the full RUP for small projects is like using a crane to hang a picture)
Key Insight: RUP influenced many modern practices. Agile's "iteration" concept, the idea of "walking skeletons" (architecture validated early), and risk-driven prioritisation all trace back to RUP and its predecessors. Think of RUP as the evolutionary ancestor of Agile — similar instincts, heavier execution.

Comprehensive Model Comparison

The following table compares all seven models across the dimensions that matter most when choosing an approach:

Dimension Waterfall V-Model Sashimi Incremental Iterative Spiral RUP
Flexibility Very Low Low Low-Medium Medium High High Medium-High
Risk Handling Poor Poor Poor Moderate Good Excellent Good
Documentation Extensive Extensive Moderate Moderate Light Extensive Extensive
Testing Timing End Parallel planning Overlapping Per increment Per iteration Per loop Per iteration
Team Size Any Medium-Large Medium Any Small-Medium Large Large
Feedback Speed Very Slow Slow Slow Moderate Fast Moderate Moderate
Best For Fixed requirements, regulated Safety-critical, medical, automotive Mostly-stable with minor uncertainty Feature-driven delivery, known scope Unclear requirements, R&D, prototyping High-risk, large-budget systems Enterprise systems, complex domains
Working software At the end At the end At the end After each increment After each iteration After each loop After each iteration
Change cost Very High High High Medium Low-Medium Low Medium

How to Choose a Model — Decision Framework

Choosing an SDLC model isn't about fashion or preference — it's about matching the model's characteristics to your project's constraints. Here's a decision framework:

SDLC Model Decision Flowchart
flowchart TD
    A{"Are requirements\nwell-understood\nand stable?"} -->|Yes| B{"Is regulatory\ndocumentation\nmandated?"}
    A -->|No| C{"Is the project\nhigh-risk or\nlarge-budget?"}

    B -->|Yes| D{"Is traceability\nbetween requirements\nand tests required?"}
    B -->|No| E["Incremental Model"]

    D -->|Yes| F["V-Model"]
    D -->|No| G["Waterfall"]

    C -->|Yes| H["Spiral Model"]
    C -->|No| I{"Do you need\nearly working\nsoftware?"}

    I -->|Yes| J{"Are features\nwell-defined\nin priority order?"}
    I -->|No| K["Iterative Model"]

    J -->|Yes| L["Incremental Model"]
    J -->|No| M["Iterative Model"]

    style F fill:#3B9797,color:#fff
    style G fill:#132440,color:#fff
    style H fill:#BF092F,color:#fff
    style E fill:#3B9797,color:#fff
    style K fill:#16476A,color:#fff
    style L fill:#3B9797,color:#fff
    style M fill:#16476A,color:#fff
                            

Decision Factors to Consider

  1. Requirements stability — How likely are requirements to change? Higher volatility → more iterative models.
  2. Risk level — Is this a novel system with unknown technical risks? → Spiral or Iterative.
  3. Regulatory requirements — Must you produce traceability matrices, test evidence, design rationale? → V-Model or Waterfall.
  4. Time to first delivery — Do stakeholders need working software quickly? → Incremental or Iterative.
  5. Team experience — Is the team experienced with the domain and technology? Less experience → more structure.
  6. Project size — Spiral and RUP overhead is only justified for large projects (>20 developers, >12 months).
  7. Budget certainty — Fixed-price contracts favour Waterfall/V-Model; time-and-materials favour iterative approaches.
Key Insight: In practice, most modern projects use a hybrid. You might use Waterfall for the requirements phase (stakeholder sign-off needed), Iterative for design exploration, and Incremental for delivery. The models are tools in a toolkit, not religions to follow dogmatically.

Exercises

Exercise 1

Match the Model to the Scenario

For each of the following scenarios, choose the most appropriate SDLC model and explain why:

  1. Scenario A: A hospital needs a new patient records system. Regulatory requirements (HIPAA, HL7 FHIR) are fixed and well-documented. The system must pass a formal audit before go-live. The project has 18 months and a fixed budget.
  2. Scenario B: A startup is building a new social media app. They have a rough idea of features but expect to pivot based on early user feedback. They need something live within 8 weeks.
  3. Scenario C: A defence contractor is building a new radar processing system. The technology is unproven, failure could endanger lives, and the budget is $200M over 5 years.
  4. Scenario D: A bank wants to add online loan applications to their existing internet banking platform. The requirements are clear (derived from the paper-based process), and they want to deliver features monthly.

Suggested answers: A → V-Model (regulated, traceability needed), B → Iterative (unclear requirements, fast feedback needed), C → Spiral (high risk, large budget, safety-critical), D → Incremental (clear features, phased delivery).

Model Selection Critical Thinking
Exercise 2

Post-Mortem Analysis — Critique a Failed Project

Read the following simplified project summary, then answer the questions below:

A government agency contracted a vendor to build a citizen services portal. The vendor used strict Waterfall. Requirements gathering took 6 months and produced a 400-page SRS. Development took 18 months. When the system was delivered for user acceptance testing, citizens found the interface confusing and many workflows didn't match how they actually interacted with government services. The agency requested 47 change requests. The vendor quoted $4M additional cost and 8 months additional time for the changes. The project was eventually cancelled.

  1. What was the fundamental mismatch between the model and the project context?
  2. At what point could a different model have prevented the failure?
  3. Which model(s) would you recommend instead, and why?
  4. What one practice (regardless of model) would have most reduced the risk of this outcome?
Post-Mortem Waterfall Failure Requirements
Exercise 3

Design a Hybrid Model

You're the lead engineer for a medium-sized team (12 developers) building a new internal HR system for a multinational corporation. The constraints are:

  • Core requirements (payroll, leave management) are well-understood and fixed by labour law
  • Advanced features (performance reviews, learning platform) are unclear and will evolve
  • The system must integrate with 3 existing enterprise systems (ERP, Active Directory, finance)
  • The CTO wants to see something working within 3 months
  • There is no regulatory audit requirement, but the company follows ISO 27001 for information security

Task: Design a hybrid SDLC approach that combines elements from 2-3 models. Explain which model you'd use for which part of the project and why.

Hybrid Model Design Exercise Enterprise
Exercise 4

Model Evolution Timeline

Create a timeline showing the evolution of SDLC models from 1968 to 2001 (when the Agile Manifesto was published). For each model, note:

  • Year introduced
  • Key author/origin
  • What problem it solved compared to its predecessor
  • What new problem it introduced

Hint: The progression should include: NATO Conference (1968) → Waterfall/Royce (1970) → Prototyping (late 1970s) → Spiral/Boehm (1986) → V-Model (late 1980s) → RUP (1998) → Agile Manifesto (2001)

Bonus: Identify the common thread — what single capability improved with each model generation?

History Evolution Research

Conclusion & Next Steps

Classical SDLC models represent humanity's first systematic attempts to bring engineering rigour to software development. Each model was a response to the failures of its predecessor:

  • Waterfall brought order to chaos but was too rigid
  • V-Model fixed the testing gap but remained sequential
  • Sashimi added practical flexibility to Waterfall
  • Incremental delivered value earlier but needed stable requirements
  • Iterative handled uncertainty but needed discipline
  • Spiral managed risk brilliantly but was complex and expensive
  • RUP combined everything but was often too heavyweight

The common thread across this evolution is the increasing ability to handle change and provide faster feedback. Each model relaxed one more constraint of its predecessor, trading documentation and predictability for adaptability and speed.

But even the most flexible classical model — the Spiral — was designed for large teams with formal processes. By the late 1990s, a group of practitioners felt that software development needed something fundamentally different: a philosophy that embraced change rather than merely tolerating it.

Next in the Series

In Part 3: Agile Methodologies — Scrum, Kanban & Lean Startup, we'll explore the Agile Manifesto, its four values and twelve principles, and how Scrum, Kanban, and XP translate those principles into daily practice. You'll see why Agile conquered the industry — and where it still falls short.