testing in a velocity culture

37
Testing in a Velocity Culture Utah QA User’s Group January 22, 2013 John Esser Dir. of Engineering Productivity & Agile Development Ancestry.com

Upload: zoltan

Post on 25-Feb-2016

19 views

Category:

Documents


0 download

DESCRIPTION

Testing in a Velocity Culture. Utah QA User’s Group January 22, 2013 John Esser Dir. of Engineering Productivity & Agile Development Ancestry.com. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Testing in a Velocity Culture

Testing in a Velocity Culture

Utah QA User’s GroupJanuary 22, 2013

John EsserDir. of Engineering Productivity & Agile Development

Ancestry.com

Page 2: Testing in a Velocity Culture

Ancestry.com is the world’s largest online family history resource with more than 2.2 million members, 10 billion records, and 5 PB genealogical data.

Ancestry.com can help you discover your roots and tell your unique family story.

Page 3: Testing in a Velocity Culture

Rapidly developing and releasing new features and capabilities is today’s key business driver.

“Quality is secondary to speed, and probably lower than that.”

-Facebook

Page 4: Testing in a Velocity Culture
Page 5: Testing in a Velocity Culture

Ancestry.com Evolution to Agility

Agile Boot Up (Scrum)

Enterprise Agile Framework

Agile Architecture Standards

Continuous Delivery Adoption

Business Agility

2 ½ year period (2010 – present)

Page 6: Testing in a Velocity Culture

Agilityis the constant,

incremental flowof business value realization.

Page 7: Testing in a Velocity Culture

Continuous Delivery

is consistently and reliablyreleasing business value incrementsfastthrough automated build, test, configuration and deployment.

Page 8: Testing in a Velocity Culture

True agility drives toward a velocity driven culture.

Page 9: Testing in a Velocity Culture

If testing slows you down…

…then quality is NOT free. It is actually costing you a lot.

Page 10: Testing in a Velocity Culture

Anything that doesn’t contribute to finding the right product is waste.-Lean Startup

And that includes testing.

Page 11: Testing in a Velocity Culture

Testing in a Velocity Culture

• Rapid feature delivery (days not weeks).• Rapid innovation/feedback.• Testing cannot slow you down.• Testing must enable productivity.• Limited resources—actually you never have

enough people or time.

How do you win?

Page 12: Testing in a Velocity Culture

We are in a “no win” situation.

Page 13: Testing in a Velocity Culture

“I don’t believe in a no-win situation” – Capt. James T. Kirk

Page 14: Testing in a Velocity Culture

Kobayashi Maru

Page 15: Testing in a Velocity Culture
Page 16: Testing in a Velocity Culture

To win we must“change” the rules

“Cheat”

Page 17: Testing in a Velocity Culture

The Ten Commandmentsof Testing

Page 18: Testing in a Velocity Culture
Page 19: Testing in a Velocity Culture

#1 - Nuture “quality is everyone’s responsibility” attitude.

No longer be identified as Quality Assurance.

QA could be “Quality Assistance” (Atlassian)

Page 20: Testing in a Velocity Culture

#2 – Devs Shalt Test

“Continuous Testing”

Page 21: Testing in a Velocity Culture

#3 – Devs Shalt Write All Automated Tests

(or, almost all)

Page 22: Testing in a Velocity Culture

Examples

• Google• Facebook• Thoughtworks• Atlassian• Microsoft (moving this direction)

Page 23: Testing in a Velocity Culture

#4 - Regression tests shalt be automated

If regressions aren’t automated this is a waste of time.

Page 24: Testing in a Velocity Culture

#5 – Software Engineers in Test (SET) Shalt Enable Devs to Test

If you are testing features or code then…?

Page 25: Testing in a Velocity Culture

SET = Software Engineer in Test

• Do not test product features or test the code.• Concentrate on getting testing into the

workflow of the developer.• Focus on enabling automation.• Make code testable.• Write tools, frameworks, infrastructure.• Focus on making the tests run faster and

produce better diagnostics.

Page 26: Testing in a Velocity Culture

#6 - Test Engineers Shalt Enable Devs to Test

Page 27: Testing in a Velocity Culture

Test Engineer

• Focus on user concerns/perspective• Looks for weak points & holes from a holistic

viewpoint.• Does not do “menial” things; does not run

regressions• Wide latitude in role; requires a variety of skills

and perspectives.• Technical; understand architectures,

technologies, assess risk, etc.

Page 28: Testing in a Velocity Culture

#7 - Thou shalt avoid browser-based automated testing

Page 29: Testing in a Velocity Culture

#8 – TEs shalt think in terms of productivity

Page 30: Testing in a Velocity Culture

“People began talking about productivity instead of testing and quality. Productivity is our job, testing and quality are the job of everyone involved in development. This means that developers own testing and developers own quality. The productivity team is responsible for enabling development to nail those two things.”

-Patrick Copeland, Google

Page 31: Testing in a Velocity Culture

#9 – Leverage users and user-like testing earlier and more frequently.

Internal dog-foodingFrequent customer betasCrowd-sourcing (uTest)

Page 32: Testing in a Velocity Culture

#10 - Thou shalt have high impact

Page 33: Testing in a Velocity Culture

Experience report @ Ancestry.com

A lean startup experimentBonnie Bingham, Test Engineer

Social Apps

Page 34: Testing in a Velocity Culture

Story of a New Team

• No code, seriously• We decided to use node.js• How can Testing be successful at this point?• A GREAT dev team– Included in everything– Build code every day, fix bugs

• Insert and evangelize Lean Startup principles

Page 35: Testing in a Velocity Culture

Lean Startup & Testing

• Validated Learning from users• Find early adopters• Get out of the building• Avoid waste• Kill a feature• Fail• Summary

Page 36: Testing in a Velocity Culture

As a testing professional, can you adapt to testing in a velocity culture?

Page 37: Testing in a Velocity Culture

Thank You.

Q & A