September 20, 2004
Six Sigma and CMM
Please note that contributed articles, blog entries, and comments posted on EDACafe.com are the views and opinion of the author and do not necessarily represent the views and opinions of the management and staff of Internet Business Systems and its subsidiary web-sites.
Since the major restaurant chains have already made efforts to improve their service, we need only to look at the steps they have taken to see solutions. To reduce wait times, additional personnel are put on duty at peak times. During these busy times, the function of order taker and cashier are separated from the function of order fulfillment (also improves order accuracy) and a second window used. Drink dispensers are located near the pickup window to reduce walk time. Customers are allowed to phone in or fax in orders.
To improve the accuracy of the orders, the order is repeated to the customers and confirmation requested. Some fast food chains have computer screens so that the customer both sees and hears the order being repeated. The order is confirmed again at the pickup window.
To insure that food remains hot until it arrives at the destination, changes have been made in the packaging. A simple aluminum foil wrapper helps to keep the heat in.
To improve the accuracy of change, the cashier pushes iconic buttons defining the content of the order and the machine calculates the cost plus any tax. The cashier enters the amount received and the machine calculates the correct change.
As a control mechanism, timers are used to record customers wait times.
While this example may be useful to explain the general concepts, it greatly oversimplifies the situation. In each step there are complexities and the need for expertise not only in Six Sigma techniques but also in the specific products and processes under study. The solution to a given problem may be as complex as a semiconductor company moving to a new process node. Sophisticated tools for statistical analysis such as Pareto charts, Fishbone cause/effect diagrams, Statistical Process Control (SPC), Design of Experiments and Failure Mode and Effects Analysis are routinely employed.
Six Sigma is not a methodology or tool set that is used for one or two isolated projects. Companies adopting Six Sigma see it as company-wide culture, a corporate way of life. Executive management commitment is essential. In support of Six Sigma there is an entire industry offering training courses, formal certification programs, consulting, books, magazines, websites, software and so forth. Personnel within a firm seeking to embrace Six Sigma need to be assigned different roles related to Six Sigma projects and receive the corresponding level of training. The major roles are champion, master black belt, black belt and green belt.
Other employees who receive minimal training in Six Sigma concepts are called “yellow belts”.
Six Sigma has been successfully used in many diverse industries. While Six Sigma philosophy and techniques came out of manufacturing environments, it also has been used in projects that span the entire functional organization. There are also success stories related to service organizations. A reasonable question is whether Six Sigma is adaptable for software development and maintenance and therefore for EDA companies whose products are predominately or even exclusively software.
Software manufacturing deals with the duplication, packaging and distribution of software. While software firms should take sufficient care to ensure the quality of this operation, it is the development process (requirements thru quality assurance) that is the source of concern. “Bug” or software defects are almost always generated before software manufacturing by a combination of sins of omission and commission. Bugs are generally classified according to their level of severity with crashes and loss of data being the most severe and cosmetic issues the least.
While there are parallel between the manufacture of discrete parts and the development of software, there are many differences. Consequently, one is not surprised that the software industry has come up with its own methodologies and tool sets.
Software Engineering Institute (SEI) of Carnegie Mellon is a federally funded research and development center sponsored by the U.S. Department of Defense. The SEI's core purpose is to help others make measured improvements in their software engineering capabilities. SEI's vision is “the right software, delivered defect free, on time and on cost, every time.” SEI seeks to help create and identify new and improved practices, leading-edge software developers and acquirers to apply and validate the new and improved practices and to encourage and support their widespread adoption.
SEI developed Capability Maturity Model (CMM) for Software in 1991. Just as a human being goes through several stages of maturity, so does a software development organization. Just as some people never truly mature, the same is true for software groups. In fact according to published accounts, few reach the highest level of maturity as shown in the figure below.
At the Initial Level, the organization typically does not provide a stable environment for developing and maintaining software.
At the Repeatable Level, policies for managing a software project and procedures to implement those policies are established.
At the Defined Level, the standard process for developing and maintaining software across the organization is documented, including both software engineering and management processes, and these processes are integrated into a coherent whole.
At the Managed Level, the organization sets quantitative quality goals for both software products and processes.
At the Optimizing Level, the entire organization is focused on continuous process improvement.
CMM covers practices for planning, engineering, and managing software development and maintenance. At each level of maturity there are key practice areas that need to be focused on (see table). When followed, these key practices improve the ability of organizations to meet goals for cost, schedule, functionality, and product quality.
Each of these areas would easily justify an individual chapter in a book on CMM. Each key practice area can be described in terms of features related to commitment to perform, ability to perform, activities to be performed, measurement and analysis and verification.
Virtually every approach to software quality and process improvement stresses the importance of ensuring the accuracy of customer requirements, i.e. Voice of the Customer. When there is a single customer for a software deliverable, there must be a common and agreed upon understanding of the requirements (function, cost, schedule, quality, performance, and environment). What may be surprising is that even when is there a single customer much less a mass market, the tasks of gathering and prioritizing requirements is a daunting one.
You can find the full EDACafe event calendar here.
To read more news, click here.
-- Jack Horgan, EDACafe.com Contributing Editor.
Be the first to review this article