Wed 25 Feb 2009
How Does Agile Deliver Time-To-Market Savings of 50%?
In my last post on Agile Cuts Costs Through Time to Market Improvements, we talked about the 50% savings that are available, but I did not go into why or how Agile teams have the ability to do this. Time to market improvement in agile project management come conceptually from combining three aspects of agile development. First, the team commits to the discipline of delivering small batches of working, tested increments of “potentially shippable units” of functionality in small time boxes. Second, the team works with the product owners and customer to sequence those small batch increments into an order that delivers the most valuable features first, in terms of customer value or technical risk reduction.
When a software development team adopts these two principles at acceptable quality levels, beautiful things happen!
- They shorten the time to feedback and they can now adjust based on customer feedback
- They open themselves up to shipping early based on delivering value fast
- They sample faster and increase their ability to react to changes around them
Visually, it would be like shifting the discounted cash (red line) up and to the left. The investment and payback periods become shorter and break even comes sooner. In addition, because you are delivering working increments sooner with tons of visibility, the risk of the project goes down over time. (See the picture below.)
Risk only goes down because the time to feedback is shortened and acted on, as shown in the waterfall vs. Agile chart. Factoring the feedback from the visible iteration demonstrations and retrospective into the next round of planning is necessary to enable Agile’s empirical governance model. This “inspect and adapt” governance approach made famous in Scrum makes agile project management work through active learning and continuous improvement. This is the critical third pieces of what allows folks to deliver 50% TTM benefits, without it Agile teams can just iterate into a dead-end or black-hole.
With regard to sampling faster, I tend to coach teams to “deliver releases” at least twice as fast as the market or customer requires. That allows you to get feedback on what was delivered and adjust to changes in the customer environments. (“Deliver releases” does not mean incur all the costs of shipping software, but it does mean create a potentially shippable unit that exercises all your system and integration testing muscles and allows you to get your software into your customer’s hands for trial and feedback.)
Finally with regard to shipping early, Tim Lister of the Atlantic System Guild and Waltzing with Bears/Peopleware fame gave a talk about the potential outcomes of projects at the Agile 2006 conference. He was talking to his dad about the outcomes of IT projects as on-time or late. His dad asked him about the other option that apparently no one in IT thinks of – early! Agile teams are always thinking about the option and value of shipping early for feedback.
The great thing about TTM savings is that these savings are mostly independant of productivity savings that I mentioned in an early blog post. Next post is how Agile Cuts Cost by building the “right” software that actually get’s used. Finally, I will talk about how these savings and behavior changes play together to deliver astonshing results over time.



“Time to market improvement in agile project management come conceptually from combining three aspects of agile development.” Unless I’m mistaken you go on to mention just two, I’m slightly confused as I’m really struggling to find quantifiable benefits for Agile
Paul,
Thanks for the comments. In the paper, I mentioned three things:
1. Smaller batches that are done-done-done
2. Batches prioritized and shipped based on value and risk reduction
3. Inspect and Adapt process of governance approach based on feedback of the small batches
By limiting the Work in Process and working to prevent defects from upfront testing, the process flows value faster and economics drastically improve as shown in these two posts.
Does that help?
Ryan
I think I understand, so by working with smaller, high priority batches you get better results faster. It needs to be flexible to respond appropriately to the successes and failures of how the batches are progressed.
Because you are probably approaching this from a more technical side than I (being more involved in the governance side), I can’t really appreciate how this may limit defects but it would certainly help when coordinating UAT if it proves to be true!
Ryan,
I am interested in reading you paper in full as I am writing a dissertation and I think you raise some interesting points in your blog.
Can you tell me where the paper is published?
Regards,
Faz
Paul,
You are correct this small batch approach, with prioritization does little to change testing. Working in this way does illuminate the cost of demand due to failures in quality. And, a desire to increase the flow of value puts tons of pressure on the team to move from inspection to prevention in the world of quality.
The two go together, even if you do not start working with them together.
Ryan