Smart use cases are a very good unit of work in agile projects. By default smart use cases are the unit of work in Smart, but other projects have successfully been used in projects that apply Scrum, feature driven development (FDD) and OpenUP.
Approach to smart requirements
In Smart smart use cases are identified using the smart requirements approach. This approach (applied during the Propose and Scope stages), takes a number of steps. These steps are similar to Alistair Cockburn's model on different levels of use cases:
- Determine project scope. Determine the scope of the project, all main processes that need to be implemented, and all supporting processes. This is similar to cloud level. Perhaps draw an process hierarchy diagram.
- Identify business processes. Split up the scope in hierarchical business processes and chronological business processes, maybe in different layers. Stop at the elementary business process level. Define additional features. This step leads to kite level.
- Identify use cases. Identify user goal level use cases. In general these will map to your elementary business processes. User goal level use cases reside at sea level.
- Model smart use cases. Draw a smart use case diagram per user goal level use cases. Next, identify the executing actors involved. Now model sub-function level use cases at fish level. Also identify services, which also exist at sub-function level. Model these as additional actors.
- Estimate smart use cases. Create a smart estimation, using these user goal and sub-function level use cases. Together these are the smart use case. Apply the collection of smart use case stereotypes. Perhaps play smart estimation poker to establish an estimate.
This approach leads to smart use case diagrams, and a fully featured smart use case estimation.