You are on page 1of 37

CS429 : Software Development Methodologies

Chapter 4:

Software Process Improvement “SPI”

Dr. Asma AMDOUNI


asma.amdouni@medtech.tn
Outline

1 Introduction

2 What is SPI?

3 What are the different SPI methods?


Example: Software Inspection Process “SIP”

4 Why are Companies Seeking SPI – The motivators?

5 Conclusion

2
1. Introduction
Introduction
Most of the Software companies large, medium, small, or startup usually face issues in their software development projects
and its delivery.
The issues can vary from :
o Lack of documentation,
o Lack of following the process,
o Lack of the integration and collaboration between the teams,
o Lack of requirements traceability,
o Lack of technology management,
o Etc.…

Therefore, some methods and techniques started to exist to tackle the software process issues to suggest different
improvements and identify issues and inefficiencies in the process. These methods became a standard which the companies
can follow to improve their software process. ➔ Software Process Improvement Methods : “SPI” Methods

4
Introduction

What are the


What is the
What is SPI? different SPI
SPI steps?
methods?

SPI methods?
The
let's take an
motivators of
example
SPI projects?
« SIP »

5
2. What is SPI?
What is SPI?

Software Process Improvement (SPI) methodology


is defined as a sequence of tasks, tools, and
techniques to plan and implement improvement Improvement
activities to achieve specific goals such as Planning
increasing development speed, achieving higher
product quality or reducing costs.

Current
situation Improvement
SPI can be considered as process re-engineering or Implementation
change management project to detect the software evaluation
development lifecycle inefficiencies and resolve
them to have a better process.

SPI mainly consists of 4 cyclic steps, while these Improvement


steps can be broken down into more steps Evaluation
according to the method and techniques used.
While in most cases the process will contain these
steps. SPI 4 cyclic steps
7
What is SPI?

Improvement
Planning
This step is the initial phase of the process and it is
mainly to assess the current situation of the
software process by eliciting the requirements
Current
from the stakeholders, analyzing the current
situation Improvement
artifacts and deliverables, and identifying the evaluation Implementation

inefficiencies from the software process.

➔ Identify organization goals and ask the solution-oriented


questions. Improvement
Evaluation

SPI 4 cyclic steps

8
What is SPI?

Improvement
After analyzing the current situation and the improvement
Planning
goals, the findings should be categorized and prioritized
according to which one is the most important or have the
most severity. We should observe what is the new target
Current
level of improvements should look like. situation Improvement
evaluation Implementation

Moreover, in this step, the gap between the current level


and the target level should be planned in terms of a set of
activities to reach that target. These activities should be
prioritized with the alignment of the involved stakeholders
Improvement
Evaluation
and the organization goals.

SPI 4 cyclic steps

9
What is SPI?

Improvement
Planning
In this step, the planned activities are executed, and it puts
the improvements into practice and spreads it across the
organization. Current
situation Improvement
evaluation Implementation
This iterative way of implementation will help the
organization to realize the early benefits from the SPI
program early or even adopt the plan if there is no real
impact measured from the improvement. Improvement
Evaluation

SPI 4 cyclic steps

10
What is SPI?

Improvement
Planning

What is cannot be measured cannot be improved!


The before improvement measures, after the improvement
Current
measures, and the target improvement measure. situation Improvement
Measurement, in general, permits an organization to evaluation Implementation

compare the rate of actual change against its planned


change and allocate resources based on the gaps between
actual and expected progress.
Improvement
Evaluation

SPI 4 cyclic steps

11
3. What are the different SPI methods?
SPI methods

Several approaches to improvement that we have identified


Software
since 1989. Two stand out as the most common:
Inspection
Process
o Best practices: current practices are documented, and the Capability Personal
« SIP »
best ones will become ”best practices.” Maturity Model Software
Integration Process
o Improvement framework: Using Software Engineering
« CMMI » « PSP »
Institute maturity models or a standard like ISO900. SPI
Several methods for SPI are designed Methods
Team Software
These methods are: ISO 9001 Process

o well defined, repeatable, « TSP »


Capability
o measurable, beneficial, and common in use. Maturity Model

But: they are difficult to apply very expensive to use. « CMM »

