Early testing is a must, aligned with the Agile concept of quick feedback as well as teamwork. Test automation is also key for saving money and allowing continuous deployment, but needs to be started based on some criteria.
V 1.0 1
16th Agile Meetup
The importance of
early testing and
automation
V 1.0
V 1.0 2
Xavier Albaladejo is Agile-Lean Coach of organizational
transformation and member of everis Agile Excellence
Center. He helps large organizations to bring more value,
faster and efficiently, using Agile and Lean principles.
Xavier Albaladejo coordinates a Postgraduate on Agile
methods in La Salle, he is Certified Scrum Practitioner,
founder of proyectosagiles.org, Agile Barcelona and
member of Agile Spain Board of Directors.
AGILE EXCELLENCE CENTER
IT Government – Technology BU
PMA
Postgrado en
Métodos Ágiles
Speaker Bio & Company Information
V 1.0
• Waterfall
• Agile
• Early testing - first steps
• Testing automation
• Questions
Agenda
3
V 1.0
Waterfall
6
Feedback based on paper,
not on the real product
Waterfall approach
It is the first time where you
see/touch the final product
Req. Analysis Design Programming Testing UAT
V 1.0
Waterfall
Req. Analysis Design
Initial plan
Programming
10
Testing
The sad reality
Req. Analysis Design Programming
Cumulated delays
UAT
We’re late!!
UAT
It is normal
that the testing phase
(as the end development process)
will be the one that
will suffer the most
V 1.0
Waterfall
Req. Analysis Design
Initial plan
Programming
The sad reality
Req. Analysis Design Programming
Cumulated delays
11
Testing
UAT
We’re late!!
UAT
Teamwork
V 1.0
Waterfall
Req. Analysis Design
Initial plan
Programming
The sad reality
Req. Analysis Design Programming
Cumulated delays
12
Testing
UAT
We’re late!!
UAT
What about predictability?
How many “testing iterations” in the end you will need?
What about latency due to waiting in
Programming and Testing “teams"
V 1.0
Agile is…
17
teamwork
Concurrent engineering
Requirements & test cases
Programming & testing …
&
Ready
to ship
Continuously working together
Short
feedback
loops
between
program-
mers and
testers
All specialists integrated, not phased
V 1.0
Agile is…
19
Early testing!
Are we
developing with
the appropriate
quality?
Let’s know it from
the beginning,
from the first
small chunk!
quick feedback
V 1.0
Agile is…
20
Find and fix
ASAP!
quick feedback
Avoid
spreading
errors
Devs remember
how they just
have
programed it
Still there aren’t
new layers of
software on top
(faster fixing, and
not patching)
V 1.0
Acceptance criteria
22
Face to face
“conversations” with
stakeholders and end
users when gathering
requirements
Reduction of bugs
due to requirements
“Card”
“Confirmation”
Clarification
Disambiguation
Hypothesis
reduction
Fixing target for
programming
V 1.0
Acceptance criteria
23
Third factor
of
productivity
and success
1 Person capability
2 Team cohesion
3 Technical / product simplicity
http://www.slideshare.net/xalbaladejo/en-cas2013-agile-lean-
organization-and-productivity-improvement-frameworkv30
Promotes KISS, YAGNI,
avoids over-engineering by
programming only the minimum needed
to pass the acceptance criteria
V 1.0
If something is good, do it always, continuously
25
Testing
automation
Quicker feedback of regression,
faster quality cycles
Nightly Hours Minutes
Flexibility to changes, to modify
and refactoring without fear
(iterative development). It supports:
Emergent architecture.
Continuous deployment.
Running documentation,
executable specs, using domain
language.
V 1.0
Automation investment
27
Some criteria:
Reducing
development
costs
Keeping
incomes
and end-user
experience
Business impact, not loosing money
(sales, image, security)
Repetitive testing (parts of the system
where there is recurrent re-programming).
Logic complexity (high number of test
cases that can be parameterized).
V 1.0 28
Automate using criteria for no loosing
or saving money.
To achieve concurrent engineering, you
need to work continuously as a real
team, integrating clients,
programmers and testers.
BTW, regularly reflect on how to improve all together!!
Automation supports iterative
development and continuous
deployment.
Summary
Early testing, acceptance criteria and
fixing asap saves money, speeds up
development, and increases
predictability.