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-trival 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

Use Case as a Black Box

Consider the following use case: Purchase Items Actor: Purchaser Precondition: Purchaser types at least thirty words per minute and has a web navigation efficiency rating of at least 40. Postcondition: For the average Purchaser acting at full efficiency, the number of seconds elapsed is no more than 30 + 20 * n, where n is the number of items purchased. The name of the use case represents a functional requirement. What does the product do, or enable the user to do? Purchase items. What are we to make of the preconditions and postconditions? What relationship do they have to the requirements for the product? Answer: the preconditions and postconditions are the nonfunctional requirements attached to the functional requirement . Another way of expressing the nonfunctional requirement would be as an attribute and associated constraint: Usability: For a Purchaser who types at least thirty words per minute and has a web navigation efficiency rating of at least 40, it shall take no

Henry Ford's "Faster Horse" Quote

You may have heard the ( apocryphal ) Henry Ford quote: If I'd asked customers what they wanted, they would have said "a faster horse". Over at the On Product Management blog , Saeed gives his take on this infamous quote. He "hates" it, and gives some compelling reasons. Saeed is spot on in his explanations. Personally, I think the quote is great, but it's a matter of interpretation. The valid point of the quote is not that it's a bad idea to facilitate a conversation with your market to better understand it. The valid points are: You must ask the right questions to get valuable answers. You must interpret the answers thoughtfully - often outside their direct meaning - to glean reliable information. Asking questions is not always the best way to "listen" to your market. (E.g., sometimes pure observational studies are more reliable.) Nonetheless, I find the quote is helpful to combat "armchair product management" in the