This blog is no longer being updated, follow us on Twitter
On user stories and business value
February 26th, 2009
In our presentation at Railsconf Spain 2008, LuisMi Cavalle and I talked on and on about how much we like User stories, about how they are a great way to communicate functionality from stakeholders to designers to developers, and how we use cucumber to convert these plain text descriptions of what our software should do into acceptance testing that actually verifies what our software actually does. You can see the beautiful yet “not-for-the-faint-of-heart” slides of BDD from the trenches in english, but they don’t stand on their own as well as they do when accompanied by our impressive delivery (spanish only). You can also follow this up with @cavalle’s upcoming set of posts on our development process (there ya go, LuisMi, some pressure for you…).
Lately, to try to avoid our natural tendency of going for what is cool more than for what is useful, we are focusing more and more on identifying the business benefit first, ideally in conjunction with our customers. Here is an example of the narrative for one of the features we are working on:
In order to have the upper hand when negotiating content deals with content providers As an owner/manager of a TV service I want to see a performance comparison report between content providers
This is still high level, and a lot of acceptance criteria will have to follow to understand a few things here, such as how we measure ‘performance’, but we’ve accomplished something very important: we now know clearly WHY we are doing this. It will remain there as a goal against which we will be able to measure the success of having such report: if it helps in content negotiations with content providers – WIN! If it doesn’t help… well then FAIL! and maybe we need to reconsider whether that feature makes sense at all or not.
Most importantly, it is the business benefit itself that allows us to prioritize features; it is harder to know if “performance comparison report” should go before, say, “tag editing” than if “having the upper hand when negotiating content deals” should go before “filtering titles more efficiently”. If you still find them hard to prioritize, your customers can tell you, because they can associate a monetary value to each of them; they know how much money good or bad content deals cost them versus the money it costs them having to hire one more guys to manage operations.
Originally published by Jorge Gómez.
Filed under Programming