
The day before in preparation for this workshop I sent out some reading material. I decided to see if we can break up the simplest story into many stories. I call this story slicing (not to be confused with story splitting - completely different). Rather than using their domain, we use a practice domain... you may be familiar with it... It seems there was this set of three brothers and each was building a home for themselves to protect their families from the elements and a few bad characters that roamed the neighborhood.
So modeling this story and the capturing of it as an agile story I started telling the tale.

You know the rest of the story... let's assume we estimated the size of this story.... it's a 21 point story. OK, let's spit - no let's SLICE the story into several valuable stories. One of the developers suggested we use the Zero, One, Many, technique to slice the story. I smiled broadly because then I knew that at least one of the team had read the previous night's homework.
What are the objects that one needs to model this story?
Objects: Pig, House, Wolf, Wind, and a Land to hold and contain the other instances.
What are the messages that will be passed between the instances?
A Pig may go to a House and Lock-the-Door, a Wolf may go to a House and attempt to Blow-it-Down. A House will have X number of Wind-Resistance and upon reaching zero will crumble.
Building a Land that understands that it controls the existence of other objects and that it takes turns asking those objects for changing state, based upon the messages passed is a game. Building a game is a fun way to learn. Learning to slice stories into valuable de-composites and being able to integrate those composites into a whole - well, that's a never-ending game.
See Also:
There must be 50 Ways to Slice a Story
Patterns for Splitting User Stories
Relearning to count - Zero, One, Many
Comments