Running too fast
What do running have in common with software development?
I've been running short distances for years but pushing my 5km run by an additional one or two kilometers was such an exhausting experience. I couldn't understand how running 10 or 20, or 40 km could be a pleasure for anyone.
Recently my coach recommended I do the run's performance tests, so I understand training zones. Then he asked me to run slower and spend 80% of my usual run in zones 2 & 3 (out of 5). The result? Three weeks later, I easily ran 10 km. A few weeks later, I reached 20km. Something I couldn't reach for years...
This counterintuitive advice to run slower, so soon you will run farther or faster, finds its reflection in software development.
Often engineers tend to pick quick wins rather than invest in long-term technological sustainability. Too often, I saw features being delivered in a totally broken way just to satisfy stakeholders, while adding a week or two (a few % of the time) would have created solid foundations for future development.
This is like running too fast. You push your limits for small wins but risk injuries, and the ambitious goals stay out of reach.
Not convinced? Think of it this way. It's easier to book an extra 10-20% of the time to keep the high quality rather than asking for a few weeks/months to clean up all mess that stacked up because we ran too fast.