Quality without QA

Status:
Accepted

It's hard (and expensive) to hire good QA engineers. Atlassian went for many years before hiring our first QA, and today developers still outnumber them 25:1. The secret to scaling QA is to bake quality assurance into every step of the workflow and ensure developers analyze and test not just their own work, but each other's as well. Of course, developer time is a precious resource and developers can be a proud bunch so the trick is to ration it carefully - ideally not letting them realize they're doing QA at all.

You can achieve this with a set of techniques that Atlassian have evolved over the last decade, including:

* a rigorous Git feature branching workflow
* lightweight, but effective, peer code review using pull requests
* cross-disciplinary feature kick-off meetings
* heavy use of automated testing, including checkstyle, junit, qunit, OSGi-based "wired" tests, webdriver and httpclient based tests.
* judicious, enjoyable manual testing in various forms such as dogfooding and blitz testing
* QA engineers as quality advocates and mentors, rather than manual testers

This talk will show you the techniques and tools that we use to maintain a high level of quality for all of the code that ships to our customers, and how you might implement them in your own organization.

Though Atlassian is obviously a vendor of developer tools, I'm passionate about the underlying workflows. We use Atlassian Stash for Git hosting and pull requests, and Atlassian Bamboo for Continuous Integration, but I'll also show how the techniques demonstrated in this presentation can also be implemented using tools freely available from open source, such as Gerrit and Jenkins.

Participants will walk away with a good understanding of how to optimize their workflows for both productivity and quality. I'll also provide some concrete take-aways that you can use to get developers and other stakeholders at your organization to think about software quality during all phases of the development process.

Session details
Speaker(s): Session Type: Experience level:
Beginner
Track: Tags:
git
Schedule info
Session Time Slot(s):
Grand Peninsula EFG - Tuesday, March 10, 2015 - 16:15 to 16:50

Comments

Thanks for the feedback Eike, I've updated the abstract with the testing technologies that we use, and the commercial & open source variants of products that can be used to implement the workflow.

Public comment

I'm a new PE and my team uses a system similar to the one in your talk with github and Jenkins. Your talk was very helpful for me to have another perspective. I've been humbled by the process. It really helped me to understand the big picture of it and I to think about the learning aspect. I'd rather have a team member correct me on my mistakes than have a customer suffer from them. Well done. Thanks!!

Public comment