You are on page 1of 30

SPICE in the eXtreme

A case of agility

Veronika Krums-Vabins
Mari Patovaara
Alec Dorling
University College of Borås, Sweden
SPICE in the eXtreme

”An agile process focuses on talents and


skills of individuals and moulds process to
specific people and teams, not the other
way around”
Cockburn, Highsmith (2001)
SPICE in the eXtreme

”No doctrinaire prescriptions”


“Too much resource early on is disastrous”
“Play to win – leave unnecessary things
out”
“Responsibility shall be accepted not given”
“Artefacts should be few, simple and
valuable”
“Don’t measure unnecessary details”
SPICE in the eXtreme

 Agile approaches raise questions about


ISO 15504

 Can ISO 15504 be used together with the


new agile development approaches?
Agenda

 Overview of agile process

 eXtreme programming (XP)

 Overview of ISO 15004

 A rating of XP

 Differences between XP and ISO 15504

 Consequences

 Summary

 Looking ahead
Agile process

An agile process
 Is about expecting that nothing can be
predictable
 Is about finding just enough process to
balance quality and agility
 Is manoeuvrable
 Is a learning cycle within a project
 Is responsive to change
 Trusts in peoples ability
XP describes an
agile process

 XP is one of the agile approaches that


best reflects the agile values
 XP consists basically of a few strategies
and a modest number of practices which
are easy to follow
 XP aims to meet demands for better-
quality software, shorter cycle times, and
lower costs
 XP is based on four basic values
Four basic values
Communication

Feedback Simplicity

Courage
Five basic principles

 Rapid feedback
 Assume simplicity
 Incremental change
 Embrace change
 Quality work
Process maturity
and capability
 A mature process is explicitly
defined, managed, measured and
controlled
 Maturity implies a potential for
growth in process capability
 Process capability is described in a
model where each step indicates
higher formalisation and
standardisation
Capability Levels

Optimizing Level 5 Optimising


The process is continuously improved to meet
PA.5.1 Process Innovation
relevant current and projected business goals.
PA.5.2 Process Optimization

Predictable Level 4 Predictable


The process is enacted
PA.4.1 Process Measurement
consistently within defined limits.
PA.4.2 Process Control

Established Level 3 Established


A defined process is used
PA.3.1 Process Definition
based on a standard process.
PA.3.2 Process Deployment

Level 2 Managed Managed


The process is managed and
PA.2.1 Performance Management
work products are established,
PA.2.2 Work Product Management
controlled and maintained.

Level 1 Performed Performed


PA.1.1 Process Performance The process is implemented and
achieves its process purpose.

Level 0 Incomplete Incomplete


The process is not implemented or fails to achieve its purpose.
Different outlooks

 ISO 15504 Capability Levels and XP


Values defines the outlooks on a
software process
 ISO 15504 Management Practices and
XP Principles describes the aspects of
the overlying perspective
 ISO 15504 Base practices and XP
practices defines how to perform a
process
 ISO 15504 and XP focuses on different
things
Process Performance

• None
• Partially
• Largely
• Fully
Process Capability
Different focus

Agile Predictable
Individuals and Process and
Interaction over
tools

Working Heavy
over
software Documentation

Customer Contract
over
satisfaction Negotiation

Responding over Following


to change a plan
A contradiction

 Different values stand in contradiction

 ISO 15504 claims to be applicable to any


process regardless of underlying
philosophy or approach

 Do different value systems have an


impact on the assessment result of using
agile processes?
How to investigate agility
with predictability

 A mapping of ISO 15504 Base Practices to


eXtreme Programming

 A mapping of ISO 15504 Management


Practices to XP

 Rating of process purpose fulfillment and


achievement of process attributes
XP ISO 15504
Individuals and Process and
Interaction over tools

Working Heavy
over
software Documentation

Customer Contract
satisfaction over Negotiation

Responding Following
to change over a plan

Project Organisational
over
focus focus
The differences

Individuals and Interaction over


Process and Tools
eXtreme Programming
– Implementing a “Trust people” philosophy: people make the
difference between success and failure not the use of tools,
technologies and processes.
ISO 15504
– Implementing an “Established process” philosophy: use a
reliable process based upon good software engineering
principles that is capable of achieving its process outcomes.
XP ISO 15504
Individuals and Process and
Interaction over tools

Working Heavy
over
software Documentation

Customer Contract
satisfaction over Negotiation

Responding Following
to change over a plan

Project Organisational
over
focus focus
The differences

Working Software over


Heavy Documentation

eXtreme Programming
– Implementing a “Confirmation” philosophy: working
software captures the details of requirements and proves that
the evolving software application fulfils the customer needs.
ISO 15504
– Implementing a “Managed process” philosophy: produce
work products that are appropriately documented, controlled
and verified.
XP ISO 15504
Individuals and Process and
Interaction over tools

Working Heavy
over
software Documentation

Customer Contract
satisfaction over Negotiation

Responding Following
to change over a plan

Project Organisational
over
focus focus
The differences

Customer Collaboration over


Contract Negotiation

eXtreme Programming
– Implementing a “Control by changing scope” philosophy:
continuous adjustment of the requirements to match
conditions as they are found.
ISO 15504
– Implementing a “Managed process” philosophy: identify the
requirements for the work products, including both
functional and non-functional aspects.
XP ISO 15504
Individuals and Process and
Interaction over tools

Working Heavy
over
software Documentation

Customer Contract
satisfaction over Negotiation

Responding Following
to change over a plan

Project Organisational
over
focus focus
The differences

Responding to Change over


Following a Plan

eXtreme Programming
– Implementing a “Solve tomorrow’s problem tomorrow”
philosophy: acknowledge change is more effective than
attempting to prevent it.
ISO 15504
– Implementing a “Managed process” philosophy: execute the
process by planning, tracking, verifying and adjusting based
upon defined objectives.
XP ISO 15504
Individuals and Process and
Interaction over tools

Working Heavy
over
software Documentation

Customer Contract
satisfaction over Negotiation

Responding Following
to change over a plan

Project Organisational
over
focus focus
The differences

Project Focus over


Organisational Focus

eXtreme Programming
– Implementing a “Local adaption” philosophy: trusting teams
to monitor and improve their own development processes.
ISO 15504
– Implementing a “Predictable and Optimising process”
philosophy: the process performs consistently within defined
limits and is changed and adapted to effectively meet current
and future business goals
Consequences

 Different measures for a successful/capable


software process

 Poor ratings for agile processes using a


predictable process measurement tool

 Difficulties in comparing agile suppliers with


traditional suppliers
Looking ahead

1) Can current process models be adapted


for determining the degree of
predictability for agile processes? And

2) Is there a need and basis for developing


a maturity model for measuring agility?

The controversy looks set to


continue
Thank you for listening

You might also like