Don’t fight fires. Clean the forest.

When you discover a bug in production, what happens at your org?

If yours is like most others, your developers do their best to address that bug.

If they’re better than average, they’ll take the time to understand the system rather than just trying random things until the bug is taken care of.

If you have the best of the best, they’ll also take the time to understand how their development process resulted in a system that allowed that bug.

Here’s the deal. You got that bug because your development process allowed it. Maybe you didn’t understand what you were trying to build. Maybe your team doesn’t have the technical skills they need. Maybe your pace is unrealistic.

The point is that your development process, as it exists, allows for production bugs. The time you spend fixing a bug puts your development timeline further behind schedule, which will probably exacerbate one of the axes working against you. But if you don’t fix your development process, you won’t fix the source of your fires.

If fires can occur, they will, and that’ll push you even further behind schedule.

Put the fires out for sure. But then go remove all the tinder that lets them ignite so that you don’t get new ones.

Tech celebrity opinions notwithstanding, there are teams that achieve this. As an industry, we need to normalize the idea Total Quality Management is possible in software development. We won’t do that until we quit settling for less.

And if you think that would mean you’d ship less, imagine how much more you’d ship and retain people if you weren’t constantly doing rework.


Like this message? I send out a short email each day to help software development leaders build organizations the deliver value. Join us!


Get the book!

Ready to learn how to build an autonomous, event-sourced microservices-based system? Practical Microservices is the hands-on guidance you've been looking for.

Roll up your sleeves and get ready to build Video Tutorials, the next-gen web-based learning platform. You'll build it as a collection of loosely-coupled autonomous services, developing a message store interface along the way.

When you're done, you'll be ready to contribute to microservices-based projects.

In ebook or in print.