Software Process Quality and Improvement
Every software development organisation needs to be focused on the delivery of quality. The software engineering discipline responds by calling both for a managed process for the design, construction and testing of software as well as for the improvement of that process. This course explains the fundamental concepts within the frameworks provided by three important international standards.
At the end of the course, students will be able to
- define and criticise the concepts of process and quality in the context of software development;
- evaluate development activities against an accepted, standardized lifecycle model;
- recognise or define frameworks by which the delivery of quality can be made the focus of an organization or project;
- determine the nature of compliance with, or location within, standards and models such as the CMMI (Capability Maturity Model Integration).
- the notion of quality as applied to software; quality attributes; specifications; standards.
- The software process: its general and specific forms
- lifecycle processes and their activities; quality through the lifecycle; ISO/IEC 12207.
- Quality Management Systems
- their content and use in a software development environment; ISO 9000 and TickIT.
- Quality achievement
- formal, rigorous and informal methods of specification, design and code production.
- Quality control (verification and validation)
- formal models and refinement; static checking; animation and prototyping; dynamic testing; peer review; independent V and V.
- Quality preservation
- change management; configuration management.
- process and product metrics; their definition and use; Goal-Question-Metric; commonly used metrics.
- Process improvement
- defining processes; assessing processes; improving processes; ISO/IEC 15504 and the CMMI.
Experience of working in a software development environment is beneficial as is an understanding of managing quality in a software project. Managing Risk and Quality is an ideal companion to this course; if you plan to study both subjects, you may attend them in either order.