Skip to main content

Essential and Real Use Cases

A use case is a sequence of interactions that a user makes with a product to achieve a goal. When your user interaction designer fleshes out use cases, she has a wide range of choices of how specifically she describes the interactions.

If she chooses abstract language that is relatively free of technology and design assumptions and user interface details, then the use case is essential.

If, on the other hand, she specifies concrete steps that assume technology and design commitments and details about the user interface, the use case is real.

Essential and real use cases are on the extreme points of a continuum. No non-trivial use case is purely essential (often, the very order of steps in a use case represents a design decision), and no level of detail in a use case can render it purely real (there is always some room for developers to make additional technology choices).

Comments

AlanAJ said…
I tend to agree but there are two logical consequences that one needs to assent to if your hypothesis is correct.

1. All purely essential use cases are trivial.

2. All real use cases are ambiguous.

I don't think I agree with either propostition. The first is probably the more interesting, but the second is perhaps easier to address first.

While most people would agree that you should not fully describe the User Interface within the use case, you seem to suggest that you cannot. I believe that it is possible, if perverse, to specify each and every aspect of a UI in a use case, so that the use case fully describes what the UI does, behaviorally, leaving the developers with only the problem of how, technically, to deliver the required systems behavior.

The difficulty with the first proposition, on the other hand, is the lack of a distinction between business process* design and user interaction design. A non-trivial business process might include steps that are optional, redundant, and sequenced-when-not-dependent, for example. Business process re-engineering seeks to identify this sort of "over-real" process step and derive a "more essential" business process. Perhaps you believe that a purely essential business process specification is unattainable, unless it is abstracted to the point of triviality?

In any event, a given business process, how ever real or essential, provides the context for a myriad UI specifications. And, yes, it usually makes sense to iterate between the business process specification and the system requirements specification in search of a better way to achieve the business goals. But... given a defined business process (for the time being) plus general agreement about the scope of automation (how ever premature), is it not possible to characterise the UI simply in terms of the presence of (requirement for) an interaction between actor and system in support of the business process? Is such a characterization inherently trivial? If not, must the elaboration of these points of interaction into steps of a use case inevitably include the addition of technology and/or design?

Of course, if you believe that no use case step can be purely essential, it must follow that no use case can be purely essential. But you suggest that "trivial" use cases may be purely essential, and these must presumably comprise one ore more purely essential step. So the interesting question is: What stops an arbitrarily large number of essential use case steps from being combined into a purely essential, non-trivial use case?

*Since not all systems are intended to operate within a business context, a more general term is required. I use the term "user context" for this.
Roger L. Cauvin said…
Thanks for your considered opinions, AlanAJ.

I actually do accept both of the logical consequences you enumerated.

By "trivial use case", I mean one that contains two steps. The first step states the user's indication of intent to fulfill a functional goal. The second step indicates that the system has satisfied that goal.

The use case is a "black box" in that there are no explicit intervening steps. (There can and should be preconditions and postconditions that contain no design assumptions, however.)

Any intervening steps violate that "black box" and therefore encroach into "real" territory.

I believe the same properties apply to business process specifications. I don't believe a purely essential, non-trivial business process specification is possible.

As for real use cases, I don't see how anyone can possibly (at least in a practical sense) fully specify all of the technology and design assumptions (the definition of "real use case") in a use case.

Popular posts from this blog

Why Spreadsheets Suck for Prioritizing

The Goal As a company executive, you want confidence that your product team (which includes all the people, from all departments, responsible for product success) has a sound basis for deciding which items are on the product roadmap. You also want confidence the team is prioritizing the items in a smart way. What Should We Prioritize? The items the team prioritizes could be features, user stories, epics, market problems, themes, or experiments. Melissa Perri  makes an excellent case for a " problem roadmap ", and, in general, I recommend focusing on the latter types of items. However, the topic of what types of items you should prioritize - and in what situations - is interesting and important but beyond the scope of this blog entry. A Sad but Familiar Story If there is significant controversy about priorities, then almost inevitably, a product manager or other member of the team decides to put together The Spreadsheet. I've done it. Some of the mos...

5 Ways Companies Make Product Decisions

In the last blog entry, we reviewed the  four problems that companies face, or are trying to overcome, as they make product decisions .  Now we'll look at the ways that most companies make their product decisions. Companies that develop, market, and sell products and solutions make strategic and ongoing tactical decisions.  They decide what features to include in their products, what messages they will use to communicate the value of their products, what marketing tactics they will use, what prospective customers they will target, and many day-to-day choices. Whether or not these decisions are deliberate or ad hoc, most companies use some combination of the following ways of making product decisions. (A downloadable "map" that summarizes the product decision landscape is included at the end of this article.) Customer Wants Product decisions based on feature requests, focus groups, and what prospects and customers say they want. Companies are selling products to ...

Is Customer Development Pseudoscience?

The “Science” of Lean Startup Lean startup practitioners embrace the scientific method, seeking the "truth" about what business model and strategy will lead to product success. We do so by: Formulating hypotheses Crafting and running experiments to test them Learning from the experiments Iteratively feeding our learnings back into revised hypotheses Sounds pretty scientific, at least in spirit, doesn't it? Yet this process actually neglects a key ingredient in the scientists' mode of operation. To identify what’s missing, let’s examine “customer development”. Customer Development Steve Blank is one of the pioneers of the lean startup movement. He introduced into the lean startup lexicon the term “customer development”. Customer development consists of sessions and interactions with customers to test hypotheses. For example, a product manager might interview a prospect, asking if she agrees with the product manager’s hypotheses about the problem...