From User Stories to Use Cases: Tell the Full Story 1
Agenda ● User Stories ○ Benefits ○ Limitations ● Use Cases ○ What ○ How ○ Why ● Actors and Personas ● Bringing it all together ● Learn more 2
Lauren Kelly Senior Engagement Manager, Migrations Lead lauren.kelly@pantheon.io 3
Wants to associate A content editor images with events What is a User Story So that the correct images are used for an event 4
User Stories, (too) simplified As a <User Role> I want to <do something> As a content editor, I want to associate images with events.
User Stories - proper form is important As a <User Role> I want to <do something> so that <value>. Answering ‘Why’ helps determine if/when more information is needed. As a content editor, I want to associate images with events so that the correct images are used for any given event.
User Stories have limitations... Unless standards are enforced, they can be ambiguous : As a content editor, I want to associate images with events so that the correct images are used for any given event. What is the real purpose of this story? Could you deliver this with 100% confidence that it would be accepted? Could you accurately estimate this work?
User Stories need to be specific As a content editor, I want to tag images with their associated event, so that they can be consistently used in multiple locations on the site reducing the chance of using the incorrect image for an event. This is better. The scope of the story is configuring a system of tagging images. It needs to be in a method that allows use in a variety of ways - but configuring those uses is not in scope. Would you be more confident in estimating and delivering this story?
User Stories - Benefits Planning Communication Focus on the task level 9
The work within a user story can be estimated and reliably used Planning for sprint planning.
They make it easy to collect information from non-technical Communication stakeholders, since they are in ‘Plain English’.
They capture the individual piece of work to be implemented. Focus They are a great help for a developer in keeping focused on their specific work for any given sprint.
User Stories have limitations... ● User Stories are meant to be selected for sprint development…and then discarded. ● If teams are inconsistent in meeting requirements for user stories, they allow for scope creep. ● It is far too easy to slip into using user stories as a checklist for work completed, without looking at the big picture.
Creating a Monster Building to a Checklist Building piece by piece without Our story doesn’t talk about looking at the system as a whole any other parts of the system. is a fantastic way to turn a project into a Frankenstein-style It relies on the team monster. New stories are added implementing the feature to on to make up for shortcomings understand the how the parts of past sprints, new team interact with the whole. members have their own ideas of how things should work... 14
There are better ways
Use Cases Looking at the big picture 16
Let’s back up a bit... If we consider each project a story… Brilliant art by Randal Munroe XKCD https://xkcd.com/657/
Imagine if you didn’t know all the characters and their storylines... Brilliant art by Randal Munroe XKCD https://xkcd.com/657/
You would have to rewrite entire sections every time a new character came through. Brilliant art by Randal Munroe XKCD https://xkcd.com/657/
Use Cases Use Cases provide these storylines. Who will be doing What things. When and Where will they be doing these things?
Use Cases Use cases can be used to ensure that new work does not require unexpected reworking of existing work.
Use Cases All the actors All the systems All the teams 22
Yes, but what is a Use Case? Use Cases are usually recorded in a few ways: A diagram of All the Interactions between an Actor and Systems ●
Use Cases for Event Registration Our Awesome Website Create View Event Calendar Edit Event View Event Content Details Publish Editor Event Social Media Share Outside Registration Manager Review Event Register Registrants Coordinator for Event Site Visitor
Yes, but what is a Use Case? A list including ● ⌾ Steps performed by the Primary Actor to achieve a Goal ⌾ Alternative steps ✓ Options you want users to have ✓ Options users might mistakenly make
Site Visitor Registers for an Event Steps: Site Visitor comes to site homepage 1. The Site displays upcoming events 2. Site Visitor clicks on the desired event 3. The Site displays Event Information 4. Site Visitor clicks to register for event 5. The Site sends the Site Visitor to the login screen 6. Site Visitor completes log in 7. The Site sends the Site Visitor back to the registration page 8. Site Visitor verifies contact information 9. Site Visitor clicks to submit registration 10. The Site sends a confirmation email to the Site Visitor 11.
Site Visitor Registers for an Event Alternative flows: 5a. The Site displays that Registration is Full for the Event. 9a. Site Visitor updates contact information
Yes, but what is a Use Case? A document including ● ⌾ Primary Actor ⌾ Goal ⌾ Pre-conditions ⌾ Post-conditions ⌾ Definition of success
Actor : Site Visitor Site Visitor Registers Success : The Site Visitor is able to register without assistance from support for an Event Preconditions : An event occuring in the future has been created and published. The event has open registration space available. The Site Visitor has an existing account on the site. Postconditions : The Site Visitor is registered for the selected event. The registration count for the event is increased by 1.
How do we know the actors? I do stufg! In a Use Case, we have actors taking action - but how do we know what actions they’ll take? We can discover these through the creation of Personas 30
Personas: What to include A persona is a fictional character with a whole life outside of your project. ● Name ● Picture ● Job ● Goals, related to the project ● Demographics (a/s/l, income class, family ● Previous Experience background) ● Motivations ● Skills ● Frustrations ● Representative quote
Personas ● Name : Ms Emily Johnson ● Goals : To find hosting for her (Emmy) dog-walking business website ● Job : Graduate Student, F/T, ● Motivations: Afgordable options, Ease Music Education, dog-walker of use, support, stability P/T ● Frustrations: Technical jargon, paying I’ll never stop learning ● Demographics : for things she doesn’t need, limited or sharing what I’ve learned. 25/F/Philadelphia, comes time for troubleshooting ● from a middle-class, Previous Experience: Her friend midwestern family helped her build the website on her ● Skills : teaching, music computer, new to web site ownership, composition, working with new to hosting. animals
Personas -> Actors We now have a picture of a specific type of user coming to the site. Ideally we would want a few examples of each persona group. We can collect these through research While our Actor is still known as Site Visitor in our use cases, when we are coming up with what actions the Site Visitor might take, we have examples in mind.
Bringing it all together to tell the full story Once we build out the Use Cases, we’ll have a complete view of the project: ● Detailed, deliverable User stories can be added to each Use Case ● Sprints can be planned better, fewer blockers ● The scope of the project has been thoroughly defined, but can be easily reduced or increased in estimable ways. ● We have an outline for QA/Testing ● We have shareable documentation on the project
What are the downsides? ● It requires the team to slow down . ● It is time consuming to do it right. ● You need a system to keep all this product documentation together, accessible, and alive .
The pursuit of perfection often impedes improvement. George Will
If I waited for perfection... I would never write a word. Margaret Atwood
Kickofg! At some point you have to stop documenting and start doing. When the team find something that was missed: ● Add it in ● Check to make sure it isn’t afgecting anything else ● Update other afgected areas ● Adjust upcoming sprints with new user stories ● Keep Being Awesome and Tell the Whole Story!
Recommended Resources Usability.gov on Use Cases: ● https://www.usability.gov/how-to-and-tools/methods/use-cases.html Usability.gov on Personas: ● https://www.usability.gov/how-to-and-tools/methods/personas.html Gatherspace: http://www.gatherspace.com/use-case-examples/ ● Wikipedia: https://en.wikipedia.org/wiki/Use_case ● Writing Efgective Use Cases by Alistair Cockburn: ● https://www.amazon.com/Writing-Efgective-Cases-Alistair-Cockburn/dp/02017022 58
Thank You! 41
Recommend
More recommend