Skip to main content

CRUD is Crud

When documenting use cases for a software product, some product managers specify ones such as:
Create Employee
Retrieve Employee
Update Employee
Delete Employee
Such functions are called "CRUD" use cases. If your product manager is specifying CRUD use cases in market requirements documents, your product manager probably doesn't understand requirements.

Recall that use cases represent functional requirements insofar as they convey user goals. In the example above, users enter and view information about employees. But what is the user's goal? Why on Earth would anyone want to enter information about an employee?

Users actually don't want to enter such information. The user wants the information to be accurate and up to date and probably to be able to examine it. But creating, updating, and deleting employees is a burden to the user. A fantasy solution would obviate the need for the user to enter such information. Therefore, the Create Employee, Update Employee, and Delete Employee use cases are not requirements and need not appear in requirements documents.

Enabling users of a product to perform CRUD functionality is sometimes the most realistic design choice. Specifying such a design in terms of use cases is helpful. However, chances are that the appearance of CRUD in a requirements document suggests your product manager doesn't understand the distinction between requirements and design.

Comments

Roger L. Cauvin said…
Not at all. I'd be flattered, Scott.

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