Skip to main content
Stripe SystemsStripe Systems
Software Development📅 February 10, 2026· 11 min read

Agile vs Waterfall — Choosing the Right Methodology for Your Project

✍️
Stripe Systems

The methodology debate in software development is older than most of the frameworks we argue about on the internet. Waterfall has been declared dead roughly once per year since the Agile Manifesto was published in 2001, yet it continues to ship products in regulated industries, government programs, and hardware-adjacent projects. Meanwhile, agile adoptions fail at rates that should embarrass us — not because the principles are wrong, but because teams adopt the ceremonies without understanding the underlying engineering discipline required.

This is a practical comparison. Neither methodology is universally correct. The right choice depends on your constraints: regulatory environment, requirements stability, team distribution, contract structure, and how much you actually know about the problem you are solving at project kickoff.

How Waterfall Actually Works

Waterfall is a phase-gated process. Each phase produces defined deliverables, and the next phase does not begin until the prior phase is formally complete. The canonical phases are:

  1. Requirements — Produce a Software Requirements Specification (SRS) or equivalent. All functional and non-functional requirements are documented, reviewed, and baselined.
  2. System Design — Architecture documents, interface specifications, database schemas, and hardware allocation decisions are finalized.
  3. Implementation — Code is written against the approved design. Deviations require a formal change request.
  4. Verification — Testing is executed against a Requirements Traceability Matrix (RTM) that maps every requirement to one or more test cases.
  5. Deployment — The system is released, user training is conducted, and operational handoff occurs.
  6. Maintenance — Defects are tracked and resolved through a structured change control process.

The feedback loop in waterfall is long by design. You do not discover that a requirement was wrong during implementation — you discover it during verification, and the cost of correction is high. This is the trade-off: waterfall prioritizes predictability and documentation completeness over adaptability.

Documentation Expectations in Waterfall

Waterfall projects produce significant documentation artifacts: SRS documents, design documents, interface control documents (ICDs), test plans, test procedures, test reports, and traceability matrices. In regulated contexts, these documents are not bureaucratic overhead — they are the evidence trail that your product meets its specified requirements. An FDA reviewer examining a 510(k) submission will expect to see exactly this kind of traceability.

How Agile Actually Works

Agile, as described in the Manifesto, is a set of values and principles — not a process. Scrum, XP, and SAFe are processes that implement those principles differently. The common thread is short iteration cycles, working software as the primary measure of progress, and continuous incorporation of feedback.

In a typical Scrum implementation:

  • Product Backlog — Requirements are captured as user stories or backlog items, ordered by priority. Stories are deliberately incomplete; detail is added just before implementation through backlog refinement.
  • Sprint Planning — The team commits to a set of stories for a fixed-duration sprint (typically two weeks). Stories are decomposed into tasks.
  • Daily Standups — A 15-minute synchronization meeting. Not a status report to management — a coordination mechanism for the team.
  • Sprint Review — Working software is demonstrated to stakeholders. Feedback is captured and fed back into the backlog.
  • Sprint Retrospective — The team examines its own process and identifies improvements.

The feedback loop in agile is short — two weeks in standard Scrum, as short as a single day in Kanban-based flows. You discover misunderstandings quickly because you are showing working software to users and stakeholders regularly.

Documentation Expectations in Agile

Agile does not mean undocumented. The Manifesto says "working software over comprehensive documentation" — the word "over" indicates a priority, not an exclusion. Well-run agile teams produce architecture decision records (ADRs), API documentation, runbooks, and deployment guides. What they avoid is speculative documentation — writing detailed requirements for features that may never be built.

When Waterfall Is the Right Choice

Waterfall is appropriate when the cost of late changes is extremely high and the requirements can be known upfront. Several concrete scenarios:

Regulated Industries (FDA, DO-178C, IEC 62304)

Medical device software under FDA 510(k) or PMA submissions requires documented evidence that every requirement has been verified and validated. IEC 62304 defines software development lifecycle processes for medical devices, and while it does not mandate waterfall explicitly, its emphasis on traceability, risk management documentation, and formal verification aligns naturally with phase-gated approaches. Similarly, DO-178C for avionics software requires requirements-based testing with full traceability — difficult to achieve if requirements are continuously evolving.

You can apply agile principles within individual phases (iterative design spikes during the design phase, test-driven development during implementation), but the macro-level process will look like waterfall because the regulatory submission process demands it.

Fixed-Scope Government Contracts

