QA? Not the way! You can't test quality into a product

29
QA? Not the way! You can’t test quality into a product @neil_killick

Transcript of QA? Not the way! You can't test quality into a product

Page 1: QA? Not the way! You can't test quality into a product

QA? Not the way!

You can’t test quality into a product

@neil_killick

Page 2: QA? Not the way! You can't test quality into a product

What is Quality Assurance (QA)?

“…the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.” ~ Google

“…a way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers… This defect prevention in quality assurance differs subtly from defect detection and rejection in quality control, and has been referred to as a shift left as it focuses on quality earlier in the process.”

~ Wikipedia @neil_killick

Page 3: QA? Not the way! You can't test quality into a product

When something is important across your business, creating a role for it is generally a bad idea.

@neil_killick

Page 4: QA? Not the way! You can't test quality into a product

@neil_killick

Page 5: QA? Not the way! You can't test quality into a product

What do you need to do a good job?

@neil_killick

Page 6: QA? Not the way! You can't test quality into a product

What do you need to do a good job?

Desire - Tools - Capacity - Understanding

@neil_killick

Page 7: QA? Not the way! You can't test quality into a product

Product Development Build the right thing, build the thing right?

Yeah right!

Projects/PMO “You must get these features/projects done on time! Including all the new stuff!”

Revenue and KPI’s “You must deliver $25 million in revenue this year!”

Marketing “You must get these features in by May 10th - we promised the market!”

Recruitment • “I’m a gun, ninja for hire coder - I don’t need

to test my code, that’s what testers are for!”

• Hire quickly, hire for skills and experience, meet head count

Technical environment/competency • “We don’t have the time/$$ to invest in CD tools

- just speed up!”

• “We can’t afford that technology!”

• “We don’t have budget for training (and it takes you away from your work!)”

Mindset •Tolerance for defects

•Hand-off mentality (“it’s someone else’s problem!”)

@neil_killick

Page 8: QA? Not the way! You can't test quality into a product

The Manifesto for Shitty Software DevelopmentWe are uncovering shittier ways of developing software

by doing feature death marches and helping others do it. Through this work we have come to value:

Getting shit out the door over doing a good job

Quantity of features over quality of product

Being on schedule over building the right thing

Being busy over having time to build quality in

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

@neil_killick

Page 9: QA? Not the way! You can't test quality into a product

“I wasn’t sure whether to do a good job or meet the deadline…” ~ New starter

@neil_killick

Page 10: QA? Not the way! You can't test quality into a product

The further away the customer, the less we care, or are accountable for, quality

@neil_killick

Page 11: QA? Not the way! You can't test quality into a product

Receive requirements

Write code

Test code

Waterfall Development

@neil_killick

Page 12: QA? Not the way! You can't test quality into a product

Testers are not gatekeepers of quality, or even of testing

@neil_killick

Page 13: QA? Not the way! You can't test quality into a product

Why, God, why?!?!?!?

@neil_killick

Page 14: QA? Not the way! You can't test quality into a product

Testers testing developers’ code is NOT enough to build quality into the product

@neil_killick

Page 15: QA? Not the way! You can't test quality into a product

Receive and understand requirement

Acceptance test - Write failing feature test

Code test - Write failing unit test

Write code

Refactor MY code

Integrate my code

Refactor THE code supporting the feature

Agree all product tests to support feature

Ensure all tests pass

Agility - Ensure THE code is easy to change, delete and extend

Does MY code

do what I expect it to do?

Does THE code

do what the

USER expects it to do?

@neil_killick

Page 16: QA? Not the way! You can't test quality into a product

Building in quality to software products

A guide for managers and stakeholders

@neil_killick

Page 17: QA? Not the way! You can't test quality into a product

Consistent message about quality, not speed

@neil_killick

Page 18: QA? Not the way! You can't test quality into a product

Build the right thing

@neil_killick

Page 19: QA? Not the way! You can't test quality into a product

Show us the software!

@neil_killick

Page 20: QA? Not the way! You can't test quality into a product

Hire for quality mindset

@neil_killick

Page 21: QA? Not the way! You can't test quality into a product

Don’t push work into sprints - respect capacity@neil_killick

Page 22: QA? Not the way! You can't test quality into a product

No QA roles / phases@neil_killick

Page 23: QA? Not the way! You can't test quality into a product

Invest in ongoing training, coaching and support

@neil_killick

Page 24: QA? Not the way! You can't test quality into a product

Make the right technology choices

@neil_killick

Page 25: QA? Not the way! You can't test quality into a product

Embed quality operationally@neil_killick

Page 26: QA? Not the way! You can't test quality into a product

Building in quality to software products

A guide for product developers

@neil_killick

Page 27: QA? Not the way! You can't test quality into a product

Working system at all times - software runs where it should

Test your own and other’s code!

No hand-offs - working together increases quality

Don’t pull too much work into sprints - respect capacity

Continuous biz involvement (requirements + feedback)

Make time for continuous improvement, continuously!@neil_killick

Page 28: QA? Not the way! You can't test quality into a product

What is Quality Assurance (QA)?

“…the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.” ~ Google

“…a way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers… This defect prevention in quality assurance differs subtly from defect detection and rejection in quality control, and has been referred to as a shift left as it focuses on quality earlier in the process.”

~ Wikipedia @neil_killick

Page 29: QA? Not the way! You can't test quality into a product

Thank you!

Questions?

@neil_killick