I heard this quote recently from Dan Wood of Northwest Cadence. “The road to success is paved with cobblestones.” The meaning is that as we get better and gain success in those things we attempt, it will be a bumpy road. If you’ve ever driven (or walked) down a cobblestone road, you know what I mean. It’s not a path you’d want to take every day in a wheeled vehicle.
In other words, we will make mistakes.
In talking and teaching about software development practices, I think far too many people, myself included, become too concerned about mistakes. We worry about our code being perfect, or we struggle to implement newer features because we lack the confidence to try something new.
This is one of the reasons I think moving to a well engineered software delivery pipeline is important. The ability to make changes to code quickly, run tests, and deploy smoothly is important. We will make mistakes in our programming. We will have bugs. Even as we improve our ability to write better code, we will make mistakes that we want to fix quickly. Having a smooth process that allows us to deploy new changes, as well as prevent old ones from re-occurring, will separate the great development groups from the average ones.