Quality Management Systems (QMS) for Software Preview: This lecture covers the following topics: Historical perspective of QMS Elements of QMS Procedures in a quality management system Statistical Process Control (SPC) as an approach to quality management The four principal aspects of a QMS for software Objectives: At the end of this lecture you should be able to: Describe three historical perspectives of Quality Management Systems and outline the work of three 'gurus' of quality management. Describe the elements of a Quality Management System Describe some of the procedures of a QMS Describe the concept of Statistical Process Control and the role it plays in quality management Describe the four principal components to a QMS for software Three main historical approaches to quality management There are three main historical perspectives to quality management: Deming's conformity and dependability Deming s approach to quality is orientated around the customer. Deming is highly credited for Japan s road to manufacturing success. He is credited for the quality approaches adopted by Japanese manufacturing industry that ensured its dominance of manufacturing for the greater part of three decades. Deming s approach was that quality improvement lay in the ability to control and manage systems and processes properly. This involved the use of readily available existing technology and common sense. Deming advocates Statistical Process Control (SPS) for improving and removing variation within processes. This is done through the identification and subsequent removal of common causes of failures. Deming emphasises senior management responsibility in taking the lead to change processes and systems. He also promotes employee participation in decision making. Overall, Deming s approach to quality management can be described as people focused also. Deming suggested 14 points for managing quality. Table 1 outlines Deming's 14 quality management points. Deming's 14 points for quality management 1. Constancy of purpose 2. A new philosophy 3. Cease dependence on inspections 4. End lowest tender contracts 5. Improve every process 6. Institute training on job 1
7. Institute leadership 8. Drive out fear 9. Break down barriers 10. Eliminate exhortations 11. Eliminate targets 12. Permit pride of workmanship 13. Encourage education 14. Create top management structures Juran's fitness for purpose Juran's approach to quality management is similar to Deming's. He further argues that quality should be judged by how well the product or artifact fits the purpose for which it is implemented. He argues against denoting quality through a conformance to some specification, alone. He argues that quality should be managed with the view to IMPROVING quality. Juran advocates the management of quality through a trilogy of processes. Sporadic problems are detected through the use of quality control processes. Chronic problems are addressed through the use of quality improvement processes. These chronic problems are in turn traced back to inadequate quality planning processes. These are then improved. Similar to Deming, Juran's approach to quality management and improvement advocates the use of Statistical Process Control. Juran also places strong emphasis on people. He advocates teamwork. Juran advocates 10 points for improving software quality Juran's ten points for quality management 1. Build awareness of need and opportunity for improvement 2. Set goals for improvement 3. Organise to reach goals 4. Provide training 5. Carry out projects to solve problems 6. Report progress 7. Give recognition 8. Communicate results 9. Keep score 10. Maintain momentum by making annual improvement part of the regular process of the company Deming and Juran's approaches advocate the use of Statistical Process Control (SPC) techniques to manage quality. Better still, they both focus on people and processes. Crosby's zero defects approach. Crosby's approach to quality management focuses on PREVENTION. Crosby suggests that quality is achieved through the preventative measures that are instituted in a system. He advocates that it is far beneficial to anticipate and therefore prevent errors than to find and repair them. From that point of view, he is less enthusiastic about traditional testing and inspection methods. Crosby's approach to quality management is sometimes known as the 'zero defect' approach to quality management. Unlike Deming and Juran, Crosby's approach to quality management is less people oriented and does not advocate statistical process control. Crosby's approach to quality management is, however, process 2
oriented. Crosby also shares common themes with Juran and Deming in terms of his emphasis on quality improvement. Crosby provides 14 steps to quality improvement Crosby's 14 steps to quality improvement 1. Make it clear that management is committed to quality 2. Form quality improvement teams with each department committed 3. Determine where current and potential problems lie 4. Evaluate the cost of quality and explain its use as a tool 5. Raise the quality awareness and concerns of all employees 6. Take actions to correct problems identified 7. Establish a committee for zero defects programme 8. Train supervisors to actively carry out their role in quality improvement 9. Hold a 'zero defects' day for all employees to highlight the changes 10. Encourage individuals to establish improvement goals 11. Encourage communication with management about obstacles to improvement 12. Recognise and appreciate participants 13. Encourage education 14. Create top management structures These approaches were first used in the manufacturing industry. They have since been adapted to software engineering and have influenced most of the software quality management approaches used today. They all suggest an infrastructure for the management and improvement of quality. This infrastructure is what is loosely termed as a Quality Management System (QMS). We shall look at the elements of a quality management system. Elements of a QMS The International Standards Organisation (ISO) defines a quality management system as having the following components: Organisational structure Responsibilities Procedures Processes Resources The procedures in a QMS One of the elements of a QMS is a set of procedures. The following is an outline of procedures in a QMS Procedures Contract review Design control Documenting control Purchasing Customer supplies Procedures in a Quality Management System Purpose To ensure that requirements are clearly established and can be met To control and verify the design of products and services To control production of all documents, thereby ensuring that there is always one consistent version of each document To ensure that all products and services purchased meet the organisation s standards To ensure that all products and services supplied to the organisation meet 3
Traceability Process control Checking, inspecting, measuring and testing Non-conforming product or services Corrective action Protection of quality Training Statistical process control Quality system audit the organisation s standards To identify and trace materials from raw materials to finished goods To ensure sufficient instructions for any processes required To verify incoming products, products already in process, finished products and test equipment. To document and separate products and services that do not conform to organisation standards This procedure provides corrective action to prevent future nonconformity To prevent the erosion of quality through incorrect handling labelling or package A training procedure identifies, carries out and then documents necessary training for staff in the organisation To use SPC techniques to gather and analyse data on the state of control and capability Quality systems audit ensures that the QMS is being carried out as stated in the preceding documented procedures. It polices the whole QMS infrastructure. Usually carried out by external bodies. Statistical Process Control (SPS) One of the procedures in a QMS is statistical process control (SPC). SPC is a concept that allows the use of a suite of methods to control the processes in a QMS by monitoring the inputs and outputs of these processes. These methods enable us to calculate levels of non-conformity and make it possible for variability to be controlled. There are seven (7) basic methods used in statistical process control. These are sometimes called Ishikawa's seven basic methods. They are: Process flow charting - used to show what is done Tally charts - to show how often something is done Histograms - to show overall variation Pareto analysis - to highlight the big problems Cause and effect diagrams - to indicate causes of problems and errors Scatter diagrams - to highlight relationships Control charts - to show which variation to control We would examine in detail some of these SPC techniques suggested by Ishikawa in the next lecture. The four principal aspects of a QMS for software All the concepts of QMS discussed above apply to software. However, writers like Gilles (1997) suggest that there are four principal aspects to a quality management system for software development. These are: Development procedures Should include the use of software design and development methodologies and tools. It should also include software testing methodologies and tools. Above all, development procedures for software 4
should also specify a programme for training software development staff in the use of these methodologies and tools. Quality control Quality control is a series of activities designed to monitor quality during the development of software. These activities include planning, progress meeting, configuration management, documentation control and design reviews. Quality improvement A QMS for software should specify all the activities that are aimed at establishing a human quality culture amongst software developers. These activities include quality forums, quality improvement teams and other similar activities. Quality assurance Quality assurance is the monitoring of a QMS to ensure that it is being carried out properly. Quality assurance is ongoing. In effect, QA is a way of ensuring that the quality deliverables are being met. Personnel who are independent of the software development operations and are usually from a cross section of staff usually carry it out. These may be from senior management to grassroots practitioner groups. Conclusion Present approaches to improving the quality of software have their roots in approaches adopted in the manufacturing industry. Most of the approaches are people oriented: Emphasising a need for senior management leadership and the encouragement of grassroots practitioners participation All the approaches emphasise a focus on processes. They also emphasise a need for statistical control of processes. Quality assurance alone is not sufficient. There should be a constant strife to improve quality. For software, the key components of a QMS must be development procedures, quality control, quality improvement and quality assurance. Recommended reading: Core text: Gillies AC (1997) Software Quality: Theory and Management. Thomson Computer Press, London. Chapter 6 5