2162ICT Software Quality Principles
General Quality Principles
R.G. Dromey
© R.G.Dromey, Griffith University, 2005
"Quality is never an accident: it is always the result of intelligent effort" J.Ruskin
REFERENCES and READINGS 1. 2. 3.
G.G. Schulmeyer, "Software Quality Lessons from the Quality Experts", Handbook of Quality Assurance, pp 2545 P.Crosby, "Quality is American Library, 1979
Free"
New
J.M.Duran, "Product QualityA Prescription for the West", Management Review, June 1981
4. W.E.Deming, "Out of the Crisis" 5. R.M.Pirsig,"Zen and the Art of Motorcycle Maintenance", Morrow, NY 1974
General Quality Principles Before we begin our study of software product quality it is important to address the question:
What relevance do general quality principles that have been developed in other fields have to software development and software quality?
General Quality Principles To address this issue we will start by considering a brief overview of the principles advocated by foremost quality experts. In particular: • Kaoru Ishikawa • Joseph. M. Juran • Lennart. Sandholm • W. Edwards Demming • Philip Crosby
Ishikawa Ishikawa gives six features of quality work: • companywide quality control • top management quality control audit • industrial education and training • quality circles • application of statistical methods • nationwide quality control promotion
Ishikawa Quality Policy Is crucial that all work is guided by quality policies. Must formulate quality requirements for projects. Use quality plans for projects. A quality manual is used to define a quality management system to implement quality policy Ishikawa Diagrams Are causeandeffect diagrams used to identify and resolve problems. They focus on influential factors that can impact various aspects of quality in a given situation. Use a Pareto analysis Quality Circles Small groups that meet regularly to discuss quality issues
Juran Juran prescribes the following strategy for achieving quality: • structured annual improvements in quality • a massive qualityoriented training programme • upper management must lead company's approach to product quality
Juran ACHIEVING QUALITY IMPROVEMENT • study the symptoms of defects and failures • develop a theory on the causes of the symptoms • test the theory until the cause is known • stimulate remedial action by appropriate action.
Juran Defects can be separated into those that are workercontrollable and those that are management controllable WORKER RESPONSIBILITY • worker knows what to do • worker knows result of own work • worker has means of controlling result If the three conditions apply and is a defect then worker is responsible otherwise is a managementcontrollable defect • Sequence of events for improving quality and reducing quality costs • Universal feedback loop for control • Fundamental is data collection and analysis
Sandholm Suggests to achieve quality a fourpoint attack is needed: • quality policy • quality objectives • quality system • quality organization
Sandholm QUALITY POLICY The quality policy is a statement that expresses the need for corporatewide quality QUALITY OBJECTIVES Quality objectives are statements of measurable improvements usually achievable on an annual basis QUALITY SYSTEM The quality system is the means used to achieve quality objectives. Should include standards and procedures
Deming Deming lists fourteen principles that may be employed by management to achieve quality results. They are: 1. Create constancy of purpose towards improvement of product and service 2. Adopt the new philosophy 3. Cease dependence on inspection to achieve quality build quality in, in the first place
Deming 4. End the practice of awarding business on the basis of price tag get single supplier for any one item. Instead minimize total cost 5. Improve constantly and forever the system of production and service to improve quality and productivity this constantly decreases costs 6. Institute training on the job 7. Institute leadership. The aim of supervision is to help people to do a better job
Deming 8. Drive out fear, so everyone may work effectively for the company 9. Break down the barriers between departments work in teams 10. Eliminate slogans, and targets for the workforce asking for zerodefects and new levels of productivity. They create adversarial relationships. The bulk of the causes of low quality and low productivity belong to the system
Deming 11. Eliminate work standards and management by objectives substitute leadership 12. Remove barriers that rob workers/managers of the right to pride of workmanship abolish annual merit rating 13. Institute a vigorous program of education and self improvement 14. Put everybody in the company to work to accomplish the transformation the transformation is everybody's job
Deming
Deming remarked on one occasion: "The economic and social revolution which took hold in Japan, upset in 15 years the economy of the world and shows what can be accomplished by serious study and adoption of statistical methods and statistical logic in industry at all levels from the top downwards" • The analysis of errors for either type or cause will help control errors this is particularly important for software. • The results enable improvement of the process so that less errors are produced • You cannot inspect quality into a product you must build in quality right from the outset.
Deming The Deming Cycle In addition to statistical knowledge Deming urges a common approach to attacking and describing problems. Commonality is important to integrate quality improvement efforts in different parts of an organization Deming's Fivestep Repetitive Cycle is: Repeatedly 1. Plan 2. Do 3. Check 4. Analyze 5. Act
Deming
Repeatedly 1. Plan - work out strategy for carrying out task - work out strategy for improvement - identify measures to determine whether improvement has been successful and quality goals have been achieved 2. Do - carry out the task incorporating any improvement strategies designed to eliminate defects, etc based on problem causes. 3. Check - identify problems and relate them to quality measures established 4. Act - analyse the root causes of the problems
Crosby Crosby focuses on defining quality as "conformance to requirements" and satisfying what the customer/user wants and needs
Crosby Misconcpetions about software quality There are several misconceptions about quality that follow from Crosby's work • quality means goodness, cannot be defined or measured • people do not produce quality because they don't care • it costs a lot more to produce quality software • people make mistakes it is inevitable there will be errors in large systems
Crosby There is an underlying assumption that the three goals of • quality • cost • schedule are conflicting and mutually exclusive. In contrast, Deming claims that the only way to increase productivity and lower cost is to increase quality
Crosby Crosby suggests there are five maturing stages through which quality management evolves. These are: 1. uncerainty
2. awakening
3. enlightenment
4. wisdom
5. certainty
Crosby has used a Quality Management Maturity Grid to define his approach.
Crosby
Capability Maturity Model W.S.Humphrey and others at the Software Engineering Institute at CarnegieMellon University have developed a method for process assessment and process improvement based on Crosby's Maturity Model Quality Improvement The advantage claimed for the Crosby approach is that it defines a quality improvement path for an organization as well as a means for assessing where at any time the organization is on the path to quality
Message to Garcia
Message to Garcia 1. Learning@griffith 2. GriffLink 3. Select course code 2162ICT
Mary Hoban --- 57174
Lessons for Software Engineers • It is necessary to have the support and commitment for any project that attempts to improve the quality of software (cf. Juran) • With large projects and complex tasks people make mistakes. It is therefore necessary to allow for them and build in processes to address the problem (cf. Crosby) •
It is essential to have clear, well-defined development processes and work-products so software engineers can do their job well (cf. Juran)