{"id":663,"date":"2012-02-20T10:17:50","date_gmt":"2012-02-20T09:17:50","guid":{"rendered":"http:\/\/leanmagazine.net\/?p=663"},"modified":"2024-03-15T15:18:50","modified_gmt":"2024-03-15T14:18:50","slug":"cost-of-delay-don-reinertsen","status":"publish","type":"post","link":"http:\/\/leanmagazine.net\/lean\/cost-of-delay-don-reinertsen\/","title":{"rendered":"Cost of Delay – interview with Don Reinertsen"},"content":{"rendered":"
.<\/span> .<\/span>
\nAnders Sixtensson: In most of the examples you give in articles the cost of a month\u2019s delay is often surprisingly big (at least for someone who has never done the calculation). Is it often a surprise for those that really make the effort? <\/strong>
\nDon Reinertsen: <\/em>There are usually three surprises for newcomers to calculating cost of delay (COD). First, they are surprised at how large the number is. Second, they are surprised at how little time it takes to do the calculation. Third, they are surprised at how much consensus they can reach on the value. All three of these surprises occur because people\u2019s intuitive sense of cost of delay is way off. The intuition of members of the same team typically differs by 50 to 1, so the real estimate surprises most team members. In general we have good intuition about things we have seen more than once. People who have never calculated COD have no basis for any intuition on the subject.<\/p>\n
\nIn pure software development, you do not usually have any high production costs. On the other hand you have maintenance and bug fixing. In your life-cycle profit model, where do these running and variable costs fit in? <\/strong>
\nFor manufactured products the majority of the recurring cost is the cost of manufacturing which is proportional to the quantity of product sold. Software also has recurring costs that are proportional to the quantity of product sold. For example support costs are typically proportional to sales volume. On the other hand, software also has costs that are relatively independent of the quantity of software sold, such as bug fixes. Both of these costs influence the P&L of a software company, and they should be reflected in any economic model that is used in a software company. It is a solid general principle to have life-cycle profit models keep score the same way management keeps score in their P&L.<\/p>\n
\n<\/a>Technical debt is a term often referred to. Usually this means that previously done work has led to bad architecture, high failure rate, high complexity, etc, which make future development and maintenance even more expensive. In a life-cycle profit model, it could be worthwhile to amortize your debt by refactoring or cleaning up the code etc. Where do these kinds of activities fit into your economy-based decision model?<\/strong>
\nI do not find that technical debt is sufficiently similar to financial debt to reason by analogy on this matter. Financial debt almost always has to be repaid and the total cost of repayment rises as a function of time. In contrast, there are many cases where technical debt will never have to be repaid, and other cases where it can be repaid at a lower cost in the future than the present. When a developer makes the choice to defer work they are generally doing so to achieve another economic benefit such as earlier introduction. Deferring work may have an economic cost. If this added cost is less than the financial benefit of deferring work, for example the value of early introduction, then creating technical debt is a good economic choice. To correctly model such a situation one should include the one-time and recurring costs caused by the technical debt. In general, although I recognize this is not the practice in the software industry, I prefer to refer to this problem as \u201cdeferred work\u201d rather than \u201ctechnical debt\u201d.<\/p>\n