DEV Community

Discussion on: What about use case driven development?

Collapse
 
bgadrian profile image
Adrian B.G.

I'm not familiar with this technique, but at a first glance its focus is on the "golden paths" and requirements, so the downside will be all to lose focus as a developer on the rest of the paths (not so happy). I see it as the opposite of the "defensive programming", after just reading the first pages, so I may be wrong. With which other techniques is usually combined in real-world scenarios?

Collapse
 
bertilmuth profile image
Bertil Muth

Hi. To clarify this a little bit: each use case consists of a set of flows. Each flow is a series of interactions between a user and a system.

There is one "basic flow". That is the "golden path" that you describe. It is very important, as it lets the user reach her desired outcome. So for the use case "buy product", the use case would probably start with the user browsing products, and end with the user confirming the purchase.
That's the moment value is created for the user.

But apart from the basic flow, there may be many so called "alternative flows". An alternative flow is either an alternative path to reach the desired outcome, or a path that ends with an error/error handling.

Another topic is how detailed you document the flows. That can go from a bullet point list of the basic flow's step and enumeration of the alternative flows, to describing all flows in details. That depends on your development process and context.

Hope that helps.

Collapse
 
ben profile image
Ben Halpern

Without being formal about it, this maps pretty well to our approach. Formalization of how we work may be a useful exercise in the future, so thanks for sharing this reference material 😁

Thread Thread
 
bertilmuth profile image
Bertil Muth

Cool. I am glad it's useful. πŸ˜€