Shortening the Tail

In Agile Project Management, I wrote a short section on a performance metric called “shortening the tail.” I liked using the metric, tail length, because it is easy to calculate and tells a lot about an organization’s Agile implementation. It’s not a vanity metric, like the number of developers who have attended a refactoring seminar, but a true learning metric because it focuses on a key tenent of Agile development—running, tested software. It’s also a metric that can help an organization move closer to Continuous Delivery.

The tail is the time period from “code slush” (true code freezes are rare) or “feature freeze” to actual deployment. This is the time period when companies do some or all of the following: beta testing, regression testing, product integration, integration testing, documentation, defect fixing. The worst “tail” I’ve encountered was 18 months—18 months from feature freeze to product release, and most of that time was spent in QA. Routinely I find software companies whose tail is 4–6 months of a 12-month release cycle. Then, there are other companies, and a growing number of software companies, that have honed their processes to a zero tail length—they are truly doing Continuous Delivery and Continuous Deployment. Using the tail length metric, particularly in products or applications that have large legacy code bases , can help organizations monitor their progress towards CD.

I worked with an organization several years ago that had a 6 month tail in a 12 month release cycle—and the tail was getting progressively worse with every release. The tail had gone from 4 to 6 months over the past 3 release cycles. The company set a goal to achieve a 1 month tail and worked diligently to achieve that goal over time.

Shortening the tail is a simple, powerful metric for measuring progress towards agility. The goal of agile teams is to produce shippable software every iteration, but most are far from this goal—especially if they have large, old legacy code bases. Think of everything a company might have to do to reduce a tail from six to three months to one month to a day. They would have to learn how to do continuous integration across their entire product. They would have to improve their level of automated testing to drive regression and integration testing back into every iteration. They would have to improve the level of automated unit testing done by developers to reduce testing time at the end of iterations and releases. They would have to bring customers into the development process much earlier, not waiting until the end for beta testing. They would have to integrate documentation specialists into the team and produce documentation continuously during iterations. They would have to invest in systematic refactoring to reduce the technical debt and therefore reduce testing and defect fixing time.

You can probably think of more they would have to do. Each of these items would contribute in some way, large or small, to reducing the tail by days or weeks. For large products the tail might never be zero, but it could be small. Just think of the competitive disadvantage a company has when their delivery tail is 18 months, or even 6 months. That means that for 6 or 18 months prior to release no changes in the competitive environment could be incorporated into their products. If Continuous Delivery seems too big a step, start on that path by first reducing the tail length on your product releases, before long Continuous Delivery won’t seem that big a stretch.

    Comments

    1. Hi Jim. I like the notion of shortening the tail… it does have an impact on so many other disciplines for the positive. I have been on projects with short or very short tails for the most part, but your post triggered me to think of two factors that I would not think to include in the duration you are computing:
      1. Process constraints outside of software delivery and testing
      2. Political or strategic constraints, such as coordinating the PR or marketing plan around release of a product.

      Of the two, I would be more inclined to include #1 in the tail if I had to.

      For the second one, however, I have something of a Theory of Constraints posture – to be in a situation where the code is ready to go, all the features are complete, but we delay launch for either political or strategic reasons (e.g., if we did not want to launch in a retail firm until just after the holiday season), then according to your distinction that seems like it would count as part of the tail… but is not a measure of your agile effectiveness.

      The goal for me would be to make sure that product development was not a constraint to the strategic or enterprise value of the business.

      Thanks for the post… it is a great metric. I wonder if you have come across any “magic” ratios having measured it so far???

      –k

    2. Hi Jim,

      We do something similar. We define a ‘definition of UNdone’ with the the teams. All items in the DoUD is work in the ‘tail’ you describe.

      This ‘tail list’ or Definition of UNdone is a perfect impediment list to start with. After all, if it is not Done at the end of a sprint, there is no value!

      Gr. Rini

    3. J Voris says:

      And surprisingly, when I have encountered the really, really long tail lengths, they are typically features stagnating in test environments in waterfall and SOX environments, where the product owner is . . .

      * unwilling to commit, believing that no more features will be forthcoming, or that emphasis will move in other directions, or priorities will be changed by outside influences which will reassign resources.

      * that they say they do not have time to test.

      This latter aspect shows that the feature was more wish-list than requirement, and that often “not having this feature” becomes an excuse pushed upward to management to cloak some other deficiency.

      What would be excellent would be to assign a cost to this WIP in test, but that never happens. Costs are assigned to development / human resources only. And this opportunity cost of delayed delivery is ignored.

      To top it off, the market sector I work , and where I see this, is in financials !

    Speak Your Mind

    *