ATDD Make Love, Not War @ Agile Thailand

Preview:

DESCRIPTION

How ATDD help collabor

Citation preview

Acceptance Test Driven Development

@kluak110 @sinapam

proteus-agility.com

Jun-17, 2012

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

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!

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

หวหนาใหญ

Dev Manager

Dev Lead

Dev Dev

Dev Lead

Dev Dev

QA Manager

QA Lead

QA QA

QA Lead

QA QA

Objective Objective

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

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

จรงๆนะ

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

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

Dev จะวาง รอ QA

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

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

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

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

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

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

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

Dev ชวน QA เขา Design Session

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

หา Bug ไมคอยเจอ

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

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

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

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

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

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

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

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

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

Done

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

หนงสอ

Demo

Recommended