The Economics of Programming: Externalized vs. Internalized Costs

external_costs
Diagram: Econation NZ

Many days I feel like my work as an agile consultant is simply internalizing (externalized) costs.

First example that comes to mind: software development done too quickly which creates technical debt as it goes. In the short term, a project like that can seem very successful, exceeding expectations for delivery time and customer satisfaction. And then the devs rotate on to another green field.

I once argued to a manager that a certain project was producing “negative value”, but I didn’t get far with that argument 😉

Contrast this to programming under a method like Test Driven Development, where, many times per day, a small coding effort is followed up by a small “refactoring” (cleanup) effort.