3. what is an ‘anti-pattern’ ?
“ is a common response to a recurring problem
that is usually ineffective and risks being highly
counterproductive.”
-- Wikipedia
4. agile manifesto
• Individuals and interactions over processes
and tools
• Working software over comprehensive
documentation
• Customer collaboration over contract
negotiation
• Responding to change over following a plan
9. reasons
different roles
work in silos
effects
further
increases the
divide between
the various
roles
remedies
QA and Dev.
Collaboration
we adopt only the
easy parts of
agile (sprints and
planning-
meetings etc.)
delays in making
changes/fixes
share the
responsibility of a
quality software
delivery
lack of shared
responsibility
14. reasons
number driven
reports
effects
possibility on
missing out
important
defects
remedies
working software
as the measure
of the success of
the team
measuring the
success of QAs
by the number of
defects they find
more defects and
hence defect
triages
use empirical
ways of
measurement
more low priority
and duplicate
defects
18. reasons
not enough
involvement from
business
effects
last minute
panic
remedies
work on definition
of ‘Done’
Done isn’t Done
production
defects have regular
business
involvement
poor quality
delivered have automated
tests as safety
net
23. reasons
a history of
regression
defects
throughout the
development
cycle
effects
dependency on
regression test
team
remedies
invest in an
effective and
efficient
automated
regression suite
continuous
delivery is not
possible
release testing
should only be risk
management
no regression
suite in place or
not enough
coverage
28. reasons
we believe
‘Quality is a QA
responsibility’
effects
displays lack of
trust
remedies
Quality should be
a shared
responsibility
isolated QA or
testing teams
33. reasons
considering test
automation as a
separate project
effects
duplication of
efforts by these
two teams
remedies
consider test
automation an
integral part of
your software
development
team
considering test
automation as
specialization
changes cannot
be made with
confidences
test suite
maintenance
becomes difficult
make test
automation a
shared
responsibility
38. reasons
not enough
analysis on ROI
effects
automated test
suites brings
along with the
maintenance
costs
remedies
evaluate the ROI
before investing
into getting a full
coverage
separate test
automation teams
consider test
automation
pyramid before
adding up tests
40. try this
C
o
m
p
l
e
x
i
t
y
Quick Wins, High
Value, Definitely
Automate
High value, But
complex. Priority 2.
High Complexity, low
value. Definite No.
Low value, low
complexity. Automate,
maybe
Value
42. “the build is red, why
don’t you comment out
that test”
43. reasons
test automation
knowledge is not
shared
effects
low confidence
in test suite
remedies
follow TDD,
ATDD, BDD
techniques
lack of discipline
test coverage
drops over a
period of time
collaborate on the
test automation
effort
release pressure
(deadlines)
46. Key Takeaways
• It’s easy to get the simpler parts of agile (viz. the
rituals) but our primary focus should be on the core
principles
• Business involvement is very important in an agile
context
• Working software is the measure of success of an
agile team and not numbers
• Software quality is a shared responsibility
• Test automation is not a specialization and is an
integral part of the software development teams
• Being agile needs more discipline than non-agile
projects