Recitation 1: User Stories
Overview
This recitation will give you the opportunity to familiarize yourself with user stories and help you capture the end user perspective as you build projects.
Staff Overview
- Nicholas Wernink & Alex Barrios
- Emails: ngw@andrew.cmu.edu & ambarrio@andrew.cmu.edu
- Office Hours: Wed 2:30 - 4pm (Nicholas), Thu 12pm - 1pm (Alex)
What are User Stories
The general criteria for a user story: - Capture a description of a software feature from an end-user perspective - Are used for planning - Facilitate conversation among users, stakeholders, developers and etc.
User Story Template
For example, for a job portal:
Epics Vs User Stories
In tech, Epics are not as long as The Odyssey or Mahabharat, but their relative scale is similar
For example,
As compared to User Stories:
What makes a good User Story
- INDEPENDENT
- NEGOTIABLE
- VALUABLE
- ESTIMABLE
- SMALL
- TESTABLE
Case Study
Consider the following product by a relatively unknown startup: maps.google.com - Form teams and create User Stories for a Google Maps alternative:
For example
- As a delivery driver I would like to be able to have multiple destinations so that I can maximize tips by doing multiple deliveries as fast as possible
Food for Thought
- What are the benefits of INVEST?
- What are the issues with the INVEST approach?
Let's try it out
- Capture a description of a software feature from an end-user perspective
- (As a class) Let’s come up with a small example application
- Same teams, Brainstorm and write 5-10 user stories
The 3C's Approach
- Card: The user stories written on cards by customer/product owner
- Conversation: The communication between customer/product owner and developers
- Confirmation: Acceptance criteria/test
For example
Card - As a delivery driver I would like to be able to have multiple destinations so that I can maximize tips by doing multiple deliveries as fast as possible
Conversation - There needs to be a button to be able to add a stop to my route. Also, when I complete one delivery, I need to be routed to the next destination
Confirmation - There is a button that allows me to add multiple destinations to my trips when doing deliveries. Also, the delivery drivers have completed more deliveries due to being able to add more stops
Upcoming
- Homework 1 available on the course website now
- Download Node.js before next recitation https://nodejs.org/en/download/
- Create a GitHub account, if you haven't already.