|
Would you be comfortable if your doctor, surgeon, airline pilot, bridge-builder, car manufacturer, or pharmaceutical company had similiar conversations? I’m not! And it’s time we all started to take our profession to the next level of quality and stop making excuses. We need to go to war on our own behaviors and processes, working toward a goal of zero defects. We need to follow in the footsteps of the masters and learn from what companies like Toyota have achieved through the teachings of W. Edwards Deming and Joseph Juran. It is time to bring our own industry into the twenty-first century and stop living in the shadows of the 1970s. Error-proofing, preventing errors from happening instead of detecting them at the end, is the path to higher quality in our products, processes, and people.
The Goal You’ll need six elements to get started: Desire: There has to be a desire from everyone to improve. If there is not a sense of urgency to change, then it will not happen. Knowledge: Once there is a desire to change, your organization must acquire knowledge on what to do. Skill: After everyone increases his knowledge and visualizes a path forward, he needs to develop skills. The organization needs to practice techniques that enable small wins. Determination: There will be many times when it gets frustrating or seems impossible to move forward. People seem to get focused much too quickly on what can’t be done versus what can be done. This is where the determination to get better must overtake the pain of the change. Courage: We must have the courage to change and challenge the patterns that we’ve learned from the past. If nobody has the courage to put everything on the line, change is much less likely to occur. Humility: Sometimes, no matter how hard we try to get things right, stuff happens. Having the humility to understand that we are all human and mistakes happen, keeps us open to being able to learn from those mistakes.
Why Do We Need to Error-proof? Lean enterprises focus on quality in the entire system. They work to prevent errors in their processes using root cause analysis techniques and immediate action. Lean is not just something being used by companies for manufacturing and assembling; companies use lean in all their system processes. It’s just that we often reference the assembly and manufacturing of products because they are easier to visualize. From an organizational perspective, the development of software has a lot of moving parts. It involves more than just the coding and testing. In order to error-proof a process, we have to look at the entire process. Everything has to be inspected: The selection of people, the use of techniques, the selection of a project, the delivery mechanism that gets the product to the end-user, and the support mechanisms. Often when a company brings up the word “quality,” software testing and the quality assurance (QA) group are immediately focused upon. This is one source of the problem in improving quality. As Mary and Tom Poppendieck state in their book Implementing Lean Software Development, the job of QA/testing is to prevent defects, not find them. They should champion process improvement efforts that ensure quality during all phases of product development. In a high-quality environment, everyone is responsible for quality. I have challenged organizations that I work with to achieve a 99.9997 percent first-time pass rates in their current test phases. This often shocks people and they become angry at me for even suggesting that. However, they should strive to achieve this very goal. If this is not possible with their current processes, then change is needed to improve. This goal would force them to take a hard look at how to move from error detection at the end of the process to error prevention throughout the process. When we retrain ourselves to think in this way, we will begin the journey to the zero defect vision.
What Is Error-proofing? Error: “Any deviation from a specified process. Errors cause defects in products or services.” Defect: “A product or service that does not conform to specifications or a customer’s expectations. Defects are caused by errors.” Error-proofing is a structured approach to ensuring quality all the way through your work processes. The focus is on discovering the sources of errors through fact-based problem solving techniques, such as the Five Whys and A3 methods. The good news is that we need only learn to use the same techniques that have been developed over the past fifty or sixty years. Traditionally, many organizations centered on identifying and counting defects detected during development and then attempted to fix them in the later phases of the development. I would again present the challenge of eliminating the need for a defect management system and the practice of making release decisions based on achieving an “acceptable” number of detected defects. There is rarely a concerted effort to find the root cause and eliminate the cause of defects in order to prevent them from occurring in the first place.
Even as organizations have implemented agile techniques, many have not made this critical shift in thinking. While they have become better than they were in the past, they have plenty of room to improve by using error-proofing techniques, such as continuous integration and test, automated unit and acceptance level testing, and shortened time cycles. Only then will they really see the benefits in lower cost, faster speed, and increased customer satisfaction. Remember that agility is a dial, like a volume control, and not a switch; You don’t just turn it on. The goal is to increase agility until you and your customers are comfortable. Trackback(0)Comments (4)
|
| Last Updated on Tuesday, 10 January 2012 12:59 |
Agile Marketplace - Announcements and Special Offers
Upcoming Webcasts
Sponsored by Urbancode - On Demand
Mastering Complex Application Deployment
Sponsored by CollabNet - Wednesday, August 24, 2011
Closing the Agile Loop: Continuous Integration, Continuous Information
ScrumWorks Pro – The World’s Best Agile Project Management Tool
Simply put, CollabNet’s ScrumWorks Pro is the best Agile project management solution on the market, bar none. More than 150,000 Agile professionals rely on the power and simplicity of ScrumWorks every day. But don’t take our word for it – try it yourself for free. CollabNet is now providing the first 10 users of ScrumWorks Pro at no charge!
Download ScrumWorks Pro today!
The Business Case for ALM Transformation
Are legacy systems holding your company back? Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper


How many times have you had the conversation at work about how software is so complex and it should be an accepted fact that there are going to be a significant number of defects?

Similar to that, if you look at any of the other professions mentioned in the article airline pilot, bridge-builder, car manufacturer, or pharmaceutical company. NONE of them are 100% successful all the time. Often even after they get out of their test phases the main product still fails.
Pilots are still reported in the news as falling asleep or not paying attention when something goes wrong. Pharmaceuticals are pulled off the shelf after they're discovered to not only be ineffective, but dangerous. Cars malfunction (Toyota has been in the news with in the last two years for major failures). Bridges have and do collapsed. There is not one profession or product out there that errors never occur in.
That being said, there is no excuse for us not to try our hardest to avoid errors whenever possible, but it's not right to give managers the impression that developers should be infallible. Especially, As Mark Dennison pointed out, when a certain columnist, who I expect has an editor checking his columns, can't produce a piece without errors in it. But I guess 1 out of 1267 words falls in the 99.9997% first pass ratio, so good job.