Agility, Business Value and the 11 Axis Of Software Quality

40
ACCU 2009 © Schalk W. Cronjé Agility, Business Value & the 11 Axis of Software Quality Schalk W. Cronjé [email protected]

description

Considering business value as the prime driver fo Agile development, focusing on quality as a means of contributing to value.

Transcript of Agility, Business Value and the 11 Axis Of Software Quality

Page 1: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value &

the 11 Axis of Software Quality

Schalk W. Cronjé[email protected]

Page 2: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Are you still agile?

Do you believe in quality?

Do you deliver business value?

Page 3: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value & the 11 Axis of Software Quality● Agility and institutional theory● Views of quality● Software quality factors● Measuring for value● The real world

Page 4: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Human capital

● Knowledge● The most important asset of any organisation● Hated by bean counters

– Difficult to measure● Requires non-linear, empirical management

Page 5: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Institutions● Sets of internalised rules

supported by values– Has tacit influence– Rules will be contested

● Shape understanding of social meaning + order– Provides a framework for

performance● Shapes of rights + duties

– Political authority– Economic opportunities

Institution

Organisations

People

An organisation can become "institutionalised"Institutions don't last forever

Page 6: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Scott's Model

Societal Institutions

Organisational Fields

Organisations

Actors(groups/individuals)

diffuse, impose

diffuse, impose

diffuse, impose

invent,negotiate

interpretinnovateerrorinvent,

negotiate

Limitations of cognitive / social rationalitySelective perception

sanctionbehaviour

invent,negotiate

Page 7: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agile Today

● Mature● Well-known methodologies● Embraced by many

– Even if only by lip service● Misunderstood by many● Too easy to tick the boxes

than to deliver value● Tyranny of the urgent

– Discipline

agiletoday

Page 8: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Time to Revisit Agile Values

We value people and interactions above processes and tools

We value responding to change over following a plan

Page 9: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Business Value

● "Business Value" is executing / procuring / producing that which is of "value to the business"

● Responding to change can provide value● Indirect actions at grass roots can provide

long-term business value

Page 10: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value & the 11 Axis of Software Quality● Agility and institutional theory● Views of quality● Software quality factors● Measuring for value● The real world

Page 11: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Quality as an Institution

● Well known concept● Contested nature● Has a tacit influence● Embodied in many organisations● Cannot be directly measured● Improving quality can have side-effects

Page 12: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Product / Service Quality Features (Kano model)

● Primary– Basic features

● Secondary– Distinguishing performance features

● Tertiary– Excitement features– Discovered after purchase– Predisposes to repeat purchase

Quality scope == Fitness of Use

Page 13: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Cost of Quality

● Appraisal costs– Discovering condition of hardware & 3rd-party

software components● Internal failure costs

– Defects found before shipment● External failure costs

– Defects found after shipment● Prevention costs

– Costs for preventing all of the above

Page 14: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value & the 11 Axis of Software Quality● Agility and institutional theory● Views of quality● Software quality factors● Measuring for value● The real world

Page 15: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Correctness

The one always remembered

Relative easy to quantify

To what extent does the system satisfy requirements

and meet objectives?

Page 16: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Reliability

Directly related to fitness of

use

Measures of stability and precision

Know your boundaries

Page 17: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Usability

Effort to learn and use the application / API

Difficult to measure

Builds perception

Page 18: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Maintainability

Effort required to find, fix and test defects or update running

systems

Affects process throughput

Major long-term costs

Page 19: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Portability

Effort to adapt to another HW /OS / SW environment

Separation of concerns

Requires vision

Page 20: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Efficiency

Resource usage

Directly related to fitness of

use

Know your boundaries

Page 21: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Testability

How easy is it to test the system?

Design it inTime and cost

contributor

Page 22: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Flexibility

Effort to modify / adapt to different consumers

... know your boundaries

Are you responsive to change? but...

Page 23: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Integrity

Access control

Design in, rather than

afterthought

Cost of violation can be

high

Page 24: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Reusability

Repackaging within other applications

Reducing cost of others

APIs / SOA

Page 25: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Interoperability

Effort required to connect systems together

Cost for others to connect to your systems

Use of standards

Page 26: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

11 Axis of Software Quality

ReliabilityCorrectness

Usability

MaintainabilityEfficiency

Testability

Flexibility

IntegrityInteroperability

ReusabilityPortability

Page 27: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value & the 11 Axis of Software Quality● Agility and institutional theory● Views of quality● Software quality factors● Measuring for value● The real world

Page 28: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value & Quality

● Quality contributes to business value● The team is in the best position to judge

software quality● Quality is a tacit process

– Need ways to frame quality

It's business value Jim, but not as you know it

Page 29: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

"Value delivery advocates measuring value using quantified business objectives in

alignment"

Ryan Shriver, Overload 89, Feb 2009

Page 30: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Strategy

AdvocacyEvaluation

Why measure?

Page 31: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Measuring for Value● Metrics are nothing, measuring is everything● Start small● Think strategically● Apply Pareto's law● Use checks and balances● Avoid too many metrics● Know when to change reason to measure

– evaluation → advocacy● Know when to no longer measure

Page 32: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Example: Clean Build Failures

● Measures of daily clean-room failures– Tracked over quarter– Daily visibility

● Very simple measure - small heartbeat● "Getting in the groove" metric

– Subtle team introduction to measurements– Team can relate to objective

Page 33: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Example: Code-coverage

● Code coverage measures amount of code exercised during a test run.

● Code coverage does not:– validate usefulness of tests– directly address any of the software quality factors

● Why measure it?– Implies underlying automated tests– Change in coverage implies change in quality

Page 34: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Example: Outage Time

● Measure the time production systems are off-line

● Uses Nagios statistics● Addresses reliability

Page 35: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Metrics vs Business Value

● Do these metrics contribute to business value?– Clean-room failures– Code coverage– Outage time

Page 36: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

How do you measure up?

ReliabilityCorrectness

Usability

MaintainabilityEfficiency

Testability

Flexibility

IntegrityInteroperability

ReusabilityPortability

Page 37: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Agility, Business Value & the 11 Axis of Software Quality● Agility and institutional theory● Views of quality● Software quality factors● Measuring for value● The real world

Page 38: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

"Excellent system qualities are a continuous management and engineering

challenge, with no perfect solutions"

Tom Gilb, Overload 85, June 2008

Page 39: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

Institutional Sustainability

● Continual maintenance● Human capital development● Mutual trust building

– Historical perceptions● Requires learning

– Environment that "learns to learn"● Humans create quality not technology● Tied to continuous improvement

Page 40: Agility, Business Value and the 11 Axis Of Software Quality

ACCU 2009© Schalk W. Cronjé

End note

If change does not make sense, it will not happen.