What is Orthogonal Defect Classification?
ODC uses data we already have to give us insight we do not have about the software engineering business.
ODC is a technology which extracts valuable information from the defect stream of any software engineering process to yield insight and diagnosis. ODC stands for Orthogonal Defect Classification - a particular method of categorization that has properties of measurement. ODC was invented using the term "defect", but technically works on any "change". Thus, design changes, customer issues, or trouble tickets are all good sources of information. ODC turns all these information rich events into a measurement system with analytics to gain insight. I like to contrast ODC techniques with the MRI that has changed modern medicine. It gives us an imaging methods to look inside and assess what is really going on.
ODC helps us make better decisions. Better engineering decisions, better management decisions, and better financial decisions. We produce better product, drive more sales, reduce operating costs and cycle time.
The analytics with ODC apply to most software engineering practices. Take for instance the task of improving testing, or requirements. We all know that requirements are important and vouch we'll do a better job next time. But how do we do that if we do not precisely know what the characteristics of our requirement oversights are? To want to do a better job does not necessarily mean we will do better, without a coach giving us an outside-in view. ODC data and analysis gives us that objective, dispassionate insight on the process. The value ODC brings can be captured as - Gaining Insight, Evaluating Methods, Increasing Speed, Controlling Costs and Empowering the Workforce.
Bringing ODC into an organization and making it successful takes skill and experience. There is more than one way to insert process and technology into organization. But, its vital that the methods match the organization's culture, readiness and business need.
A critical situation that needs ODC as a diagnostic approach with results available in days and weeks is a very different application compared to one where the objective is to enable ODC across a large number of departments so they acquire a common language, methodology and tools. An application where our objective is to affect specific projects only can take a different approach, or one where there is a need but coupled with significant resistance due to past experience with a failed process.
We bring experience across a broad base of projects, cultures, and enthusiasm levels. Talk to us to help tailor the best methods to suit your needs.
ODC has been used by several organizations both small and large. The best documented studies have been published and reported in technical literature or public talks. A few notable ones are IBM, Motorola, Cisco, Lucent, Telcordia, Caterpillar, Cognizant, Satyam. Our engagements span across a broad swath of industrial and consumer applications - such as embedded software, enterprise software, insurance, operating systems, hand-held devices, machinery, insurance, and business applications.
Training in ODC is key. A research scientist may devour a vast amount of technical literature and focus on a specific element of ODC to conduct their research. But, the task of process implementation and execution is very different. To apply ODC in the every day world of software engineering, the research articles may not best help you achieve your goal. We need to apply these ideas in production - where the time for research and discussion may not exist. And a task may be divided amount different skill groups. And the producers of data at one level are often not the consumers of that data at a different level. The ODC lifecycle spans different skill sets in different parts of the organization and interfaces with business and technical aspects of the business. We need to train the different teams and provide a support structure that goes across. We also need project engagement to make them successful. We have training programs for all elements of this process, and our staff will work with you to best determine the next step.
ODC technology was invented by Ram Chillarege. At IBM Research, he founded the Center of Software Engineering, and created an organization that implemented ODC across the company. He was awarded IBM's Outstanding Technical Achievement Award for ODC. Since 2001, Ram has been a consultant and has a practice in ODC. In 2002, Ram was awarded the IEEE Technical Achievement Award for the invention of ODC.
There has always been a considerable amount of information on ODC between this Chillarege website and the IBM Research website on ODC. There are also several published articles in technical journals. And do not hesitate to reach out to us, we are here to help you.
ODC is a large topic and there is a lot reading material on this site. The Technical setctions of this site have a collection of aritlcles. Under ODC Technical, there are several articles that were peer reviewed and published. There are also a set of very practical Tech Briefs - that are short reads on a specific aspect of ODC.
Here are a few of the top read articles:
The navigation on the right helps locate different groups of articles on Orthogonal Defect Classification. To list all of material on the subject, search for ODC, or LIST ODC HERE
ODC - a 10x for Root Cause Analysis A short 3 page article that communicates on of the very valuable applications of ODC.
Orthogonal Defect Classification - A Concept for In-Process Measurements This is the original ODC paper - still a good read for the basic concepts. Look at the more recent articles to get a more current and easier to read overview.
5 Differences between Classical and ODC Root Cause Analysis in Software A video clip that summarizes the current thinking an application of ODC.
Test and Development Process Retrospective - a Case Study using ODC Triggers A case study that illustrates the use of one of the ODC applications to gain insight into the current development process.
Search for ODC - Using the navigation on the right, helps segment the content, but a serarch on ODC is good too.