Technical Leverage

in finance people leverage money, in software - code

Technical leverage - the concept

Technical Leverage concept
Technical leverage (\(\lambda\)) is the ratio between other's code (direct dependencies \(\ell_{dir}\), transitive dependencies \(\ell_{trans}\), possibly the baseline of programming language libraries \(\ell_{std}\)) and own code \(\ell_{own}\):

$$\lambda=\frac{Other's}{Own}=\frac{\ell_{dir} + \ell_{trans} + \ell_{std}}{\ell_{own}}$$

Financial leverage vs Technical leverage

Financial leverage vs Technical leverage
Financial leverage Technical leverage
Financial leverage is used to undertake some investment or project with the help of borrowed money (debt) Software developers reuse already existing functionality from dependencies to focus only on new features in their projects
Financial leverage decreases the corporate income tax liability and increases its after-tax operating earning Using dependencies reduce the time (and thus, cost) to develop new projects and sometimes increase project performance (e.g., numpy or pandas in Python)
The debt implies an interest rate and must be eventually paid or refinanced Dependencies have to be monitored and updated (the concept similar to refinancing one's own monetary debt) unless one introduces security vulnerabilities
Financial leverage multiplies losses as well, which might lead to a crisis If the amount of work required for the dependent project to update its dependencies become too high, the developers might decide to stop updating dependencies and experience serious technical difficulties