Applying the 4-50 Rule to Software

Improvement Insights Blog

Applying the 4-50 Rule to Software

Programmers often think they need to rewrite software systems to fix the problems in an existing system. This is the wrong approach. You can tune up an existing system with a lot less effort using the 4-50 Rule.

“I’m Jay Arthur, author of “Lean Six Sigma Demystified,” “Lean Six Sigma For Hospitals” and QI Macros [software]. I spent most of my life working in IT, from mainframe systems to minicomputer systems to microcomputer systems, which led me into the QI Macros. I’ve worked with software my entire life, and there’s something I’d like you to get an idea about. We all know the Pareto’s rule – the 80-20 rule – but I have found that Jay’s 4-50 rule applies to software.

“What does that mean? It means 4% of your code (that’s probably four programs or modules out of a hundred) have most of the defects. This is where everything fails: the four [percent]. There’s another four which are “enhancement-prone,” so customers always want you to change something, and those four are always enhancement-prone.

“Now, many people throw up their hands in disgust and say “Well, we should just rewrite this system,” because they think they can write better code than what’s already in there. I’m going to tell you something: a system that has been around for a while knows more about the requirements of your customer and everything than you can possibly define. I mean all of that [detail] has been woven into that system over time; you can’t possibly reverse engineer that and create a new one.

“I worked in the phone company. They went through three iterations to try and rewrite the customer billing system. All of them failed; all of them failed. I offered a suggestion at the time which nobody listened to, which is you take the 4% that are error prone and you rewrite those so that you mistake proof whatever’s wrong with them; you make them unbreakable. You take those four, and when you get rid of that, then most of the rest of the system works pretty darn well, and so you don’t have to rewrite anything but the 4% that are really broken. Then there’s another four, they’re really enhancement-prone. Now, most of the time what they’ve been doing is changing the code inside of the modules as opposed to taking the data that is needed and putting it out in a table somewhere and then changing the code in these four modules so they just read the table to decide what to do. You have to change the code, you just change the table, and then everything changes, right? So you can you can change billing rates or taxation rates or whatever it is you’re doing over here and these four will read the new table and do the right thing automagically. You don’t end up spending a lot of time here, you can just go tweak a table.

“So that’s my Improvement Insight for this week: Use the 4-50 rule on your software systems. 4% are error prone and broken. Fix those. 4% are enhancement-prone, and you can take that and put the data out somewhere we can change it in a table, and these things stay the same. That makes enhancements and costs and everything else go way down, and you don’t have to try and rewrite these systems because you can’t. They know too much.

“So that’s my Improvement Insight for this week. Let’s create a hassle-free America; hassle-free healthcare. Let’s make our software systems mistake-proof and hassle-free. Let’s go ahead and improve something this week including those IT systems.”

This entry was posted by Jay Arthur in Improvement Insights, Six Sigma and tagged , , . Bookmark the permalink.