13
Example:
Software Inspection Process
“SIP”
Example: Software Inspection Process “SIP”

o The Software Inspection Process is a type of


meeting that is held in order to identify defects in Requirements specification
software work products. How?

o The Software Inspection Process is a structured Software architecture


and neutrally facilitated meeting in which
technical peers identify defects in software work
products.
UML design models
Inspections
o Software inspection involves careful examination
of the code, design and other software artefacts,
Database schemas
checking them for characteristics that are known
to be problematic from past experience. Who?

Program
o The Software Inspection Process may be held at
the end of software life cycle phases.
15
Software Inspection Process : Roles

Author Inspector Reader

Moderator
Recorder

16
Function Who? Responsibilities
– Maintains time limits for all activities
– Verifies entry criteria and schedules meetings
– Manages overview and inspection subprocesses
– Keeps project managers out of inspection meeting
Classical facilitator
Moderator Technical lead – Allows only inspectors to identify defects
(maestro )
– Mutes author from interfering with inspection
– Prevents inspectors from identifying “solutions”
– Prevents inspectors from insulting author
– Verifies rework and records inspection results

Project manager/engineer:
– Introduces work product to inspectors
– Analyst (requirements specification)
Author Developer of work product – Answers any questions
– Designer (design specification)
– Corrects defects
– Programmer (software source code)
– Tester (test report)

– Attends product overview


Inspector Identifier of defects Project manager/engineer – Analyzes defect history and prepares for inspection
– Identifies defects during inspection

– Requirements (designer is reader) – Attends product overview


Reader Consumer of work product – Design (programmer is reader) – Studies and practices reading work product
– Code (tester is reader) – Paraphrases work product during inspection

– Becomes familiar with process and forms


– Writes down defects identified by inspectors
– Negotiates adequate time to write down defects
Recorder Writes down defects Project manager/engineer
– Subject to moderator’s direction
– Does not write down information other than defects 17
– Provides completed defect lists to moderator
Function Who? Responsibilities

– Verifies entry criteria and schedules meetings


– Manages overview and inspection processes
– Allows only inspectors to identify defects
Classical facilitator
Moderator Technical lead – Mutes author from interfering with inspection
(maestro )
– Prevents inspectors from identifying “solutions”
– Prevents inspectors from insulting author
– Verifies rework and records inspection results

Project manager/engineer:
– Introduces work product to inspectors
– Analyst (requirements specification)
Author Developer of work product – Answers any questions
– Designer (design specification)
– Corrects defects
– Programmer (software source code)
– Tester (test report)

– Attends product overview


Inspector Identifier of defects Project manager/engineer – Analyzes defect history and prepares for inspection
– Identifies defects during inspection

– Requirements (designer is reader) – Attends product overview


Reader Consumer of work product – Design (programmer is reader) – Studies and practices reading work product
– Code (tester is reader) – Paraphrases work product during inspection

– Becomes familiar with process and forms


– Writes down defects identified by inspectors
– Negotiates adequate time to write down defects
Recorder Writes down defects Project manager/engineer
– Subject to moderator’s direction
– Does not write down information other than defects 18
– Provides completed defect lists to moderator
Function Who? Responsibilities

– Verifies entry criteria and schedules meetings


– Manages overview and inspection processes
– Allows only inspectors to identify defects
Classical facilitator
Moderator Technical lead – Mutes author from interfering with inspection
(maestro )
– Prevents inspectors from identifying “solutions”
– Prevents inspectors from insulting author
– Verifies rework and records inspection results

Project manager/engineer:
– Introduces work product to inspectors
– Analyst (requirements specification)
Author Developer of work product – Answers any questions
– Designer (design specification)
– Corrects defects
– Programmer (software source code)
– Tester (test report)

– Attends product overview


Inspector Identifier of defects Project manager/engineer – Analyzes defect history and prepares for inspection
– Identifies defects during inspection

– Requirements (designer is reader) – Attends product overview


Reader Consumer of work product – Design (programmer is reader) – Studies and practices reading work product
– Code (tester is reader) – Paraphrases work product during inspection

– Becomes familiar with process and forms


