Agility, Business Value and the 11 Axis Of Software Quality
-
Upload
schalk-cronje -
Category
Documents
-
view
1.177 -
download
0
description
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é[email protected]
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.