After spending a considerable amount of time implementing and managing long-term projects, I’ve noticed an increase in overhead when continuing to build without delivering value. I’ve talked about the concepts of “Smallest Shippable Value” and “Optimized Shippable Value”, emphasizing how deploying value quickly can introduce benefits immediately and yield most of the value much faster than waiting until feature completion. Writing about these concepts had me butting up against another concept I have deemed “Law of Deploy Friction”. It’s an amalgamation of business costs with the engineering overhead maintenance cost plus understanding the benefit of deployed value.
I admittedly don’t love this analogy but bear with me. It’s like a truck coming down the steep grade mountain road (read: a development team building a feature).
It could just let it’s foot off the gas and roll uncontrolledly knocking other cars off the road and causing chaos (read: no code reviews, no testing, etc.).
That won’t do, let’s try some brakes (read: deploy processes and protocols) to reign in our runaway truck. Brakes are great, they allow you to go down but riding them the whole time causes heat to build up, which can lead to failure and now we are back as a runaway truck. What now?
Enter teaching truckers that slowly pumping the brakes is the ideal way to safely navigate this mountain. Allowing brakes to cool while also maintained a safe speed. When and how long to engage the brakes takes a deft driver. This driver is navigating the premise of Deploy Friction.
It’s something we intuitively understand, but not fully calculate, so I took a stab at it.
- Absence of Delivered Value Cost (ADVC): This represents the opportunity cost of not having deployed a valuable feature. It accumulates over time and can be expressed as a linear function of
, minus any deployed value,t, time since feature value deploydv, which is already deployed feature value before reaching the total value of feature,a
ADVC(t) = (a × t) - dv
a = total value of feature
t = time since feature value deploy
dv = deployed value
- Increase of Development Overhead (IDO): This represents the time, complexities, and costs added to the development cycle due to code merging and maintaining, code review, quality assurance testing, etc. (
) It attempts to model the more ‘human’ cost because managing more changes, more branches, more files, more test cases, etc. which invariably just take more time. It also ties into the concept of “Non-stuff Stuff”. It is reduced to a function that increases non-linearly with time.b, development overhead
IDO(t) = b x TSD2
b = Development Overhead
t = time since feature value deploy
The quadratic term is used to capture the idea that growing undeployed features exponentially increase overhead. Thus, the formula for “Deploy Friction” at any time t can be given by:
Deploy Friction = Absence of Delivered Value Cost + Increase of Development Overhead
DF(tsfvd) = ADVC(t) + IDO(t) = ((a x t) - dv) + (b x t2)

By understanding and applying the concept of Deploy Friction, software development teams can optimize their processes, deliver value more efficiently, and ultimately create successful software projects. The key is to find the right balance between development and deployment, and to continuously monitor and adapt processes to minimize Deploy Friction over time.




Leave a comment