Course description for “Software Quality and Management” Lecturer: Dr. Katalin Balla Synopsis & Objectives The course has the basic scope to provide the students with theoretical knowledge about concepts of software quality, about the quality - models, - standards and – methodologies used in software industry. The theory is supported and supplemented by the lecturer’s 10 years experience in software quality management. Understanding and usage of the theory is consolidated by the case studies and exercises. By completion of the course, students will be able to understand software quality in its complexity, to see the differences and interconnections among the most popular software quality models, standards, approaches. They will have a solid basis that enables them to make the right selection among software quality models, based on a software company’s own characteristics. Prerequisites The course has been developed for students in the field of software development, informatics. Knowledge of software development basic concepts and some experience in software development (design, programming, documenting) is required. Attendance Attending the course is obligatory. Any student - being absent more than thirty percent of the classes - cannot complete the course. Attendance will be checked on a regular basis throughout the course. Special requirements The courses are held in English. Subject outline - Main topics The course is organized around the following main topics: I. Introduction, basic concepts. II. Product – oriented approach of software quality. III. Process – oriented approach of software quality. IV. Management topics in software quality. Course description for the subject “Software Quality and Management” V. Characteristics of software quality elements: definition, quality attribute, metric. Measurement methodologies. Testing. VI. Possible approaches of software quality. The QMIM model. VII. Practical application of software-quality theory. The following table presents the above topics in more detail. Week Hour Main topic 1 1 I. 2 II. 1. III. 2. 2. 3. 1. 2. 4. 1. 5. 2. 1. 2. 6. 1. IV. 2. 7. 1. 2. 8. 1. V. Topics addressed Introduction. Structure of the course. Defining software quality. Changes in software quality definitions. Garvin’s software quality definitions. Important elements of software quality and their characteristics. Software quality in Hungary. Product-oriented approach of software quality. Boehm and McCall models. Standard ISO 9126. Process- oriented approach of software quality. Standard ISO 9001:2000. The history, development, structure, usage of the standard. Software process improvement. Staged models. CMM. Continuous models. SPICE ( ISO 15504) Integrated models. CMMI. PSP, TSP, other models. Comparison of software process improvement models. Management specialities of software development projects. Management and technical processes in a project. PM methodologies. Elements, analogies, differences. PRINCE methodology. Management elements of RUP methodology. Management steps in a software project. Planning, tracking, monitoring. Importance of estimation. Estimating techniques. Case study. Planning a project. WBS, OBS, plans. Using MSProject in a software company. Risk management in software project. Presenting a risk management methodology. Case study. The human factor in software projects. Team-members. Management styles. The theory of Weinberg. Thinking patterns. Project communication. Characteristics of the important elements in software development. Definition, quality attribute, metric. Measurement – basic concepts. PM metrics. Measuring technical processes. Possible metrics. Measurement methodologies. QIP of Basili (GQM and EF). 2 Course description for the subject “Software Quality and Management” Week Hour Main topic 2. 9. 1. 2. 10. 1. 11. 12. 13. 14. 2. VI. 1. VII. a. 2. b. 1. 2. c. 1. 2. 1. d. e. 2. VIII. Topics addressed Other measurement methodologies, analogies, differences. Software product characteristics. One possible complexity metric: function points. Counting function points using Cosmic method. Testing, techniques, methods. Test planning, test execution, test documenting and follow up. Correcting faults and failures. Analyzing fault and failure statistics. Measuring the efficiency of testing. Cost and value of testing. OO testing. RUP – prescriptions for testing. Testing tools. Possible approaches to software quality. Filling the QMIM framework. How to start in a low maturity-level software company? Practical application of software quality theory. Case study, part 1. Developing a project management system. Using PM2 methodology. Case study, part 2. Developing a software quality management system. Quality organization. Quality policy. Quality objectives. Case study, part 3. The structure of a quality management system. Quality handbook. Standards and procedures. Project quality planning. Measurement. User satisfaction. ISO audit. Case study, part 4. Software process improvement. Using CMM. CMM (CBA-IPI) audit. Case study, part 5: Using SPICE, SPICE audit. Case study, part 6. Using CMMI. SCAMPI audit. Case study, part 7: Developing a company-wide measurement program. Defining product types, quality attribute and metrics.. Recapitulation. Prerequisites of a successful software process improvement program. Literature Presentation slides will be available on the Intranet. Main references used in the course: K. Balla: The Complex Quality World. Developing quality management systems for software companies. Beta Books, Eindhoven University of Technology., 2001. ISBN: 90-386-1003-3 Fenton, N.E., Pfleeger, Sh. L.: Software Metrics: a Rigorous & Practical Approach. International Thomson Computer Press, 1997. Basili, V.: Applying the Goal/Question/Metric paradigm in the experience factory. In Fenton & Pfleeger, pp. 21-43. Genuchten, M.van: Towards a Software Factory. Ph.D. thesis, Eindhoven University of Technology, 1991, ISBN: 90 900 4119 2 3 Course description for the subject “Software Quality and Management” Hamilton, John: Staged and Continuous SPI Model Architecture – shich is best? EuroSPI 2000, Coppenhaga. Tutorial, 7. Nov. 2000. Humphrey, W.S.: Using a Defined and Measured Personal Software Process. In: IEEE Software, May 1996, pp. 77-87 Veenendaal E., Trienekens, J. J . M.:"Software Quality from abusiness perspective", Kluwer Bedrijfsinformatie, ISBN:90-267-2631-7 Kuvaja,P., Simila, J., Kranik, L., Bicego, A., Saukkonen, S., Koch., G.: Software Process Assessment & Improvement. The Boostrap approach. ISBN O-63119663-3, Blackwell Publishers, 1994 Pankaj Jalote: CMM in practice. Processes for executing software projects at Infosys. Software Engineering Institute, Addison-Wesley, 2002. ISBN 0201616262 Paulk, Weber, Curtis, Chrissis: The Capability Matirity Model. Guidelines for Improving the Software process. SEI series in software engineering. Addison – Wesley, 2002., ISBN 0-201-54664-7 Paulk, Mark C.: The Evolution of the SEI’s Capability Maturity Model for Software. In: Software process - Improvement and Practice, Pilot Issue, August 1995, pp.:3-15 Symons, C.: Functional Size Measurement using Cosmic method. Workshop., 2001 April. Project Run In Controlled Environment , LBMS Delegate Notes, 1991 Rout, T. P.: SPICE A framework for software process assessment. In: Software Process - Improvement and Practice 1(1), pp. 57-66, August 1995. Weinberg, Gerald M. : Quality Software Measurement. Vol.3.: Congruent Action. Dorset House Publishing, 1994. ISBN 0-932633-28-5 ISO/IEC 15504. Information Technology – Software Process Assessment. 1998.01.12. Part 1: Concepts and Introductory Guide. 1998.01.12. Part 2: A reference model for processes and process capability. Part 3 : Performing an assessment. Part 4 : Guide to performing assessments. Part 5 : An assessment model and indicator guidance. Part 6 : Guide to competency of assessors. Part 7 : Guide for use in process improvement. Part 8 : Guide for use in determining supplier process capability . Part 9 : Vocabulary. ISO 9000:2000. Quality Systems. ISO/IEC 9126. Information technology - Software product evaluation- Quality characteristics and guidelines for their use. 1991. FCD 9126-1.2 Information technology - Software product quality - Part 1: Quality model. 1998-06-26. ISO IEC 9126-1: Information technology: Software quality characteristics and metrics - Part 1: Qaulity characteristics and sub-characteristics. Working draft. 28 March 1995. ISO/ IEC JTC 1/SC 7/WG 6:Information Technology - Software Product Quality - Part 2: External metrics. Proposed draft technical report. Jan. 18, 1999. ISO / IEC 9126-3: Information Technology - Software product quality - Part 3: Internal metrics. Jan. 18, 1999. Assessment The course ends by a written exam. Around week 7 a test will be completed by the students. The final mark will be determined taking into consideration the test results, the exam results and the student’s activity in the case studies. 4