Skip to main content

Limitations of "The system shall . . . ."

Is your product manager composing documents with hundreds of sentences beginning with "The system shall . . . ." or "The product shall . . . ."? If so, she should consider a different approach.

Back in 2004, Mike Cohn wrote an interesting article on requirements and agile development. Here is an interesting excerpt from the article:
[C]onsider the following requirements:

3.4) The product shall have a gasoline-powered engine.
3.5) The product shall have four wheels.
3.5.1) The product shall have a rubber tire mounted to each wheel.
3.6) The product shall have a steering wheel.
3.7) The product shall have a steel body.

By this point, I suppose images of an automobile are floating around your head. Of course, an automobile satisfies all of the requirements listed above. The one in your head may be a bright red convertible, while I might envision a blue pickup. Presumably the differences between your convertible and my pickup are covered in additional requirements statements.

But suppose that instead of writing an IEEE 830–style requirements specification, the customer told us her goals for the product:

* The product makes it easy and fast for me to mow my lawn.
* I am comfortable while using the product.

By looking at goals, we get a completely different view of the product: the customer really wants a riding lawnmower, not an automobile. These goals are not user stories, but where IEEE 830 documents are a list of requirements, stories describe a user’s goals. By focusing on the user’s goals for the new product, rather than a list of attributes of the new product, we can design a better solution to the user’s needs.
It's revealing that a product satisfying the first alleged "requirements" specification (the series of "The product shall . . . ." statements) likely would fail miserably at addressing the user's real needs. The real requirements are to mow the user's lawn, and for it to be fast, easy, and comfortable for the user.

Via Jonathan Babcock.

Comments

Unknown said…
Hi,

I agree with your observation, but not quite sure if that is the problem of "The System/Product shall......."

What alternative do you have in mind?
Roger L. Cauvin said…
The problem with "The system shall . . . ." is using it to document interaction design.

Requirements are user goals and nonfunctional requirements that we attach to those goals. It is fine to express requirements in terms of "The system shall . . . ."

But when we break those user goals into fleshed out use cases that detail user interactions with the system to achieve the goals, we move into interaction design. Why should we then turn around and write hundreds of "The system shall . . . ." statements to express what is already implicit in the fleshed-out use cases?
Unknown said…
This may be a little far-fetched, but have you tried not to use Use Cases, rather light wieght user stories? Do you really find value in use cases?

Rajeev
Roger L. Cauvin said…
I find tremendous value in both user stories and use cases.

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