Monday, 30 November 2015

The story about the rabbit and the cream cheese!

It’s not really about a rabbit and cream cheese, it’s actually a story about user requirements, how they are specified, assumptions and context!

 
A long time ago, I sent my boyfriend a text message and asked him to buy some low fat cream cheese on the way home.

 So what do we think? Clear instruction of what I wanted and when?

 Well no, when I got home he said to me, “you didn’t tell me how much you needed so there’s two packets in the fridge”
 
And in the fridge there were two packets of low fat Dairylea Triangles




Ok, so they are low fat, there is enough for what I needed, and they were purchased on the way home – does this meet my specification?

 Well, after a little debate and looking up the definition of cream cheese, we agreed that does actually meet what I asked for.

 Which means that I was happy right?

Well no. Although I loathingly agreed that that did mean my specification, it was not what I wanted and would be difficult for me to use.

 Why?

 Because actually I was making my pet rabbit a carrot cake for his birthday, and needed cream cheese for the icing.

The actual cream cheese itself would have been ok, but I would have had to open every triangle and scrape the cheese out. Far from ideal!

 So what’s my point?

 Well my point is about context and shared understanding of what is trying to be achieved. Without this information, it is very easy misunderstandings to occur, or for one person to think they know what is meant or wanted, when in fact they don’t.

 In Scrum, instead of saying “Please buy some low fat cream cheese on the way home”, this would have been expressed as a user story

 

Hector would like you to buy 500g of low fat cream on your way home, so that I can make the icing for his birthday carrot cake

 User …. Requirement…. Context

With this additional context information, I like to think that my boyfriend would have made a slightly different choice.

 Potentially of course I could have just asked for 500g of low fat Philadelphia (which is exactly what I wanted) – but there is also danger in being over specific, or guessing the solution rather than telling your development team the problem and letting them find the best solution.

 If Philadelphia hadn’t been available, or there was an own brand equivalent for half the price, then actually, he could have bought me what I needed, without meeting my (too specific) specification.

 I also have another true story – about the project manager and programmer going shopping (which is actually about specifying the solution, rather than outlining the problem/task you are trying to achieve)

 

 

  

No comments:

Post a Comment