Quality from the Outset
Andrew Charles promotes
an inclusive approach to Quality
Management from the outset, fostering a solution delivery mind-set with
all
team members engaged in and responsible for their own part ongoing
quality
assurance.
Our approach contrasts
markedly with the traditional
software delivery model, that of siloed developers building code and
'throwing
it over the wall' to siloed testers, who execute an array of
pre-defined tests
against it. This
approach can only ever
discover defects after the fact, often detecting issues so late in the
development lifecycle that budget and time overruns - for which too
many IT
projects are famous - are practically inevitable.
Furthermore, the later in
the development lifecycle defects
are discovered, the markedly greater the cost of the remedial work
required,
and the greater the risk of introducing new errors into the software
product.
However, the seeds of the
most serious defects are typically
laid early in the requirement specification and design process. Finding them in the
correspondingly early
stages of the project slashes the risk, inconvenience, effort and costs
that
would be faced detecting those same issues during the later test or
acceptance
phases.
Our alternative approach
is to invest quality into the
project from the outset, in order to prevent expensive defects getting
into the
requirements or design in the first place.
Just like the software code, documents such as
requirements and designs
are integral to the overall solution.
In
a quality conscious project, every input goes through a thorough
quality
assurance process during its development, from initial requirements
forward,
engaging each and every team member in the solution driven quality
assurance
process.
When done properly,
improving quality by addressing
technical and business risk factors in early lifecycle products is a
high
value-add activity. The results of taking a solution based approach to
quality
assurance from the outset are a great deal fewer surprises during the
development and test lifecycle, reduced rework and testing costs,
maintenance
of planned scope and more reliable plans and delivery.
We think about assurance
as an ongoing activity,
not
something we do after a piece of software has been built. By
assuring and testing products earlier in our projects, Andrew Charles
can
significantly increase the likelihood of avoiding technical surprises
and thus
bringing projects in on time
|
Build Quality into your Delivery
Create the Quality Mindset
Ensure all team members,
from Junior Analyst to Lead
Developer, Customer Representative to Change Manager, share the Quality
Delivery Mind-set. Encourage
discussion
of and buy-in to the Quality Plan.
Understanding that building quality is an
ongoing task, encompassing all
the key project and programme artefacts, is essential.
Shared Understanding of Quality
Identify all key
artefacts to be produced during the solution delivery lifecycle and
define
with subject matter experts, key designers and developers the
business and technical risk profile, and therefore the appropriate
Quality Criteria and evaluation techniques.
Create a Quality Solution Delivery
Ensure
every member of the team is active and responsible for ensuring the
Quality Aspirations are met. Each component delivery must aim
to
be fit for purpose, rather than just fit to test. The Quality
Process must be activly and independantly managed to ensure that
objective standards are maintained, and no-one falls victim to
'confirmation bias' or 'tick-box' complacency.
Learn the Lessons, Apply the Lessons
Ensure
the outcomes of all Quality Reviews, Inspections and reultant
actions are recorded and managed, much as software defects are managed,
noting the Artifact under sruitiny, technique used and the
Quality
Issue uncovered.
Summarise the lessons learnt in a clear
honest and objective document, with the Change Management Team of the
next project as the nominal audience. Ensure both
positive
and negative attributes of the current project are detailed, so the
next management team know both what does and does not contribute to a
Quality System Delivery.
|