establishing an agile testing culture

25
AT4 Agile Development Concurrent Session 11/13/2014 10:00 AM "Establishing an Agile Testing Culture" Presented by: Leigh Ishikawa TripAdvisor Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com

Upload: techwellpresentations

Post on 28-Jul-2015

22 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Establishing an Agile Testing Culture

AT4 Agile Development Concurrent Session 11/13/2014 10:00 AM

"Establishing an Agile Testing Culture"

Presented by:

Leigh Ishikawa TripAdvisor

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Establishing an Agile Testing Culture

With a career spanning more than two decades in various roles, Leigh Ishikawa facilitates change in how organizations view testing by establishing test frameworks and processes, and educating and building teams across multiple continents. In the past decade, Leigh has focused on building test cultures inside high velocity engineering teams. After spending a year and half creating test frameworks and coaching engineers on testing, Leigh is currently a developer on TripAdvisor’s mobile team.

Page 3: Establishing an Agile Testing Culture

Establishing an testing culture

Leigh Ishikawa

Page 4: Establishing an Agile Testing Culture

Agile Culture

• It’s not something you mandate for small segment of your population

• It’s something that every individual and process has to respect and uphold

• Must support organization’s vision – Some organizations are not meant for agile

Page 5: Establishing an Agile Testing Culture

Where do we begin?

Page 6: Establishing an Agile Testing Culture

Failures Observed

• Promises – Improve quality and customer satisfaction while

reducing development time

• (Trying to) replicate someone else’s culture – Bring a person from another company

• Using Agile as means to solely drive engineering productivity – Business continues it’s merry way

Page 7: Establishing an Agile Testing Culture

Successes observed

• Agile(like) organizations have accepted the agile culture as a whole

• Agile(like) organizations apply agile to iteratively improve their overall organization as well as their engineering

• Agile(like) organizations value people and fundamentally practice the manifesto

Page 8: Establishing an Agile Testing Culture

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

• That is, while there is value in the items on the right, we value the items on the left more.

Page 9: Establishing an Agile Testing Culture

Good reasons to adopt Agile

• Desire to make a better product – Better product != $$$

• Desire to have a better work environment – Attract and retain talent

Page 10: Establishing an Agile Testing Culture

Bad reasons for using Agile

• Improve quality with little/no effort • Improve productivity with little/no effort • Put better process in place

– More monitoring – More metrics – Reduce cost - Move resources overseas

• Agile is just for engineers

Page 11: Establishing an Agile Testing Culture

Testing

Are we there yet?

Page 12: Establishing an Agile Testing Culture

Testing is hard

• Most companies struggle • Most never get to where they are really happy

with their testing • Most companies put tools in place that is

ignored and neglected • Many people think there’s a ‘secret recipe’

Page 13: Establishing an Agile Testing Culture

Poor quality speaks of many things

• Indicator of bigger organizational problems – Either disconnect between staff and management

or staff who are disengaged

• If careless, could be a downward spiral – The more you focus on the wrong things, the

worse it gets

• Qualitative goals are hard to measure – And difficult to enforce correctly

Page 14: Establishing an Agile Testing Culture

Automation

• Fails most of the time because people underestimate the difficulty – Hire/promote wrong (or bad) talent

• Treat testing as a second class citizen

– Desperately try to use existing resource • Most QA people can’t code and they shouldn’t either

– Buy expensive software/contracts who promises just that – Have a non SE design a test framework

• Your first/key hire often determines the fate

Page 15: Establishing an Agile Testing Culture

Developers should test

• Good or bad intentions? • Good organizations are willing to attract and

allocate developers for testing projects • Bad organizations will mandate that testing

should happen (more or less) on developer’s personal time and shame them

• Bad organizations think testing just happens • Testing is an art

Page 16: Establishing an Agile Testing Culture

Test Metrics

• Drive your teams with mandated metrics will lead you to failure – “The Logic of Failure”

• While trying to achieve immediate goals, they destroyed something crucial

• Metrics should be used as a means to observe and understand the state

Page 17: Establishing an Agile Testing Culture

Metrics – Code Coverage

• Code coverage goals are, generally, a bad idea • That said, In Java (at the package level)

– 40% = Team is beginning to get grasp of testing – 60% = a sweet spot of where your test is getting a

good coverage • Percentage is meaningless without

understanding what is tested. Above % is based on team prioritizing what they are testing. (Ignore setters/getters, etc)

Page 18: Establishing an Agile Testing Culture

You’ve heard this before

1. Hire the right people 2. Provide infrastructure

– CI, dashboards, etc. 3. Provide goals and visual aids

– Dashboards – Signs - No build break for ### days

4. Re-enforce the good behavior – Build breaks stops everything – Test failures = build breaks

Page 19: Establishing an Agile Testing Culture

Reality

• You will hire the wrong person/people/consulting firm

• You will buy/build wrong infrastructure • You won’t know what metrics to measure (or

avoid) • ALL THE ABOVE DOESN’T MATTER

Page 20: Establishing an Agile Testing Culture

Great testing culture is not

• Bugs • Metrics (Test coverage, customer surveys, etc) • Dashboards • Speed of your development

Page 21: Establishing an Agile Testing Culture

Great Testing culture is

• Desire of individual and organization to build better product

• Open to new ideas • Willing to invest and try different ways to

make your software better through iterative approach

• Transparency within organization and your customers

Page 22: Establishing an Agile Testing Culture

Your company is unique

Your company is a living entity filled with unique individuals. No two companies are alike and should try to be Each company has their strengths and weakness Understand what makes your company special

Page 23: Establishing an Agile Testing Culture

Before you attempt to change

• Find your company’s strengths • Understand why your company works the way

they do • Figure out where you company wants to get to

and where it needs to • Iterate over various tools and process to make

improvements over long period of time

Page 24: Establishing an Agile Testing Culture

Conclusion?

Page 25: Establishing an Agile Testing Culture

To Establish a testing culture, you must grok organization’s culture and Agile Manifesto. You must practice agile manifesto at the

cultural level while preserving the core values of the organization