Pursuing quality is a lofty goal, and a good theme for this conference. But just because you are bent on pursuing it, doesn’t mean that you will necessarily achieve it, for a number of reasons:
- quality of software (at any realistic scale) is not achievable by any one person, be they a developer, tester or manager
-testing cannot instill quality into a software product, it can only indicate or measure what quality is already there
-because testing is infinite, it can never be finished, so how can you know about the quality of testing?
Does this mean that we should abandon the pursuit of quality? What should we pursue instead? Mediocrity? Rubbish? Nothing at all?It can be worthwhile to go after something even if you know that the ultimate goal is unachievable, because you may well achieve more than you would have done otherwise. But how do you know that you are moving towards quality?
Here are some things that don’t work:
-the “lone tester crying in the wilderness” – one tester bemoaning the lack of quality or desire for quality by everyone else
-an antagonistic approach (“I’m better than you, I’m on the side of quality! – and I can prove that you’re not!”)
-vagueness – yes, we want quality, but I can’t tell exactly what it is, but I think I’ll know it when I see it. (And by the way, this isn’t it yet)
Here are some things that do work:
-cooperation with other people – together we can achieve more than any one person alone
-communication – a necessity in working with other people, but there are good and bad ways of communicating
-making quality goals specific enough to measure whether they have been achieved or not
-taking small steps in the right direction
2. 2
Contents
• pursuing
• quality – what does it mean?
• ways that work and don’t work
• why we can never “catch it”
– and why it’s still worth pursuing
3. 3
What do we mean: “pursuit of quality”?
• pursuit
– the action of following something
– the act of striving (e.g. pursuit of higher education)
– an activity such as a vocation, hobby or pastime in
which a person is regularly engaged
– an effort to secure or attain, a quest (e.g. the pursuit
of happiness)
• do we mean: chasing after and trying to
achieve?
5. 5
Dimensions of quality (from Evans)
• product-based
– measured objectively, standards
• process-based
– verification, produced correctly
• user-based
– fitness for use, the right product
• value-based
– ROI, bottom line
• transcendent
– gut feel, know it when I see it, emotional
Note: these may
be in conflict
with each other!
Isabel Evans, Achieving Software Quality through Teamwork, Artech House 2004
7. 7
Achieving quality
• what does it mean – to “achieve quality”?
– or “we have 100% quality”
• this means nothing! (or very little)
– 100% of what?
– what has been achieved?
• you may be able to achieve what you have
defined and can measure
• is “quality” the sum of our definitions?
8. 8
Why can’t we achieve quality?
• quality is multi-dimensional
– increasing one dimension may decrease another
– not achievable by only 1 person in an organisation
• testing doesn’t increase quality (directly)
– it assesses quality
– it is looking for non-quality - bugs
• even with “perfect” / quality testing?
– how much testing is enough (for quality)?
9. 9
The tester’s dilemma
• want quality
– feel responsible for quality of the software?
• can’t achieve it directly
– testing doesn’t put the bugs in
– testing doesn’t take them out
– testing doesn’t build the software
• how can we be responsible for something we
have no power over?
• so why should we bother?
10. 10
Why bother? Why pursue quality?
• what else would we pursue – mediocrity?
• we all care about quality
– and should be working together to achieve the
goals that are important
• as testers, we can help
– identifying the direction (assess quality)
– get involved early (prevention better than
detection)
11. 11
Strategies that don’t work
• the “lone tester crying in the wilderness”
– complain about quality to anyone who will listen
• appoint yourself the “quality champion”
– “I’m the only one around here who is interested in
quality”
– both of these are antagonistic, sets the tester
against others
• vagueness
12. 12
Typical description?
• quality
– has to be really good
– recognised as top-notch
quality
– just the best
– much better than last
time
– can’t tie it down, but I’ll
know it when I see it
• deadlines
– has to be really quick
– recognised as the
quickest possible
– just the quickest
– much sooner than last
time
– can’t give a specific date,
but I’ll know when it’s late
See www.gilb.com for Tom Gilb’s methods of measuring quality
13. 13
Strategies that help
• make quality goals specific and measurable
• take small steps in the right direction
• cooperation
– with developers
– with customers
– with managers
• communication
– can you see quality from the other person’s side?
14. 14
Summary: key points
• we pursue quality because that is the
direction we want to go
• we can never achieve it
– there are many dimensions which conflict
– perfection costs infinity
– imperfect world with imperfect people
• but it’s worth pursuing
– points us in the right direction
www.dorothygraham.co.uk info@dorothygraham.co.uk
Notes de l'éditeur
Wrong question – which aspects (plural) are right for you at this time?