Many government contracts are structured as firm-fixed-price (FFP) with a defined Statement of Work (SOW). The contract specifies what will be delivered, when, and for how much. The customer expects a detailed plan, periodic milestone reviews, and formal deliverables at each gate. Agile's embrace of changing requirements directly conflicts with a contract that penalizes scope changes. Some government agencies have adopted agile-friendly contract vehicles (notably the U.S. Digital Service and 18F), but the majority of defense and infrastructure contracts still operate in a waterfall-compatible framework.

Hardware-Dependent Projects with Long Lead Times

When software depends on custom hardware with 6-month fabrication lead times, you cannot iterate on the interface every two weeks. The hardware interface must be specified, agreed upon, and frozen early so that PCB layouts, FPGA designs, and mechanical enclosures can proceed in parallel. Embedded systems projects routinely use waterfall for the system architecture and hardware interface definition phases, even if the application software layer uses iterative methods.

When Agile Excels

Agile delivers the most value when requirements are uncertain at the outset and will evolve based on user feedback and market conditions.

User-Facing Products with Evolving Requirements

If you are building a SaaS product, a mobile application, or an internal tool where the users can articulate what they need only after seeing a working prototype, agile is the correct approach. The cost of late discovery in these environments is low (you deploy a fix next sprint), and the cost of building the wrong thing is high (users abandon the product).

Competitive Markets Requiring Fast Iteration

In markets where time-to-feedback matters more than specification completeness, agile's short cycles provide a structural advantage. You ship a minimal feature, measure adoption, and decide whether to invest further — the build-measure-learn loop that Lean Startup formalized but that agile teams have practiced for decades.

Teams with High Domain Uncertainty

When the team is entering an unfamiliar domain or building something genuinely novel, the ability to run short experiments and pivot based on results is essential. Waterfall assumes you can specify the solution upfront; when you cannot, its predictability becomes a liability.

Hybrid Approaches: Scrumfall and Beyond

In practice, many organizations operate in a hybrid mode, whether they acknowledge it or not. The most common pattern:

Waterfall for Planning and Architecture, Agile for Implementation

Sometimes called "Scrumfall" or "Water-Scrum-Fall," this approach uses a waterfall-style front end — requirements gathering, architecture definition, and high-level design — followed by agile sprints for implementation. The back end often reverts to waterfall for integration testing, user acceptance testing (UAT), and deployment.

This hybrid works when:

  • Stakeholders require upfront commitment to scope and budget before funding the project.
  • The architecture must be established before parallel teams can begin work.
  • Integration and deployment are complex enough to require formal coordination.

The risk is that the waterfall bookends consume so much time that the agile middle becomes compressed, losing the iterative benefit. Teams end up in mini-waterfall sprints where each sprint is really just a two-week phase of a sequential plan, with no actual feedback incorporation.

Disciplined Agile Delivery (DAD) and SAFe

Frameworks like SAFe (Scaled Agile Framework) attempt to formalize the hybrid model for large organizations. SAFe introduces Program Increments (PIs) — roughly quarterly planning cycles that resemble waterfall milestones, with agile iterations inside each PI. The value proposition is coordination across multiple teams; the criticism is that the overhead of PI planning, release trains, and architectural runways can be substantial. SAFe works best when you have 50+ engineers working on interdependent components and need a shared cadence. For a team of 12, it introduces unnecessary ceremony.

Kanban as a Middle Ground

Kanban deserves separate discussion because it occupies a distinct position between waterfall's rigid phases and Scrum's time-boxed sprints.

Core Mechanics

Kanban uses a pull-based system with explicit work-in-progress (WIP) limits at each stage. Work items flow continuously from backlog through development, review, testing, and deployment. There are no sprints — items are pulled when capacity is available, and delivery is continuous.

WIP Limits and Flow Efficiency

The key discipline in Kanban is limiting work in progress. If your development column has a WIP limit of 3, a fourth item cannot enter development until one exits. This constraint forces teams to finish work before starting new work, reducing context-switching and improving cycle time. The metric that matters in Kanban is lead time (how long from request to delivery) rather than velocity (how many points per sprint).

When Kanban Fits

Kanban is effective for maintenance teams, operations teams, and support organizations where work arrives unpredictably and cannot be planned into two-week increments. It also works well for teams transitioning from ad-hoc processes — Kanban's first principle is "start with what you do now," making it less disruptive to adopt than Scrum.

A Practical Decision Framework

Rather than vague advice, here are concrete decision criteria:

