ATDD Make Love, Not War @ Agile Thailand

23
Acceptance Test Driven Development @kluak110 @sinapam proteus-agility.com Jun-17, 2012

description

How ATDD help collabor

Transcript of ATDD Make Love, Not War @ Agile Thailand

Page 1: ATDD Make Love, Not War @ Agile Thailand

Acceptance Test Driven Development

@kluak110 @sinapam

proteus-agility.com

Jun-17, 2012

Page 2: ATDD Make Love, Not War @ Agile Thailand

Imagine there’s no Jira

It isn’t hard to do

Just apply ATDD

And Do Continuous Integration Too

Imagine dev and testers

Living life in peace

You may say I am a dreamer

But I am not the only one

I hope some day you would join us

Defect in the world will be just none

Page 3: ATDD Make Love, Not War @ Agile Thailand

Pam, The CTO 5-year Agile Evangelist, Lead 20+ Agile Projects,

Hardcore Python Developer,

Kulawat, The CEO 5-year Agile Coach, 12-year in Software,

Big5 Consultant, Agile66.com Founder

proteus-agility.com Eidos - Agile Software Development Collaboration Tool

Agile Training Agile Coaching We are hiring!

Page 4: ATDD Make Love, Not War @ Agile Thailand

http://gojko.net/2010/10/06/top-10-reasons-why-teams-fail-with-atdd/

Page 5: ATDD Make Love, Not War @ Agile Thailand
Page 6: ATDD Make Love, Not War @ Agile Thailand

หวหนาใหญ

Dev Manager

Dev Lead

Dev Dev

Dev Lead

Dev Dev

QA Manager

QA Lead

QA QA

QA Lead

QA QA

Objective Objective

Page 7: ATDD Make Love, Not War @ Agile Thailand
Page 8: ATDD Make Love, Not War @ Agile Thailand
Page 9: ATDD Make Love, Not War @ Agile Thailand

Self-Managed Scrum Team

หวหนาใหญ

Dev Manager

Dev Lead

Dev Dev

Dev Lead

Dev Dev

QA Manager

QA Lead

QA QA

QA Lead

QA QA

Team

Member

Team

Member

Team

Member

Team

Member

Team

Member

Team

Member

Team

Member

Team

Member

ScrumMaster

Page 10: ATDD Make Love, Not War @ Agile Thailand
Page 11: ATDD Make Love, Not War @ Agile Thailand
Page 12: ATDD Make Love, Not War @ Agile Thailand

เขยน Acceptance Test กอน Code แคนจรงๆ

จรงๆนะ

ปกต QA กท าอยแลว DEV ไมชนเพราะตองรอ Acceptance Test กอน

Page 13: ATDD Make Love, Not War @ Agile Thailand
Page 14: ATDD Make Love, Not War @ Agile Thailand
Page 15: ATDD Make Love, Not War @ Agile Thailand
Page 16: ATDD Make Love, Not War @ Agile Thailand

d2 d3 d4 d5 d1

QBA

BA

DL

QAL

Dev

QA

PM HLR

BA break down

story & kick-off release

Story w/ initial XC

QA refine

Exit Criteria

DEV discuss HLD & Spike

Story w/ more XC

Initial HLD

TPM

arr

ange

s “R

ele

ase

Pla

nn

ing”

for

DEV

& Q

A t

o d

iscu

ss s

tory

&

est

imat

e

Story w/ final XC

QA produce

Test Scripts

Test Scripts

DEV code

Build

ATDD Flow

จากบรษทสมมตวาอยแถวสวนลมฯ

Iteration n + 1

Story Priority

HLR Priority

PM put use cases and

priority list in PM wiki

Not Ready for Estimate

Not Ready for Estimate

Estimates

Story is in JIRA Story Priority in wiki

Iteration n

Story Priority

Velocity

Release Plan

Iteration 0 Before release starts

QA conduct

AT

Add more XC instead of separated test idea

In Release Planning, the whole team (or

feature team) discuss and estimate if ready. The planning should

stop if total estimate is beyond 120% of team

capacity

QA produce test scripts at least for the

work of the next iteration

DEV may start coding but should not check it in until

Test Scripts are run and pass on Dev env

QA close the story once all Acceptance Test are

passed

Page 17: ATDD Make Love, Not War @ Agile Thailand

Dev จะวาง รอ QA

QA จะรสกแหมงๆ อยดๆ กลายเปนคนเขยน Requirement

QA จะใชเวลาเขยน Test นานขน เพราะกลายเปนคนรบผดชอบ Requirement!

Dev จะบนวาท าไม Requirement มนหยมหยมไปหมด

Dev จะรสกวาท าไมตองมาท างาน Test ทงทตวเองเปน Dev

Dev จะคยกบ QA มากขน เพราะไมเขาใจ Test ทเขยนมาก

QA จะคยกบ Dev มากขน เพราะไมรจะเขยน Test ยงไง

Page 18: ATDD Make Love, Not War @ Agile Thailand

จ าไมไดแลววาเหนทไหน นาจะ NetObjective.com

Page 19: ATDD Make Love, Not War @ Agile Thailand

Dev ชวน QA เขา Design Session

Dev เขยน Code ให Testable มากขน หลงจากโดนดามาเยอะ

หา Bug ไมคอยเจอ

เลกใช Bug Tracking … ไมรจะใชท าไม

QA แทบไมเหลองานถกซ าซากไมใชสมอง

QA มเวลาคดสรางสรรค Explorative Test

QA กบ Dev จะคยกนตลอดเวลา

Page 20: ATDD Make Love, Not War @ Agile Thailand

กยง ATDD ได ดกวาไมม

อยางนอยกจะท าใหเกดการคยกน แตจ ำเปนตองท างานเปน iteration และ แบงยอย

requirement เปนหนวยเลกๆ เชน user story เพอใหเกด feedback loop ทเรว

ดทสดคอม Test Automation แบบบาคลง Test กนทงวนคนดวย Continuous Integration

Page 21: ATDD Make Love, Not War @ Agile Thailand
Page 22: ATDD Make Love, Not War @ Agile Thailand

ATDD, BDD, Specification By Example จะคลายๆกน มจดประสงคเดยวกนคอ Clear Definition-Of-

Done

ATDD เหมาะมากกบ Dev Onshore / QA Offshore หรอ Distributed Team

หนงสอ

Page 23: ATDD Make Love, Not War @ Agile Thailand

Demo