– Writes down defects identified by inspectors
– Negotiates adequate time to write down defects
Recorder Writes down defects Project manager/engineer
– Subject to moderator’s direction
– Does not write down information other than defects 19
– Provides completed defect lists to moderator
Function Who? Responsibilities

– Verifies entry criteria and schedules meetings


– Manages overview and inspection processes
– Allows only inspectors to identify defects
Classical facilitator
Moderator Technical lead – Mutes author from interfering with inspection
(maestro )
– Prevents inspectors from identifying “solutions”
– Prevents inspectors from insulting author
– Verifies rework and records inspection results

Project manager/engineer:
– Introduces work product to inspectors
– Analyst (requirements specification)
Author Developer of work product – Answers any questions
– Designer (design specification)
– Corrects defects
– Programmer (software source code)
– Tester (test report)

– Attends product overview


Inspector Identifier of defects Project manager/engineer – Analyzes defect history and prepares for inspection
– Identifies defects during inspection

– Requirements (designer is reader) – Attends product overview


Reader Consumer of work product – Design (programmer is reader) – Studies and practices reading work product
– Code (tester is reader) – Paraphrases work product during inspection

– Becomes familiar with process and forms


– Writes down defects identified by inspectors
– Negotiates adequate time to write down defects
Recorder Writes down defects Project manager/engineer
– Subject to moderator’s direction
– Does not write down information other than defects 20
– Provides completed defect lists to moderator
Function Who? Responsibilities

– Verifies entry criteria and schedules meetings


– Manages overview and inspection processes
– Allows only inspectors to identify defects
Classical facilitator
Moderator Technical lead – Mutes author from interfering with inspection
(maestro )
– Prevents inspectors from identifying “solutions”
– Prevents inspectors from insulting author
– Verifies rework and records inspection results

Project manager/engineer:
– Introduces work product to inspectors
– Analyst (requirements specification)
Author Developer of work product – Answers any questions
– Designer (design specification)
– Corrects defects
– Programmer (software source code)
– Tester (test report)

– Attends product overview


Inspector Identifier of defects Project manager/engineer – Analyzes defect history and prepares for inspection
– Identifies defects during inspection

– Requirements (designer is reader) – Attends product overview


Reader Consumer of work product – Design (programmer is reader) – Studies and practices reading work product
– Code (tester is reader) – Paraphrases work product during inspection

– Becomes familiar with process and forms


– Writes down defects identified by inspectors
– Negotiates adequate time to write down defects
Recorder Writes down defects Project manager/engineer
– Subject to moderator’s direction
– Does not write down information other than defects 21
– Provides completed defect lists to moderator
Function Who? Responsibilities

– Verifies entry criteria and schedules meetings


– Manages overview and inspection processes
– Allows only inspectors to identify defects
Classical facilitator
Moderator Technical lead – Mutes author from interfering with inspection
(maestro )
– Prevents inspectors from identifying “solutions”
– Prevents inspectors from insulting author
– Verifies rework and records inspection results

Project manager/engineer:
– Introduces work product to inspectors
– Analyst (requirements specification)
Author Developer of work product – Answers any questions
– Designer (design specification)
– Corrects defects
– Programmer (software source code)
– Tester (test report)

– Attends product overview


Inspector Identifier of defects Project manager/engineer – Analyzes defect history and prepares for inspection
– Identifies defects during inspection

– Requirements (designer is reader) – Attends product overview


Reader Consumer of work product – Design (programmer is reader) – Studies and practices reading work product
– Code (tester is reader) – Paraphrases work product during inspection

– Becomes familiar with process and forms


– Writes down defects identified by inspectors
– Negotiates adequate time to write down defects
Recorder Writes down defects Project manager/engineer
– Subject to moderator’s direction
– Does not write down information other than defects 22
– Provides completed defect lists to moderator
Software Inspection Process : Steps / Activities

Software Inspection Process


Follow-up
Team Identification of Software Work Product
Purpose Draft
Product Defects High Defects
Rework
✓ Planning: Organize inspections
✓ Overview: Describe Software Work
Meeting
Products
✓ Preparation: Analyze Software
Activities Work Products Preparation
✓ Meeting: Identify Software Defects
✓ Rework: Correct Software Defects
Overview
✓ Followup: Verify Software Defect Product
Final
corrections Low Defects

