Why Spend Time on Use Cases in Agile Projects?

Someone at a recent conference asked me how to respond to project stakeholders when they say that Use Cases take too long in an agile environment.  I was presenting a talk on “BA Toolkit for an Agile Project (or any other for that matter).”  Here are my answers with some added depth. (Thanks to Justin Roebuck for the great question.)

  1. How else are you going to specify the details needed to turn a user story into useful code? Relying on developers to do that without use cases has three huge flaws. Skipping use case development is:
    1. Inefficient. Eliciting requirements at the same time as writing code is another way of saying you will do multi-tasking. Several studies have shown that people are less efficient when trying to multi-task. (See a 2009 study done by Stanford University for a recent example.) Why would eliciting requirements and creating software be any different? Doing analysis, design, and coding during a sprint is inefficient unless your scope is really small.
    2. Inadequate. We need to get to the right level of detail to avoid rework and to provide software that the business wants and can actually use. To think we can consistently jump from user story to functioning code without use cases is wishful thinking. True, experienced agile developers might be able to work with experienced product owners, but getting to the necessary level of detail is hard for most organizations. Most developers and testers benefit from the consistency of use cases to ensure a successful end-product. For more on the need for an appropriate level of detail, please see Karl Weigers’ article on how detailed to make requirements: https://bit.ly/sw7pS5.
    3. Incomplete. It takes the type of questioning and digging that business analysts are good at to uncover complete requirements. Again, use cases and their complementary modeling techniques of prototyping, data modeling, and process modeling are standard ways to ensure requirements are complete.  If teams are trying to cover all of these during a sprint, then they are not spending adequate time designing, building, and testing software.  These should be done while grooming the product backlog.
  2. How do you know when you are done? One of the key concepts of Agile is knowing what “done” means before starting the development. One aspect of “done” is the boundaries of the delivered software. By using the concept of pre- and post-conditions that are inherent to use cases, we have a built-in device mechanism for knowing what the boundaries are, and helping know when the user story is complete.
  3. How do you know the acceptance criteria? This is the other component of “done.” People who work with Agile and Scrum are fond of talking about the importance of acceptance criteria. I don’t disagree. What they don’t often tell you is how they come up with them. Techniques like use cases are the premier way we have found for determining and then specifying acceptance criteria. There is no better way today in the software industry. Good criteria take time, and another suggestion to convince people to spend time developing use cases is to tell them you are developing “acceptance cases.” We use that term to describe the lowest level of a use case. Instead of converting a detailed use case to an acceptance test, we recommend instead that you develop a first-level “discovery level” use case, then go straight for the acceptance case. It will be faster because you don’t have to do any conversion.

I plan to turn this into an article and show some examples based on the presentation. Check back for more on this topic!

=========

To learn more:

Richard Larson, PMP, CBAP, PMI-PBA

Richard Larson, PMP, CBAP, PMI-PBA, was the founder of and is now a consultant for Watermark Learning. He is a successful entrepreneur with over 35 years of experience in product development, business analysis, project management, training, and consulting. As an internal entrepreneur, Rich led the development of several Watermark Learning online products as a business analyst and product owner. Rich is a frequent speaker at Business Analysis and Project Management national conferences and IIBA® and PMI® chapters around the world. He has contributed as a lead author to the BA Body of Knowledge version 2.0 and 3.0 and was a lead author on PMI’s Business Analysis Practice Guide. He and his wife Elizabeth Larson have co-authored five books on business analysis.

Recent Posts

Transformational Leadership: Inspire Change & Innovation

How do you define success for your team? Take a moment to think about this…

2 months ago

Effective Strategies to Manage a Remote Team

Remote work has transformed how organizations operate, with virtual teams becoming the new normal across…

2 months ago

Transactional Leader vs. Transformational Leader Explained

Effective leadership has never been more critical. Whether managing a team in a high-pressure corporate…

2 months ago

Performance Management Remote Teams

Remote work has transformed how organizations operate, with virtual teams becoming the new normal across…

2 months ago

Mastering the Underlying Competencies of Business Analysis

The Business Analysis Body of Knowledge (BABOK® Guide v3) is a comprehensive guide to the…

1 year ago

BABOK Requirements Life Cycle Management

A certified Business Analyst (BA) has successfully passed an International Institute of Business Analysis (IIBA.org)…

1 year ago