Using Essential Use Cases to design a UI-centric Application
- by Bruno Brant
Hello all,
I'm begging a new project (oh, how I love the fresh taste of a new project!) and we are just starting to design it. In short: The application is a UI that will enable users to model an execution flow (a Visio like drag & drop interface). So our greatest concern is usability and features that will help the users model fast and clearly the execution flow.
Our established methodology makes extensive use of Use Cases in order to create a harmonious view of the application between the programmers and users. This is a business concern, really: I'd prefer to use an Agile Method with User Stories rather than User Cases, but we need to define a clear scope to sell the product to our clients.
However, Use Cases have a number of flaws, most of which are related to the fact that they include technical details, like UI, etc, as can be seem here. But, since we can't use User Stories and a fully interactive design, I've decided that we compromise: I will be using Essential Use Cases in order to hide those details.
Now I have another problem: it's essential (no pun intended) to have a clear description of UI interaction, so, how should I document it? In other words, how do I specify a application through the use of Essential Use Cases where the UI interaction is vital to it?
I can see some alternatives:
Abandon the use of Use Cases since they don't correctly represent the problem
Do not include interface descriptions in the use case, but create another documentation (Story Boards) and link then to the Essential Use Cases
Include UI interaction description to the Essential Use Cases, since they are part of the business rules in the perspective of the users and the application itself