Nothing is Free

2 min read

One of the biggest lies people tell themselves when working on products is that something is low effort or low cost. This feature will only take a day or this won't take extra effort should be followed with klaxon sirens. Nothing is free.

Everything costs something. The code of the smallest feature is debt. UI is debt. Any feature needs to be added, managed over time and has a cost in terms of performance and cognitive overhead for the user. The attention of people to build the feature is a cost (opportunity cost). Humans are bad at estimating these costs despite our belief we are good at it.

Teams or individuals will downplay the cost of features because they want them to exist in the world. They engage in a self delusion to get it done. In complex systems the cost may not be apparent and only understood during or after implementation. Unintended consequences and downstream implications unfold over time and what was once "a simple feature" is now a complex mess.

As the saying goes "we do this not because it is easy but because we thought it would be easy.".