✓ Inspection Defect Summary Planning

Output ✓ Inspection Report


✓ Software Work Product 23
What is the planning activity ?

Follow-up
Product
Draft
High Defects
Rework

Meeting

Preparation

Overview
Product
Final
Low Defects

Planning

24
Inspection's Forms

25
What is the overview activity ?

Follow-up
Product
Draft
High Defects
Rework

Meeting

Preparation

Overview
Product
Final
Low Defects

Planning

26
What is the preparation activity ?

Follow-up
Product
Draft
High Defects
Rework

Meeting

Preparation

Overview
Product
Final
Low Defects

Planning

27
What is the meeting activity ?

Follow-up
Product
Draft
High Defects
Rework

Meeting

Preparation

Overview
Product
Final
Low Defects

Planning

28
Inspection's Forms

29
What is the rework activity ?

Follow-up
Product
Draft
High Defects
Rework

Meeting

Preparation

Overview
Product
Final
Low Defects

Planning

30
What is the followup activity ?

Follow-up
Product
Draft
High Defects
Rework

Meeting

Preparation

Overview
Product
Final
Low Defects

Planning

31
Inspection's Forms

32
4. Why are Companies Seeking SPI – The motivators?
The most common motivators for SPI:

Standardization and Process Competitive Edge


consistency Cost Reduction
• Being certified in CMMI for
example, can put the company in
• To have a standard and practical • To improve projects cost by higher competitive edge and make
process for software development enhancing the process and it gain more sales due to the
mapped to organization goals and eliminate issues, redundancies, evidence of existing mature
strategy. and deficiencies. software process based on
standard method.

Meeting targets and reduce Improve customers Job satisfaction, Responsibilities, and
time to market satisfaction Resource Management
• Meeting organization goals, • Employees get job satisfaction from producing a
projects delivery, quality • Project delivery on time and based
on the specification with high good quality product and knowing what to do
standards, valuable products, without workload and the time consumed to
professional documentation are quality will improve customers
satisfaction and improve the sales resolve conflicts or to eliminate issue due to an
outputs from SPI. immature process.
process.

Automation and Autonomy


Proven outcome
• Introducing tools to automate
things and improve quality and • There is a lot of evidence for the
ensure consistency. Moreover, value of SPI projects which are
enabling different employees to successfully implemented.
play different roles in the project.
34
5. Conclusion
To summarize…

Steps Description
This step is the initial phase of the process and it is mainly to assess the
current situation of the software process by eliciting the requirements
from the stakeholders, analyzing the current artifacts and deliverables,
Current situation evaluation and identifying the inefficiencies from the software process.
The key considerations in this step to identify organization goals and ask
the solution-oriented questions.

After analyzing the current situation and the improvement goals, the
findings should be categorized and prioritized according to which one is
the most important or have the most severity. We should observe what is
Software Improvement Process the new target level of improvements should look like.
Moreover, in this step, the gap between the current level and the target
“SIP” Improvement Planning
level should be planned in terms of a set of activities to reach that target.
These activities should be prioritized with the alignment of the involved
stakeholders and the organization goals.

Develop improvement solutions to address issues/opportunities and


Improvement Implementation
implement the changes.
Once a process has been changed with the intention of improvement, it’s
necessary to review it to make sure that it’s working as expected. By
Improvement Evaluation communicating with team members and comparing reports to
measurable benchmarks, the data will help to show if the change is for
the better.

36
To summarize…

Software Inspection Process “SIP” Software Inspection Process “SIP”

Purpose
Team Identification of Software Work Product Role Responsibilities
Defects
This is the leader of the inspection. The moderator plans the
✓ Planning: Organize inspections Moderator inspection and coordinates it.
✓ Overview: Describe Software Work Products
✓ Preparation: Analyze Software Work Products
Activity Author
The person who created the work product being inspected.
✓ Meeting: Identify Software Defects
✓ Rework: Correct Software Defects
The person that examines the work product to identify
✓ Followup: Verify Software Defect corrections Inspector
possible defects.
✓ Inspection Defect Summary
Reader Studies and practices reading work product
Output ✓ Inspection Report
✓ Software Work Product The person that documents the defects that are found during
Recorder
the inspection.

37

You might also like