Agility, Business Value and the 11 Axis Of Software Quality

Post on 01-Nov-2014

1.177 views 0 download

Tags:

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

ACCU 2009© Schalk W. Cronjé

Agility, Business Value &

the 11 Axis of Software Quality

Schalk W. Cronjéysb33r@gmail.com

ACCU 2009© Schalk W. Cronjé

Are you still agile?

Do you believe in quality?

Do you deliver business value?

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

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

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

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

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

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

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

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

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

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

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

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

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?

ACCU 2009© Schalk W. Cronjé

Reliability

Directly related to fitness of

use

Measures of stability and precision

Know your boundaries

ACCU 2009© Schalk W. Cronjé

Usability

Effort to learn and use the application / API

Difficult to measure

Builds perception

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

ACCU 2009© Schalk W. Cronjé

Portability

Effort to adapt to another HW /OS / SW environment

Separation of concerns

Requires vision

ACCU 2009© Schalk W. Cronjé

Efficiency

Resource usage

Directly related to fitness of

use

Know your boundaries

ACCU 2009© Schalk W. Cronjé

Testability

How easy is it to test the system?

Design it inTime and cost

contributor

ACCU 2009© Schalk W. Cronjé

Flexibility

Effort to modify / adapt to different consumers

... know your boundaries

Are you responsive to change? but...

ACCU 2009© Schalk W. Cronjé

Integrity

Access control

Design in, rather than

afterthought

Cost of violation can be

high

ACCU 2009© Schalk W. Cronjé

Reusability

Repackaging within other applications

Reducing cost of others

APIs / SOA

ACCU 2009© Schalk W. Cronjé

Interoperability

Effort required to connect systems together

Cost for others to connect to your systems

Use of standards

ACCU 2009© Schalk W. Cronjé

11 Axis of Software Quality

ReliabilityCorrectness

Usability

MaintainabilityEfficiency

Testability

Flexibility

IntegrityInteroperability

ReusabilityPortability

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

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

ACCU 2009© Schalk W. Cronjé

"Value delivery advocates measuring value using quantified business objectives in

alignment"

Ryan Shriver, Overload 89, Feb 2009

ACCU 2009© Schalk W. Cronjé

Strategy

AdvocacyEvaluation

Why measure?

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

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

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

ACCU 2009© Schalk W. Cronjé

Example: Outage Time

● Measure the time production systems are off-line

● Uses Nagios statistics● Addresses reliability

ACCU 2009© Schalk W. Cronjé

Metrics vs Business Value

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

ACCU 2009© Schalk W. Cronjé

How do you measure up?

ReliabilityCorrectness

Usability

MaintainabilityEfficiency

Testability

Flexibility

IntegrityInteroperability

ReusabilityPortability

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

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

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

ACCU 2009© Schalk W. Cronjé

End note

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