How to incrementally integrate QA in an Agile Development Process

37

description

As Drupal continues to grow to be a platform fit for large scale enterprise applications, integrating Quality Assurance (QA) into development processes will become more of a pressing concern. Well defined QA processes allow teams to release more features with less defects and less risk of regression than ad hoc development. Join us as we describe the journey our agile development teams have taken from the days of guess work and hopeful commits of code to a single master branch to static, visual, unit, functional, integration, and release testing. We will share the challenges we have faced, the solutions we have found, and the tools that we use. We’ll also give a glimpse into our future goals for continued incremental improvement, including test tracking and test automation. *This presentation was delivered at DrupalCamp Toronto 2013 by Shanly Suepaul, Everett Zufelt & Benjamin Woll*

Transcript of How to incrementally integrate QA in an Agile Development Process

Page 1: How to incrementally integrate QA in an Agile Development Process
Page 2: How to incrementally integrate QA in an Agile Development Process

Incremental Integration of QA

Page 3: How to incrementally integrate QA in an Agile Development Process
Page 4: How to incrementally integrate QA in an Agile Development Process

Agenda

Our incremental QA recipe•A dash of QA•A pinch of agile•A touch of automation•A good helping of open discussion

Page 5: How to incrementally integrate QA in an Agile Development Process

Background

Page 6: How to incrementally integrate QA in an Agile Development Process

I don’t always test my code

Page 7: How to incrementally integrate QA in an Agile Development Process

Incremental Evolution

1) Minimal to no testing2) Test cases written on feature level3) Workflow – peer review, code review, vdod4) End to end release testing

Page 8: How to incrementally integrate QA in an Agile Development Process

What we are tinkering with now

5) Pair Programming6) Automation 7) Test Driven & Behaviour Driven Development

Page 9: How to incrementally integrate QA in an Agile Development Process

Agile Approach

Page 10: How to incrementally integrate QA in an Agile Development Process

The Agile Manifesto (Abbreviated)

•Individuals and interactions over processes & tools•Working software over comprehensive documentation•Customer collaboration over contract negotiation•Responding to change over following a plan

Page 11: How to incrementally integrate QA in an Agile Development Process

A Really Reductive Explanation of Agile

Page 12: How to incrementally integrate QA in an Agile Development Process

Predictive: The WaterfallManifesto.

On Manifestos

Page 13: How to incrementally integrate QA in an Agile Development Process

A Really Reductive Explanation of Waterfall

Page 14: How to incrementally integrate QA in an Agile Development Process

On Interpretation

Page 15: How to incrementally integrate QA in an Agile Development Process

Creating digital products is an interdisciplinary undertaking. Equally, the process we use should also embrace diverse methods where they make sense.

Page 16: How to incrementally integrate QA in an Agile Development Process
Page 17: How to incrementally integrate QA in an Agile Development Process

Nunchuk skills, bow hunting skills.

Team Structure

Page 18: How to incrementally integrate QA in an Agile Development Process

Key Roles

Page 19: How to incrementally integrate QA in an Agile Development Process

Creative, Tech, & QA Reps

Key Roles

Page 20: How to incrementally integrate QA in an Agile Development Process

“We’re special”-ists.

Key Roles

Page 21: How to incrementally integrate QA in an Agile Development Process

Injecting The Agile Approach

Typical team plus embedded QA in the mix

Benefits –•cross pollination•right to the source•team ownership through full delivery cycle

Page 22: How to incrementally integrate QA in an Agile Development Process

•A Project Manager is the one who thinks 9 women can deliver a baby in 1 month.

•A Developer is the one who thinks it will take 18 months to deliver 1 baby.

•A Tester is the one who always tells his wife that this is not the right baby.

Page 23: How to incrementally integrate QA in an Agile Development Process

Context is King

•Truly knows acceptance criteria•Doesn’t just read and execute•Deeper understand of the product•Participates in scrums tenents

Page 24: How to incrementally integrate QA in an Agile Development Process

Cheesy Jokes

Developer: There is no I in TEAM•Tester: We cannot spell BUGS without U

Question: How many testers does it take to change a light bulb?•Answer: None. Testers do not fix problems; they just find them.

Page 25: How to incrementally integrate QA in an Agile Development Process

Value of X-Functionality

•Ability to learn and pick up other skills•Tester that moonlights in Drupal, CSS, content•Identify defects sooner, inline with development – $$$

Page 26: How to incrementally integrate QA in an Agile Development Process

Team Ownership

Outcomes

Page 27: How to incrementally integrate QA in an Agile Development Process

Whole Team QA Minded

Outcomes

Page 28: How to incrementally integrate QA in an Agile Development Process

Superior Product

Outcomes

Page 29: How to incrementally integrate QA in an Agile Development Process

Inspect and Adapt

Page 30: How to incrementally integrate QA in an Agile Development Process

What does tomorrow look like

•Automation options•selenium, behat

Test Driven Development•simple test, phpunit•Pair programming

collaboration tools

Page 31: How to incrementally integrate QA in an Agile Development Process

Benjamin WollEverett ZufeltShanly Suepal

Thank you!

Myplanet Digitalmyplanetdigital.com@myplanetdigital

Page 32: How to incrementally integrate QA in an Agile Development Process
Page 33: How to incrementally integrate QA in an Agile Development Process
Page 34: How to incrementally integrate QA in an Agile Development Process

On Bricolage

Page 35: How to incrementally integrate QA in an Agile Development Process

Ask why before what.

Process: Discovery

Page 36: How to incrementally integrate QA in an Agile Development Process
Page 37: How to incrementally integrate QA in an Agile Development Process

Wrapping Up