Scrumcrazy_header5.jpg
scrumcrazybtn.jpg

For Training, Coaching, and Consulting engagements, please contact me for details on how I can help your organization.



Our User Story Characters:

  • Pat the Product Owner
  • Payton the Programmer
  • Charles the Programmer
  • Taylor the Tester
  • Bailey the Business Analyst

The System Under Development

A retail web site similar to something like Amazon.com.

The User Story

User Story Title:

Product availability notification(PAN)

User Story Conversations:

Pat: "For story 24a, here is what I'm looking for. On our web site, when a product is not available, I'd like the user to be able to enter an email address where we can notify them when the product becomes available again."
Payton: "Hmmm... Ok. Right now I think we have something in our system that tells if a product is available or not because we show a specific message to the user when a product is unavailable. We can re-use that same logic."
Charles: "Pat, does it matter if the user has an account with us or not?"
Pat: "No, not now. For now, all we need is a way for the user to enter an email address and press a button. I want this feature to be super easy."
Charles: "Ok, so if we just put like a text box on the screen right under the 'product unavailable' message and say 'Notify me when this product is available' -- is that good enough?"
Pat: "Sounds good."
Taylor: "What if they don't type in a valid email address?"
Pat: "Let them try again. Show them that it was invalid somehow"
Payton: "Do you care how we do that?"
Pat: "Not really, just something that makes it obvious. Once you get something working, just show me and we'll sit down and iterate on that."
Pat: "Anyone else have questions on this one?"
Bailey: "Pat, what will the email notification say?"
Pat: "I have a template for you. All you all have to do is fill in a link to the product on our web site."
Bailey: "Ok, thanks."
Pat: "Any other questions on this one?"
All: "No"
Pat: "Ok, let's move on to the next one then..."

Possible Answers/Story Tests


Using Given/When/Then

AT-1
Given a product that is currently unavailable
When a user is viewing the unavailable product
Then test that the user can enter an email address to sign up for a notification of when the product becomes available.

AT-2
Given a user who is trying to sign up for product availability notification(PAN)
When a user is enters a correctly formatted email address
Then test that the system indicates that they have signed up for PAN for that product.

AT-3
Given a user who is trying to sign up for product availability notification(PAN)
When a user is enters an incorrectly formatted email address
Then test that the system indicates that they have entered an incorrectly formatted email address, AND
test that the system allows the user to try again.

AT-4
Given a product that was previously unavailable
When that product becomes available again
Then test that the system sends an email all of those who signed up for a PAN for that product AND
test that clicking on the product link in the email takes the user to that product's page on our web site.

Using a mix and match of "Specification by Example-Conceptual and Test That"


AT-1
(Y=Yes, N=No, "n/a" means this input or expected output doesn't occur)
Product is unavailable
Expected Output: System displays PAN signup
User enters valid email
Expected Output: System confirms PAN
N
N
n/a
n/a
Y
Y
Y
Y
Y
Y
N
N - error message instead

AT-2
Test that, when a previously unavailable product becomes available, anyone who had signed up for a PAN receives a PAN email.

AT-3
Test that clicking on the product link in the PAN email takes the user to that product's page on our web site.



coaching(4).jpgForScrumMasters.jpgForProductOwners.jpgForScrumDevelopers.jpgPresentations.jpg