[123] quality without qa

48
Quality without QA A lean approach to less bugs Tim Pettersen Developer Provocateur Atlassian @kannonboy

Upload: naver-d2

Post on 07-Jan-2017

60.040 views

Category:

Technology


0 download

TRANSCRIPT

Quality without QAA lean approach to less bugs

Tim Pettersen • Developer Provocateur • Atlassian • @kannonboy

Facts

800+ Developers

:

Quality AssuranceAssistanc

e &

analysis

n. koâla tēaQuality

AWARENESS

LEADS

PROSPECTS

SALES

AWARENESS

LEADS

PROSPECTS

SALES

DOGFOODING

MANUAL QA

buggy code your team writes

less buggy code that ships

AUTOMATED TESTS

CODE REVIEW

fast and cheap

slow and/or expensive

Baked In Quality

Photo: Simon Law

feature/JIRA-123

stable master branch

isolated feature work

master

Branching workflowMerge is blocked until.. 1. CI builds passing? 2. At least 2 reviewers approved? 3. All rework complete?

atlassian.com/git

Want to get Git right?

Automated Tests

Comic: Randall Munroe http://xkcd.com/303/

Comic: Randall Munroe http://xkcd.com/303/

“I’m running the tests”

Types of Tests

junit

WebDriv

er

slowfast

run as pre-commit hook

qunit

(hea

dless

)

chec

kstyl

e

“wire

d” ju

nitRE

ST

no product needed require a live product instance

automatically triggered

Building branches

maste

always build master

~500Kbuilds per month

Testing with Git (webinar)

Sarah Goff-Dupont,CI Extraordinaire

tinyurl.com/superci

Build enforcement

human judgement needed

?

“what-evs”

bad API decision

O(n!) algorithm

technical debt

Build enforcement

CodeReview

Photo: Yogi (Flickr)

Better Code

Shared Knowledge

Team Ownership

G = 1

R+1

Developer guilt

Team Ownership

Better Code

Shared Knowledge

Team Ownership

Code reviews take negative time

Reviews and releases

10

20

30

40

Daily Weekly Monthly Quarterly Yearly

Code Review No Code Review

Source: Atlassian Git Survey 2013

Tim’s

for Pull Requests

TOP TEN TIPS

1. One issue, one pull request

=

2. Minimum TWO approvals before merge

3. Have 1.5x - 2.5x that number reviewers

4. Use git blame / git guilt to find reviewers

5. Avoid flamewars!

negotiate, arbitrate

or escalate

6. Stuck in review?

Make Tuesday & Thursday inbox zero days

7. @mention specialists

8. Raise issues for TODOs

// TODO fix this hack

// TODO fix this (JRA-1773)

obviouscode

codecomments

PRcomments

> >

9. Move comments into code

10. Build a team policy, as a team

…and enforce it!

DOGFOODING

MANUAL QA

AUTOMATED TESTS

CODE REVIEW

Dogfooding?

feature/JIRA-123

stable master branch

isolated feature work

master

Continuous Deployment

Extreme Dogfooding

Dogfooding isan important tool to help you catch

regressions

You need both Automated Tests and Code Review

Git branchinggreatly helps

isolation, stability & testing

Quality AssuranceAssistanc

e &

analysis

So what does QA do?

• QA leadership • Training• Feature kick-offs• Tooling• Analysis

Analysis

Analysis

Tell me more about QA!

How the JIRA team keeps quality at speed

tinyurl.com/jiraqa

Tim Pettersen • Developer Provocateur • Atlassian • @kannonboy

Thank you!