How wasted inventory shows up in software development

Inventory is the worst bank account you’ll ever own. Every item in your inventory is worth cash. At the Bank of Wasted Inventory, your cash has high storage costs; needs staff to track it; can’t be easily withdrawn; degrades over time; and often ends up in the scrap pile.

In software, a feature backlog is no different than a warehouse of slowly rotting, unused goods. When you think of software features, think of inventory that is wasting away unless it is delivered to a customer.

1) High Storage Costs
Every incomplete feature in a backlog is frustrating someone to some degree. Some incomplete features are angering many people at once. The storage cost of a feature backlog is the collective frustration of stakeholders, customers, and team members. The debates, politicking, false expectations, and endless meetings to resolve these conflicts are expensive.
2) Needs Staff To Track It
Medium-sized software projects can have hundreds of features. Large projects can have thousands. Each feature comes with vendor dependencies, research and planning, and countless expectations from stakeholders and customers. The greater the backlog, the greater the effort to manage that backlog. Product and project managers can find themselves spending over 50% of their time managing all the consequences of a giant backlog.
3) Can’t Be Withdrawn Easily
A feature turns into cash only after it is goes through design, development, testing, launch, and customer onboarding. This is a slow, expensive way to manage cash in a company. Getting features out of the backlog and into cash value should be priority number one of all stakeholders.
4) Decays Over Time
Features are only important when they are fresh, valuable, and relevant. They have a decay curve - often times, if a feature isn’t implemented in a certain period, its value drops. Some features decay at the speed of stored food (a feature for a Christmas promotion become useless in January). Other features are more like storing raw materials, which can be stored for years. Below are four curves showing the decay of features over time.
Cost of Delay


5) Ends Up In The Scrap Pile
Some features degrade slowly, others quickly. In the end, many of the ideas people have will never make it into the final product: circumstances change, business focus pivots, and technology evolves in ways that make today’s great idea tomorrow’s scrap. All the effort to manage the idea in the backlog was waste.

What To Do

1) Avoid Spoilage
For each feature, compare it to one other feature and ask, “Which of these two would suck the most to not have done in six months?” The winning feature gets done first.
2) Save on Storage Costs
Allow no opinions or personal preferences into a prioritization conversation. Instead, use criteria such as risk mitigation, time criticalness, perceived complexity, and others to make decisions as objectively as possible. Practice an absurd level of over-communication for these criteria so that no human being is surprised by decisions.
3) Measure movement, not final delivery
Measuring the timeliness of final delivery tells you nothing. To understand the flow of business operations, you need to look at the cycle time of each step in the process: from the first time someone says, “Hey, I have an idea!” to the launch to production. How long did the feature sit in the backlog? How long did it take to develop? To QA? How long did stakeholders take to review? How long did it sit waiting for deployment?

Treat backlogs with a greater level of respect than a mere to-do list. That backlog represents a substantial amount of cash investment by your business. Imagine a backlog as a warehouse of decaying inventory, and you'll find yourself motivated to increase the flow of value and reduce waste.

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <cpp>, <java>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.

About the Author

Tony Rost, Chief Technology Officer

Tony believes that customers' technology problems can be solved with deep respect, sound data, strong process, and adventurous teams. He uses data-driven methods to improve all stages of the development lifecycle – from design, to beta, to final deployment. With numerous ties to the open-source community, Tony also works to solve client problems faster and more effectively with well-tested open-source solutions.

Several dozen products have shipped under his guidance over the past 14 years: collaborative internal sites at Nike, social networking integrations with Adidas, server-monitoring websites at Hewlett Packard, open source contributions to Drupal, entertainment sites such as The Emmys, community sites such as FearNET, and HTML5 apps for tablets and Smart TVs.