the importance of early testing and automation

28
V 1.0 1 16th Agile Meetup The importance of early testing and automation V 1.0

Upload: xavier-albaladejo

Post on 15-Jul-2015

548 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: The importance of early testing and automation

V 1.0 1

16th Agile Meetup

The importance of

early testing and

automation

V 1.0

Page 2: The importance of early testing and automation

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

Page 3: The importance of early testing and automation

V 1.0

• Waterfall

• Agile

• Early testing - first steps

• Testing automation

• Questions

Agenda

3

Page 4: The importance of early testing and automation

V 1.0 4

Waterfall

Page 5: The importance of early testing and automation

V 1.0 5

Familiar ?

Req. Analysis Design Programming Testing UAT

Page 6: The importance of early testing and automation

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

Page 7: The importance of early testing and automation

V 1.0

Waterfall

7

FRIGHT

Best situation …

Waterfall approach

Req. Analysis Design Programming Testing UAT

Page 8: The importance of early testing and automation

V 1.0

Waterfall

8

FRIGHT DEATH

Worst situation …

Waterfall approach

Req. Analysis Design Programming Testing UAT

Page 9: The importance of early testing and automation

V 1.0

Waterfall

Waterfall approach

9

FRIGHT DEATH

Req. Analysis Design Programming Testing UAT

And you know that this can be even

worse

Page 10: The importance of early testing and automation

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

Page 11: The importance of early testing and automation

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

Page 12: The importance of early testing and automation

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"

Page 13: The importance of early testing and automation

V 1.0

Waterfall

Waterfall approach

13

FRIGHT DEATH

Waterfall approach has these

problems ”by design”

Req. Analysis Design Programming Testing UAT

We need another way of working based on

early testing

Page 14: The importance of early testing and automation

V 1.0 14

¿Agile?

Page 15: The importance of early testing and automation

V 1.0

Agile is…

15

teamwork

Thinking together

Page 16: The importance of early testing and automation

V 1.0

Agile is…

16

teamwork

Thinking together

Diverse

perspectives

Synergies

Better solutions!

Page 17: The importance of early testing and automation

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

Page 18: The importance of early testing and automation

V 1.0

Please, tell me that

you’re not doing

waterfall inside

your Sprints

Page 19: The importance of early testing and automation

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

Page 20: The importance of early testing and automation

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)

Page 21: The importance of early testing and automation

V 1.0

Early

testing

first steps

Page 22: The importance of early testing and automation

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

Page 23: The importance of early testing and automation

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

Page 24: The importance of early testing and automation

V 1.0 24

Te

sti

ng

Au

tom

ati

on

Page 25: The importance of early testing and automation

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.

Page 26: The importance of early testing and automation

V 1.0

Automation investment

26

Costs of

automation?

What criteria

for automation

do you have?

Page 27: The importance of early testing and automation

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). … and avoid devs

fear to do changes

in the code

Page 28: The importance of early testing and automation

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.