FactorWaterfallAgileKanban
Requirements stability>80% known upfront<50% known upfrontVariable, unpredictable arrival
Regulatory requirementsFormal traceability requiredMinimal regulatory burdenMinimal regulatory burden
Contract structureFixed-price, fixed-scopeTime-and-materials or outcome-basedOngoing support/maintenance
Feedback cycle toleranceMonthly or quarterly reviews acceptableBiweekly feedback necessaryContinuous feedback preferred
Team sizeAny (with project management overhead)5–9 per team (Scrum guide recommendation)Any
Deployment frequencyQuarterly or lessBiweekly to dailyContinuous
Cost of late requirements changeVery high (hardware, regulatory resubmission)Low (software-only, cloud deployment)Low

If your project sits in the middle on multiple criteria, a hybrid approach is likely your best option. Do not force-fit a methodology.

Common Failures and How to Avoid Them

Waterfall Failures

  • Requirements churn disguised as change requests. If your project accumulates 200 change requests before implementation is complete, the requirements were not stable enough for waterfall. The fix is not more change control — it is acknowledging that the project should have used an iterative approach.
  • Testing phase as the first real integration. When independently developed components meet for the first time during system testing, defects are expensive. Mitigate this with continuous integration even within a waterfall framework — build and integrate nightly, even if formal testing is gated.
  • Documentation as theater. Producing 300-page design documents that nobody reads does not reduce risk. Documentation must serve a specific audience (reviewers, maintainers, regulatory auditors) and be structured for that audience.

Agile Failures

  • Velocity as a management metric. When managers use velocity to compare teams or set targets, teams inflate estimates. Velocity is a planning tool for the team, not a performance metric for management.
  • Absent product ownership. Agile requires a product owner who makes decisions daily. When the product owner is unavailable, the team either blocks or makes assumptions — both are expensive. If your organization cannot commit a product owner, Scrum will not work.
  • Skipping technical practices. Agile without automated testing, continuous integration, and refactoring is not agile — it is ad-hoc development with standups. The engineering practices from XP (test-driven development, pair programming, continuous integration) are what make short iterations sustainable.
  • Retrospectives without follow-through. A retrospective that identifies problems but never changes the process is worse than no retrospective at all, because it teaches the team that raising concerns is pointless.

Team Size and Organizational Considerations

Methodology choice is constrained by organizational structure, as Conway's Law predicts.

Small Teams (3–8 Engineers)

Small teams can operate with lightweight agile — a single backlog, a brief daily sync, and biweekly reviews. Formal Scrum roles (Scrum Master, Product Owner as distinct people) may be unnecessary overhead. Kanban often works better for small teams because it avoids the planning overhead of sprint boundaries.

Medium Teams (9–30 Engineers)

At this scale, you need deliberate coordination. Multiple Scrum teams working from a shared backlog require a mechanism for cross-team dependency management — whether that is a Scrum of Scrums, a shared planning session, or a lightweight architectural review. This is where hybrid approaches and frameworks like LeSS (Large-Scale Scrum) become relevant.

Large Organizations (30+ Engineers)

Large organizations typically need a portfolio-level planning process that resembles waterfall (annual or quarterly roadmap commitments, budget allocation, resource planning) with agile execution at the team level. The challenge is ensuring that the portfolio-level commitments do not become rigid mandates that eliminate the team-level adaptability. SAFe attempts to solve this; whether it succeeds depends heavily on implementation quality.

Distributed and Remote Teams

Distributed teams face additional coordination costs that affect methodology choice. Waterfall's emphasis on written documentation becomes an advantage when team members are in different time zones — a detailed design document is accessible 24 hours a day, while a whiteboard sketch from a co-located design session is not. Agile's emphasis on face-to-face communication requires deliberate investment in tooling (video calls, shared digital whiteboards, asynchronous decision logs) to work effectively across time zones.

Making the Decision

The methodology question is ultimately an economic one. Estimate the cost of late requirements changes in your context. If that cost is high (regulatory resubmission, hardware refabrication, contractual penalties), invest more in upfront specification — which means waterfall or a waterfall-heavy hybrid. If that cost is low (deploy a fix next week, users provide direct feedback), invest more in iteration speed — which means agile or Kanban.

Do not choose a methodology because it is popular, because a consultant recommended it, or because your last company used it. Choose it because the trade-offs align with your project's actual constraints. And be willing to adapt — a methodology that was right for the first six months of a project may not be right for the next twelve.

The teams that deliver consistently are not the ones with the most sophisticated process. They are the ones that understand why their process exists, follow its disciplines honestly, and change it when it stops serving the work.

Ready to discuss your project?

Get in Touch →
← Back to Blog

More Articles