90 likes | 197 Views
Software Quality: An Overview From the Perspective of Total Quality Management. By Kan, Basili and Shapiro. General Quality necessary condition but not sufficient for today’s world market multidimensional concept involving:
E N D
Software Quality: An Overview From the Perspective of Total Quality Management By Kan, Basili and Shapiro
General Quality necessary condition but not sufficient for today’s world market multidimensional concept involving: entity of interest, view of that entity, quality attributes of that entity Multiple definitions a) conformance to requirements (Crosby) and b) fitness for use (Juran) this is non-trivial to do
Software Quality (cont.) 2. Product Quality • two levels : • small q - at product level • Defect rate (e.g. use “bugs/kloc” metric) • Reliability (e.g. use “meantime-to-failure” metric) • Big Q - product level PLUScustomer satisfaction level • quality loop concept: • customer wants • requirements • product design and implementation according to requirements • distribute and service the product • customer satisfaction
Software Quality (cont.) 3. Process Quality: • Ensuring that each intermediate product resulting from the steps of development process is of good quality and satisfies the internal customers who have to perform the next step. • Ensuring that the methodology, tools, and technologies employed for the process are under control and are improving. • ---- Need metrics for this ?---
Total Quality Management (TQM) • Astyle of management that creates an organizational culture for improvement of • product • process • service to achieve success throughcustomer satisfaction • Key elements are: • Customer focus • Process • Human Culture • Measurements • Several Organizational frameworks have been proposed to improve quality • Plan-Do-Check-Act (improving/optimizing a process) • Quality Improvement Paradigm/Experience Factory (building cont. improving org.) • SEI Capability Maturity Model (staged process improvement) • Lean Enterprise Management (“valued added” process and development)
1. Customer Focus • Understanding the customers’ wants and needs is a key element for software TQM • Early in the development phase - verify requirements andearly feedback: • rapid throwaway prototyping • iterative enhancement • evolutionary development • Late in the development phase – controlled feedback • customer beta test • customer “burn-in” for early customers
2. Process, Technology, and Development • Defect Prevention Process • causal analysis • action team • (action kick off meetings) • action tracking • Reviews and Inspections • Formal Methods • Improvements in Design Paradigms (e.g. OO) • Programming Languages • Development Platforms, Libraries, Change Control and Middleware (Screen -Logic –DataBase; M-V-C) • Software Reuse
3. Human Culture • Organizational Participation (total) • Management commitment and leadership • Professional buy-in and empowerment • customer interaction (my addition for emphasis) • Integrated Operational Approach • project (schedule/resource/function perspective) • process • quality • Communication is a “huge” factor for human culture Many software projects are “group” activities -- social, psychological, organizational skills are relatively important
4. Data, Measurement, and Model • Collecting data and performing measurements are absolutely necessary • well defined metrics (a necessary pre-req.) • Goal/Question/Metric (GQM) • “models” are needed • reliability models • quality models (may be used for both development and service) • complexity models • service models (my addition) • must have means to collect and record • collected information needs to be valid & reliable,