root
The purpose of the Quality Assurance Team in software development
by Gene Michael Stover
creatd 2009 November 14
updated 2011-03-09
I sometimes hear that the purpose of the Quality Assurance Team
is to break things. That's wrong.
I often heard that the purpose of the Quality Assurance Team
is to ensure that only high-quality product reaches the customer.
That's effectively correct, but it's such a soulless answer.
So here's my analogy to explain the purpose of the Quality Assurance
Team to a software development project.
My analogy
- An application exists in a space described by its
features & bugs. The space is multi-dimensional & too
complex for a human to imagine, but for the moment, imagine
a map of a landscape with hills, grass, mountains,
forests... standard stuff.
- The application exists on that map.
- By providing us with Requirements, the users specify a
location on that map. That's where the application wants to
be.
- By creating & modifying code, the programmers have
the power to move the application around the map.
- By measuring the application, QA tells you where the
application is on the map.
- By taking all this into consideration & thinking
ahead, the secretary tells the programmers which direction to move
the application & tells the users when the application
will arrive.
Details, details
- Users rarely give us requirements directly. So where I say
that users give us requirements, we really get those requirements
from their representatives: UI designers, architectures, visionaries.
- Where I say "measuring the application", we usually
say "testing" in polite conversation.
- Where I say "secretary", we usually say project
manager these days. Pitty, that. "Project manager"
is a non-descriptive term for a roll that isn't management. Before
the job title "secretary" was devaluated, it used to be
respectable; the job sure is respectable. I wish we'd return to that.
If not secretary, then "executive officer" or ExO, cuz it
sounds like so much more fun.
End.