The "if it isn’t broken, don’t fix it" Mentality
Today I realised that every time I hear the phrase if it isn’t broken, don’t fix it I feel kind of uncomfortable. I fully understand the notion: the process yields the results we want, so why bother?
As it is being said, I detect the whatever works attitude emanating from the person saying it. No concept of continuous improvement. No interest in reflecting. Not even 60 seconds invested to consider whether the process is efficient or could be improved. It most cases it’s almost a canned response to any comment referring to the efficiency of a process that is considered to be working.
Maybe the process breaks once per month, causing Fred to stop what he’s doing (see Gerald Weinberg’s rule of thumb) and fix it. But, who cares, it works, and Fred doesn’t mind. Paper-based filing systems, typewriters and horse and cart worked but this didn’t exclude them all from being significantly improved by someone with the right mindset.
Applying the if it isn’t broken, don’t fix it mentality to everything is naïve; you end up with lots of suboptimal processes. Based on the fact that you never get it right the first time, processes need to evolve, and for this to happen a culture of reflection and improvement must exist.
To consider something to be either working or broken is a simple model which doesn’t leave much room for improvement. Considering the degree to which something is working is a better model that puts your mind in the right place. How reliable is the process? Can it execute quicker? Can the execution cost be reduced? We need to think about quality, not just if by some vague definition the process can be considered to be working.
I recently finished reading The Toyota Way. In the book, Jeffrey Liker explains the management philosophy behind Toyota. Interestingly, one of the principles within Toyota is to “build a culture of stopping to fix problems, to get quality right the first time”. Liker goes on to explain the apparent productivity paradox:
Toyota management say that it’s OK to run at less than 100% of the time, even when it’s possible to run full time, yet Toyota is regularly ranked amongst the most productive plants in the auto industry. Why?
Investing time and effort into quality from the start sounds like the slower and more expensive method to most people. Let’s just get something working and improve it later. The problem is, too many people don’t improve it later. The If it isn’t broken, don’t fix it syndrome starts instead. Liker explains how Toyota does it:
Because Toyota learned long ago that solving quality problems at the source saves time and money downstream. By continually surfacing problems and fixing them as they occur, you eliminate waste, your productivity soars and competitors who are running assembly lines flat-out and letting problems accumulate get left in the dust.
The issue of letting quality problems accumulate isn’t exclusive to the auto industry. In the software industry it results in poorly written systems being built on top of other poorly written systems that, while completed sooner than a higher quality system might have been, require increasing amounts of human attention as the accumulation of quality problems becomes too big to ignore; too big to be considered working. Needless to say, the cost of running these systems starts to increase too.
So from now on, if it isn’t broken, don’t fix it is banned. Stop using it. It makes you sound like you don’t care even enough to look for improvement. Things are not broken or working; they are broken or working to a certain degree and may be exposing opportunities to be improved and have their business value increased. It’s also a mistake to assume that business value can’t be increased from existing work (or processes) rather than business value just coming from new work.
You can be the one who thoughtfully creates work to a high standard, always looking to improve yourself and increase the business value in suboptimal existing work. Alternatively, be the one who doesn’t care enough to even look for improvement opportunities and would rather just churn out first versions and move on – leaving a legacy of low quality behind you. It’s your choice.
If it isn’t broken, fix it anyway.