Software Quality Engineering
BS(SE)-VI
Dr. Assad Abbas
Department of Computer Science
Outline
Process Improvement
n
A lot of organizations still face a multitude of problems
when it comes to creating high-quality software products.
n
On a regular basis, the Standish Group publishes the
so-called “Chaos Report,” which documents these problems
in terms of IT project success and failure. The Chaos
Report regularly surveys a large set of IT projects and
distinguishes three categories of projects
5 Successful: Projects that have achieved the given target on time and within budget.
5 Challenged: Projects that have been completed, but with extensive additional effort and/or budget.
Process Improvement
n The results of various surveys have been quite stable over
many years: many projects failed or needed more effort and budget than planned.
n There are many reasons for these problems and a lot of them
can be related to processes.
n Some are related to a lack of indispensable processes such
as sound project management, configuration and change management, and validation and verification processes.
n These problems impose significant risks and consequently
potential damage to the organization.
n The resulting risks include financial risks, liability risks, the risk
Process Improvement
n Low process quality often leads to bad product
quality, as chaotic ad-hoc realization of software projects is very defect-prone (quadrant 1) although achieving good product quality with bad processes can sometimes be seen in practice (quadrant 2)
n The institutionalization of processes can help to build
up and preserve organizational knowledge with respect to software development (quadrant 3). Thus, mature software development processes can be seen as a prerequisite for high-quality software products
n In consequence, without good process quality and an
Software Process Improvement (SPI) Approaches
n
Currently, mainly two types of SPI approaches are
being used in practice:
5
model-based SPI approaches (also referred to as
problem-oriented approaches or top-down
approaches)
5
continuous SPI approaches (also referred to as
solution oriented approaches or bottom-up
Software Process Improvement (SPI) Approaches
n
Model-based SPI approaches compare
organizational processes with a reference model and
can be used to identify coarse-grained problem
areas and potential improvement options.
n
Continuous SPI approaches can be used to develop
Model-based Improvement
n Model-based SPI approaches such as ISO/IEC 15504 (SPICE) or
CMMI compare an organization’s processes or methods with a reference model containing proven processes or methods
n Such a reference model often contains only requirements for such
processes or methods that result from experience collected in successful organizations.
n Typically, the elements of such a reference model are associated
with different levels that are supposed to reflect an organization’s different capability or maturity levels. Therefore, this type of model is often called capability or maturity model
n An assessment (sometimes also called appraisal) in model based
approach determines to which degree an organization complies with the demands of the respective model and is typically
Benefits of Model-based Improvement Approaches
n Creating quality awareness
5 Model-based approaches can be easily used to create and enforce
awareness for quality issues in large organizations because many different stakeholders (e.g., project managers, developers) are involved in the
improvement actions.
n Measurable goals
5 Improvement goals like “reach maturity level 3” can be easily understood, independent of technical details, and are thus, easier to communicate to and by managers. Additionally, from the management point of view, reaching a specific capability level can be defined as a clear, measurable, and
assessable goal.
n Process areas and important base practices
5 The reference models contain relevant process areas and the maturity levels prescribe a way to process improvement, which is perceived as being
Benefits of Model-based Improvement Approaches
n
Focused improvement actions
5 Model-based approaches support the prioritization and selection of the most important improvement measures. Thus, improvement actions with high impact can be
performed first and the resulting benefits can be realized within a short timeframe.
n
Independent assessment
ISO/IEC 15504 (SPICE)
n ISO/IEC 15504, often simply called SPICE, is an international
standard for evaluating and improving an organization’s software processes.
n The international standard consists of five parts.
5 Part 1 (ISO/IEC 15504-1:2004) defines concepts and vocabulary,
5 Part 2 (ISO/IEC 15504-2:2003) the requirements for performing process assessments, as a basis for process improvement and capability level determination.
5 Part 3 (ISO/IEC 15504-3:2004) supports the users of the standard in fulfilling the requirements for an assessment as stated in part 2.
5 Part 4 (ISO/IEC 15504-4:2004) assists with utilizing
SPICE-compliant assessments for process improvement and capability level determination.
ISO/IEC 15504 (SPICE)
n A SPICE assessment evaluates a defined subset of the 49
SPICE processes, assigning each evaluated process a Capability Level (CL), similar to CMMI’s continuous
representation.
n Evaluation is performed using predefined Process Attributes
(PA).
n CL 1 requires only one PA; all higher levels require two. A
SPICE process description states the Process Purpose,
expected Outcomes that should be produced by the process, and Base Practices and Work Products, indicating the extent of achievement of the process purpose and outcomes. In
ISO/IEC 15504 (SPICE)
n Like CMMI, SPICE defines six capability levels:
5 CL 0 (Incomplete): No requirements (every organization automatically achieves CL 0).
5 CL 1 (Performed): The process exists and achieves its specific goals.
5 – CL 2 (Managed): CL 1 and the process is managed (planned, monitored, and adjusted), and its work products are
established, controlled, and maintained.
5 CL 3 (Established): CL 2 and the process is implemented using a defined process that is capable of achieving its process
outcomes.
5 CL 4 (Predictable): CL 3 and the process operates within defined limits to achieve its outcomes.
Continuous Improvement Approaches
n Continuous SPI approaches focus on the important problems of
a software development organization and usually involve
improvement cycles (like Plan-Do- Check-Act (PDCA) or Quality Improvement Paradigm (QIP)) based on an initial baseline that defines the respective starting point of each improvement action
n Continuous improvement approaches focus on solving a specific
problem by analyzing the problem, implementing and observing problem-focused improvement actions, and measuring the
effects of the actions.
n The interpretation of the measurement data is used as input for
further optimization of the solution. In addition, solving one
Continuous Improvement Approaches
n PDCA Cycle
5 Continuous improvement approaches concentrate on problems in an
organization’s development process.
5 Generally speaking, these approaches consist of iterative improvement cycles based on the PDCA cycle, which was made popular by W. Edwards Deming and is based on the work of Walter A. Shewhart.
5 PDCA is not explicitly focused on software development, but has
Continuous Improvement Approaches
n
Total Quality Management (TQM)
5
TQM is a holistic management approach toward
quality management and, in particular, continuous
improvement within an organization.
5
The TQM approach was mainly developed in the
context of industrial production processes. Although
classic production processes and software
Continuous Improvement Approaches
Goal-Question-Metric Paradigm
n
Goals
5
What is the organization trying to achieve?
5
The objective of process improvement is to satisfy
these goals.
n
Questions
5
Questions about areas of uncertainty related to the
goals. You need process knowledge to derive these.
n
Metrics
GQM Questions
n
The GQM paradigm is used in process improvement
to help answer three critical questions:
5
Why are we introducing process improvement?
5
What information do we need to help identify and
assess improvements?
Source
n
Software Process Definition and Management,