Your Training Partner
Articles
Use cases and user stories in agile context

Beyond the User Story vs. Use Case Debate

in Agile, Business Analysis, Lean / Agile

A Brief History of Saying What You Want

Software requirements have always been a translation problem. Stakeholders know what they need in business terms. Developers need that knowledge expressed in terms they can build from. The methods we use for that translation have changed roughly once per decade, and each transition produced the same argument: the new way makes the old way obsolete.

Use cases arrived in the 1990s, popularized by Ivar Jacobson and codified by Alistair Cockburn. They replaced abstract "the system shall" statements with concrete scenarios: an actor performs an action, the system responds, and the interaction continues until the goal is achieved or abandoned. Use cases made requirements readable and verifiable.

Then came agile. User stories emerged from Extreme Programming in the early 2000s and spread through Scrum into mainstream practice. The format was deliberately minimal: a role, a desire and a reason, written on an index card. Kent Beck and Ron Jeffries designed stories to be conversation starters, not finished specifications.

The Misreading That Changed Everything

The Agile Manifesto says "working software over comprehensive documentation." The word "comprehensive" is doing heavy work in that sentence. It targets the 500-page specification that takes six months to write and is outdated before the first line of code. It does not target a two-page use case that describes how a customer returns a defective product.

Many practitioners read the manifesto as "no documentation" and adopted user stories as the sole requirements artifact. For simple projects with engaged product owners and small teams, this worked. For everything else, it created a documentation gap that teams filled with tribal knowledge, Slack messages and assumptions.

What Gets Lost Without Detail

User stories excel at capturing intent. They answer the strategic question: what does this person need and why does it matter? They are less effective at capturing behavior: what exactly happens when the user clicks that button, and what happens when something goes wrong?

Consider an e-commerce checkout flow. The story is clean: "As a customer, I want to complete my purchase so that I receive my order." Behind that story sits a labyrinth of decisions. Payment validation, inventory checks, address verification, tax calculation, shipping options, coupon redemption and error handling for each of these steps. A single story cannot contain this complexity. A set of stories can decompose it, but decomposition without a unifying narrative leaves developers assembling a puzzle without the picture on the box.

Use cases provide that picture. They describe the complete flow, including the exception paths that stories rarely address until a tester finds them in sprint review.

The Real Question

The debate between user stories and use cases frames the problem incorrectly. It asks "which artifact should we use?" when the productive question is "what level of detail does this requirement need?"

Some requirements need only a sentence. A minor UI change, a configuration option, a simple data display. A user story handles these efficiently. Other requirements describe complex interactions with multiple actors, branching logic and failure scenarios. These need the structured detail that use cases provide.

The IIBA’s BABOK Guide takes this pragmatic view. It lists both user stories and use cases as elicitation and analysis techniques without declaring either superior. Similarly, the IREB’s CPRE body of knowledge treats use cases as a primary technique for specifying functional requirements, recognizing that agile practices complement rather than replace structured requirements engineering. Both standards acknowledge that requirements come in different sizes and shapes.

How modern teams combine both

Effective agile teams have moved past the either-or debate. They use stories in the product backlog for prioritization and sprint planning. When a story reveals hidden complexity during refinement, they document the detailed interaction in a use case or a similar structured format.

A typical scenario: during backlog refinement, the team discusses a story about password reset. The product owner mentions that enterprise clients need multi-factor authentication, temporary lockouts after failed attempts and admin override capabilities. The BA recognizes that this story has grown beyond what a single card can convey. She drafts a use case that captures the main flow, three alternative paths and two exception scenarios. The story stays in the backlog as the planning unit. The use case becomes the specification that developers and testers work from.

This hybrid approach preserves agile’s emphasis on speed and adaptability while providing the precision that complex software demands. The business analyst becomes the bridge, translating between the product owner’s priorities and the development team’s need for clarity.

Requirements as a Spectrum

The evolution of requirements practices follows a pattern. Each new method addresses the excesses of its predecessor. Specification documents were too heavy, so use cases made requirements scenario-based. Use cases could become bureaucratic, so user stories stripped requirements to their essence. Now, stripped-down stories sometimes lack the detail teams need.

The answer is not to pick a side. It is to recognize that requirements documentation exists on a spectrum from lightweight to detailed. The appropriate level depends on the project, the team, the domain and the specific requirement. A skilled business analyst reads the context and chooses accordingly.

Agile did not kill use cases. It killed the assumption that one documentation format fits all situations. That is a more useful lesson than any methodology war could provide.

Why Scrum Works When the Values Work
All Posts
Requirements Elicitation Meetings That Actually Work