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

What Product Managers Can Learn from the Apple iPod

The Story When Apple unveiled its iPod digital music player back in October 2001, I dismissed it as a  parity product . I already owned the Cowon iAUDIO CW100 MP3 player, loaded with my favorite tunes. There was Apple, generating great hype over the iPod as if it were a breakthrough product. The idea of a portable digital music player was nothing new. The first mass-produced MP3 players came out in 1998. In late 2001, the concept may have been new to a lot of Apple customers, but it wasn't new to me. I proudly showed my MP3 player to friends when they gushed about the iPod. Thus Apple's iPod was not an innovative product in and of itself. Years later, however, I realized the significance of ecosystem of which the iPod was a part. Apple had released iTunes (with technology purchased from  SoundJam MP ) and created the iTunes Store for finding and downloading music. Unlike Napster , it was a safe and legal way of distributing and acquiring music. The prior way of playing

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

Interaction Design: the Neglected Skill

Your product development organization has a big, gaping hole in it. (Be prepared to feel defensive as you continue reading.) One of the most important roles in product development is the role of interaction designer. An interaction designer designs how the users will interact with the product and conceptualize the tasks they perform. He decides whether, for example, the user interface will be command driven, object oriented (clicking on objects then specifying what to do with them), or wizard based. The interaction designer decides the individual steps in the use cases. Every company has one or more people that play the interaction designer role. Usually, those people have little or no expertise in interaction design. Sadly, they typically don't even realize how unqualified they are. Let's see who typically plays the role at companies. Engineer . An engineer is an expert on building what is designed. Yes, an engineer may know how to design the internal structure of the hardware