No one likes to be told that they produce poor quality. Each one of us believes that the work we do strikes the right balance between customer needs and time to market, between cost/benefit and right quality. We reassure ourselves that the number of defects in our code is lower than industry standard. But the standard IT customer is not happy, even if they have wearily accepted software defects as a fact of life.
Look at the average IT project plan and see how much time is spent in testing. Doesn’t it strike anyone as odd that the customer first pays people to put defects into code during development, and then pays a second time for people to take them out during testing?
There have been lots of rants about software quality and it’s not my intention to add another one. Instead, I’d like to engage on a concept that isn’t new, but is finally gaining traction across our industry: Lean.
The time people spend putting defects into code is wasteful. The effort to detect them during testing is also wasted; it creates zero economic value. And of course the time we spend taking the defects out is money down the drain. Why not just stop this nonsense and do it right the first time? In a nutshell this is what Lean is about – it’s not rocket science, but, somewhat surprisingly, as an industry we still don’t see testing as wasted effort. There is a reset of thinking required.
There are a lot of root causes for why quality remains a myth in IT and it will take a lot more words than this short post can afford to get after them all. Some thoughts I’ll explore in future posts include: how Lean thinking addresses the overall system of people, process and technology in IT to drive improvement in quality; what lessons we can learn from companies in other industries who transformed their competitiveness through Lean; and why now is the right time to increase the value our services by applying Lean concepts to the work we do for our customers.