In part II, I sketched out three possible thinly and vertically sliced and correctly sequenced stories for our ‘Cash Withdrawal’ feature of our ATM system, using the Use Case approach.
We now continue on fleshing out both Use Case (feature) and its scenarios (stories) in three stages: 1) Use Case Analysis; 2) Use Case Design; 3) Use Case Test Cases.
Use Case Analysis (feature development / grooming / refinement) entails describing the Use Case (Feature). It might entail having diagrams; User Experience (UX) Designs. Acceptance criteria. Benefit hypothesis. Product Managers, product Owners, and Business Owner drive this Use Case analysis/Feature development.
Note that story refinement is within the dev team, test team and product owner’s realm.It might entail having diagrams; User Experience (UX) Designs. Acceptance criteria.
Use Case Design: System Architects are involved; architectural runway might need new capabilities to accommodate / support the Use Case (feature)… some real systems are complex!
Use Case Test Cases: In SAFe 4.6, test acceptance criteria is now prescribed to be present in every story and feature. This is to test that the Use Case is fulfilled and so are its scenarios. Use Cases are test cases if you have not noticed it yet. Have one test case at least for every Use Case scenario.
There you have it… my favorite approach to decomposing a feature: Use Case! It is very user and value centric right off the bat … very intuitive, sensical, meaningful and natural.