Tuesday, November 23, 2010

Splitting CRUD stories

Two of my colleagues came across a CRUD (Create / Read / Update / Delete) story, and asked me for advice on how to convince people on splitting stories.

I typically prefer to have smaller stories. In this case, instead of having one CRUD story, I would have one for Read, another for Create/Update and a story for Delete.

Here is an example.

As a online store owner, I want to Create / Read / Update / Delete products so that I can offer my customers the top rated products

Instead of having this CRUD story, I split it like this (I will add a few sample tasks for making it more illustrative):

As a online store owner, I want to Read (view) my products so that I can review what is current available on my site

Sample tasks:

  • Create DB table
  • Populate table with a few sample data
  • Create select DB script
  • Create for viewing my products
  • Create automated functional tests for viewing functionality

As a online store owner, I want to Create / Update a product so that I can offer my customers the top rated products

Sample tasks:

  • Create insert / update DB script
  • Create UI for create / update a product
  • Create automated functional tests for adding product functionality
  • Create automated functional tests for updating product functionality

As a online store owner, I want to Delete a product so that I can offer my customers the top rated products

Sample tasks:

Create DB table for deleted products

  • Create delete DB operation
  • Create UI for deleting a product
  • Create automated functional tests for the delete functionality

This sample is very specific for CRUD stories. There are other ways for splitting stories.

Mike Cohn's book, User Stories Applied is a must read on this subject.

Splitting (or deciding the size of a story) is controversial. Mike Cohn have popularized the INVEST acronym: Independent. Negotiable. Valuable. Estimatable. Sized appropriately. Testable

agree with the S in the acronym listed above: Sized appropriately.

But when I first read the INVEST acronym, the S was for small. I know Sized appropriately is not very specific, but it is more realistic. It is not about being small; it is about being sized appropriately. For this consider several reasoning on splitting your stories. The links below have more on this subject:

http://lassekoskela.com/thoughts/7/ways-to-split-user-stories/

http://agilecoach.typepad.com/agile-coaching/2010/09/ideas-for-slicing-user-stories.html

http://xp123.com/xplor/xp0512/index.shtml

8 comments:

vivian said...

thanks for sharing.my dear friend and i will come next time.thanks.

Spineless said...

ibrahim saraçoğlu
seal
blogger indeks
saç ekimi
estetik
meme küçültme
liposuction
meme büyütme

rsgoldfeng said...

I would have cheap Diablo iii goldone for Read, another forGW2 Cd key Create/Update and a story for Delete.

Mark Rainmanmark said...

I liked your article, I will share your article to everyone!!




RS gold|Diablo 3 Gold|Buy WOW Gold|WoW Gold

GuildWars2Items said...

Pray for powers equal to your tasks.Then the doing of work shall be no miracle, but you shall be the miracleRunescape Gold, Fear not that the life shall come to an end, but rather fear that it shall never have a beginning rs gold, At twenty years of age, the will reigns; Runescape Gold at thirty, the wit; and at forty, the judgment. What gets us into trouble is not what we don't know.It's what we know for sure that just ain't so.

GuildWars2Items said...

Diablo 3 Gold someone who makes you believe that there really is good in the world, someone who makes you laugh until you can't stop Buy Diablo 3 Gold, someone who changes your life just by being part of it Cheap Diablo 3 Gold, this is Forever Friendship

diablo said...

Thanks for informative post.I am pleased sure this post has helped me save many hours of browsing other similar posts just to find what I was looking for.buy diablo 3 gold,Just I want to say:Thank you!

diana wright said...

The SBOK guide of scrumstudy.com will give you a clear understanding of how to run effective daily standup meetings. It also provides you detailed information on Agile Project Management methodologies suchas planning/review/retrospective meeting, and how to take advantages of related tools and so on.