The Story Owner Process

We use a "story owner" role to design and deliver great features in a continuous delivery process. This replaced the traditional idea of a product owner or product manager. A story owner is responsible for delivering one great feature at a time.

The story owner takes a story (a feature for a user) from initial definition of the story, through build, test, release, announcement and measurement. Here is a picture of what a story owner does at Assembla.

Lean tricks

We used some lean tricks to make this work:

  • One-piece flow. One-piece flow is the lean idea that you should be able to make and delivery one piece (for example, one car) rather than building in big batches. A story owner pulls one story, explains the story with use cases, works to design it, program it, test it, and release it to customers.
  • Un-waterfall. When trying to satisfy developer needs for good, stable use cases, we were tempted to go to a waterfall-type process where we would commit to a story, then make a design, then start development. That would have been bad! To make a great feature, we need to have some discovery and improvement while we are building. Story owners only need to get agreement that they have a clear, useful, important user story before they dive into implementation. This means that most of the story owner work is going to be inside the development and release process.
  • Unblock developers. We don't want developers waiting around for batch processes like planning and releases. Once they commit to working with a story owner on a story, they start releasing to their test systems. As soon as they think something is ready to try, they push it through to production release, with no approval required from the story owner.
  • Hide, then unveil. The developer can release a feature whenever he or she wants, but that doesn't mean it is ready for customers. We use flags to hide it. This gives the story owner a chance to try the feature in test systems, test usability in various ways, and even turn it on for beta users. During this time we're still inside the development cycle for the story, so the developers and designers are still helping to improve it. When it's ready, and we're ready to explain it to customers, the story owner does an "unveil." We show it to everyone, post on the blog, adjust tutorials, and send emails announcing the new feature.