//****************************************************************************//
//****************** User Stories - February 12th, 2020 *********************//
//**************************************************************************//
- Okay, we're going to continue our trend of having no class on Fridays - happy Valentine's Day! Don't forget your MVP mapping/acceptance criteria are due then!
- I'll start grading your well-defined user statements this Friday, and hopefully have them done before the weekend starts
- "This is one of the bigger early projects, but hopefully it'll guide you the rest of the semester and make your final report much more about assembly than creating something brand-spanking new"
--------------------------------------------------------------------------------
- What I'd like teams to do today is to write a user story/set of acceptance criteria for an EXISTING application you use, like Spotify or something - "basically, you're reverse-engineering user stories"
- Here's the example I came up with:
As a user, I want to create/edit playlists so that I can catalog tracks I wish to frequently access
Scenario 1:
Given the playlist that the user wants to modify/exists has been created
and the desired track has been located
and the track is available
When the user selects "add to playlist"
Then a menu of the user's existing playlists appears
Scenario 2:
Given the menu of the existing playlist's has appeared
and the user has selected a track to be added to the playlist
When the user selects the playlist to which to add the track
Then the desired track is added to the selected playlist
and the user is returned to the original screen/page
and a banner message appears on the bottom the banner
and the banner message disappears after 3 seconds
- "So, writing it out in this much detail forces us to think about what "adding to a playlist" REALLY means, and not just in a vague way"
- 2 scenarios is pretty good for making you think things through a bit
- Our example, for Slack:
- As a project manager, I want to start a message thread so that I can communicate with 1 person but leave it visible to the rest of the team
Scenario 1:
Given an existing message in the channel
and the project manager has access to the channel
and there's no existing reply thread on the message
When the the project manager clicks the "reply" button
and enters/sends a message correctly
Then it opens a new thread on the message
and displays a "Thread" banner underneath the replied-to message
Scenario 2:
Given an existing message in the channel
and the project manager has access to the channel
and there is an existing reply thread on the message
When the project manager clicks the thread banner underneath the message
Then it opens a new window for replying to that thread
Given the project manager has opened the window for a thread
When they enter/submit a message to the thread
Then the message appears as a new message in that thread
and the message counter for the thread banner increments
- Hopefully, this gets you guys to pay attention to the small things that apps do that you don't really notice, like incrementing a counter or pulling up the keyboard; this stuff is what separates professional projects