Software has been used to solve problems for decades. Over time, the expectations of customers have evolved.
Standardization has tried to keep pace.
Use-cases aim to bridge the gap between a customer-need and its implementable specification. Ref. book Writing effective use-cases.
Goal: Install and Commission Visit-counter in one store
Primary Actor: Field engineer
System: Installation kit, Backend (cloud) for count-records
Steps:
- Field engineer looks up location of installation
- Field engineer looks up the order and picks the right kit
- Field engineer ...
Extensions:
2 a. the kit is not available
...
Variations:
Field engineer has to perform ... multiple times
Use-cases may-or-may-not specify the qualities required for acceptance.
User stories capture the user-goal and Acceptance Criteria to distinguish the scope of the solution.
As Field Engineer, I need installation interface/GUI to commission the visit-counter software in a store so that the customer has a full functioning solution.
The installation interface shall ...
Acceptance Criteria can be expressed in terms of rules or examples
Exercise:
Acceptance Critique
'Good' acceptance criteria = lower transaction costs
Exercise:
Acceptance Authoring
The Acceptance Criteria can be specified as Scenarios:
Given a store with an address
When a store-owner requests installation at 2 PM
Then the installation is scheduled from 2-6 PM
And operations is notified
Given wired-up hardware with pre-installed software
And our app is installed on field engineer's phone
When the field engineer completes first power-up
And connects his mobile to the device-hotspot with SSID "v-counter"
Then Setup instructions should be visible
Given an installed, powered-up system
When a customer visits the store
Then the visit is recorded
Scenarios can bridge stakeholders across the spectrum
| Customer Requirements | System Requirements | Module Requirements | Implementation | Deployment |
|---|---|---|---|---|
| Report on visit counts | Sensor, API & app with authentication | WebServer, Persistence | Record the visit in MongoDB | One-click container |
Scenarios can also fine-grain and separate life-cycles. Such isolation contributes to the real agile practices in the project.
