27
Imagine there’s no Jira Imagine there’s no Jira It isn’t hard to do It isn’t hard to do Just apply ATDD Just apply ATDD And Do Continuous Integration Too And Do Continuous Integration Too Imagine dev and testers Imagine dev and testers Living life in peace Living life in peace You may say I am a dreamer You may say I am a dreamer But I am not the only one But I am not the only one I hope some day you would join us I hope some day you would join us efect in the world will be just none efect in the world will be just none

ATDD Make Love Not War - Bangkok BugDay 2012

Embed Size (px)

DESCRIPTION

Imagine there’s no JiraIt isn’t hard to doJust apply ATDDAnd Do Continuous Integration TooImagine dev and testersLiving life in peaceYou may say I am a dreamerBut I am not the only oneI hope some day you would join usDefect in the world will be just none

Citation preview

Page 1: ATDD Make Love Not War - Bangkok BugDay 2012

Imagine there’s no JiraImagine there’s no JiraIt isn’t hard to doIt isn’t hard to doJust apply ATDDJust apply ATDD

And Do Continuous Integration TooAnd Do Continuous Integration TooImagine dev and testersImagine dev and testers

Living life in peaceLiving life in peaceYou may say I am a dreamerYou may say I am a dreamer

But I am not the only oneBut I am not the only oneI hope some day you would join usI hope some day you would join us

Defect in the world will be just noneDefect in the world will be just none

Page 2: ATDD Make Love Not War - Bangkok BugDay 2012

Acceptance Test Driven Development@kluak110 @sinapam

proteus-agility.com

May-12, 2012

agile66.com

Page 3: ATDD Make Love Not War - Bangkok BugDay 2012

Pam, The CTO5-year Agile Evangelist,Lead 20+ Agile Projects,

Hardcore Python Developer,

Kulawat, The CEO5-year Agile Coach,12-year in Software,

Big5 Consultant,Agile66.com Founder

proteus-agility.comEidos - Agile Software Development Collaboration Tool

Agile TrainingAgile CoachingWe are hiring!

Page 4: ATDD Make Love Not War - Bangkok BugDay 2012
Page 5: ATDD Make Love Not War - Bangkok BugDay 2012

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

Page 6: ATDD Make Love Not War - Bangkok BugDay 2012
Page 7: ATDD Make Love Not War - Bangkok BugDay 2012
Page 8: ATDD Make Love Not War - Bangkok BugDay 2012

Objective Objective

Page 9: ATDD Make Love Not War - Bangkok BugDay 2012
Page 10: ATDD Make Love Not War - Bangkok BugDay 2012
Page 11: ATDD Make Love Not War - Bangkok BugDay 2012

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 12: ATDD Make Love Not War - Bangkok BugDay 2012
Page 13: ATDD Make Love Not War - Bangkok BugDay 2012

ATDD

TDD

Page 14: ATDD Make Love Not War - Bangkok BugDay 2012

เขี�ยน้ Acceptance Test ก่อน้ Codeแค่น้��จริ�งๆจริ�งๆน้ะ

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

ก่อน้

Page 15: ATDD Make Love Not War - Bangkok BugDay 2012
Page 16: ATDD Make Love Not War - Bangkok BugDay 2012
Page 17: ATDD Make Love Not War - Bangkok BugDay 2012
Page 18: ATDD Make Love Not War - Bangkok BugDay 2012

d2 d3 d4 d5d1

QBA

BA

DL

QAL

Dev

QA

PMHLR

BAbreak down

story & kick-off release

Story w/ initial XC

QA refine

Exit Criteria

DEV discuss HLD & Spike

Story w/ more XC

Initial HLD

Story w/ final XC

QA produce

Test Scripts

Test Scripts

DEV code Build

ATDD Flowจากบริ�ษั�ทสมม�ติ�ว่�าอยู่��แถว่สว่นลุ�มฯ

Iteration n + 1

StoryPriority

HLRPriority

PM put use cases and

priority list in PM wiki

Not Ready for Estimate

Not Ready for Estimate

Estimates

Story is in JIRAStory Priority in wiki

Iteration n

StoryPriority

Velocity

Release Plan

Iteration 0Before 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 19: ATDD Make Love Not War - Bangkok BugDay 2012

Dev จะวาง ริอ QAQA จะริ� �สึ&ก่แหัม่งๆ อย�ดี�ๆ ก่ล้ายเป(น้ค่น้เขี�ยน้ RequirementQA จะใชิ�เวล้าเขี�ยน้ Test น้าน้ขี&�น้ เพริาะก่ล้ายเป(น้ค่น้ริ�บผิ�ดีชิอบ

Requirement!Dev จะบน้วาทำ�าไม่ Requirement ม่�น้หัย+ม่หัย�ม่ไปหัม่ดีDev จะริ� �สึ&ก่วาทำ�าไม่ติ�องม่าทำ�างาน้ Test ทำ��งทำ�,ติ�วเองเป(น้ DevDev จะค่+ยก่�บ QA ม่าก่ขี&�น้ เพริาะไม่เขี�าใจ Test ทำ�,เขี�ยน้ม่าก่QA จะค่+ยก่�บ Dev ม่าก่ขี&�น้ เพริาะไม่ริ� �จะเขี�ยน้ Test ย�งไง

Page 20: ATDD Make Love Not War - Bangkok BugDay 2012

จ�าไม่ไดี�แล้�ววาเหั�น้ทำ�,ไหัน้ น้าจะ NetObjective.com

Page 21: ATDD Make Love Not War - Bangkok BugDay 2012
Page 22: ATDD Make Love Not War - Bangkok BugDay 2012

Dev ชิวน้ QA เขี�า Design SessionDev เขี�ยน้ Code ใหั� Testable ม่าก่ขี&�น้ หัล้�งจาก่โดีน้

ดีาม่าเยอะหัา Bug ไม่ค่อยเจอเล้�ก่ใชิ� Bug Tracking … ไม่ริ� �จะใชิ�ทำ�าไม่QA แทำบไม่เหัล้.องาน้ถึ&ก่ซ้ำ��าซ้ำาก่ไม่ใชิ�สึม่องQA ม่�เวล้าค่�ดีสึริ�างสึริริค่1 Explorative TestQA ก่�บ Dev จะค่+ยก่�น้ติล้อดีเวล้า

Page 23: ATDD Make Love Not War - Bangkok BugDay 2012

ก่�ย�ง ATDD ไดี� ดี�ก่วาไม่ม่�อยางน้�อยก่�จะทำ�าใหั�เก่�ดีก่าริค่+ยก่�น้แติจ�าเป็�นติ�องทำ�างาน้เป(น้ iteration แล้ะ แบง

ยอย requirement เป(น้หัน้วยเล้�ก่ๆ เชิน้ user story เพ.,อใหั�เก่�ดี feedback loop ทำ�,เริ�ว

ดี�ทำ�,สึ+ดีค่.อม่� Test Automation แบบบ�าค่ล้�,งTest ก่�น้ทำ��งว�น้ค่.น้ดี�วย Continuous

Integration

Page 24: ATDD Make Love Not War - Bangkok BugDay 2012
Page 25: ATDD Make Love Not War - Bangkok BugDay 2012

ATDD, BDD, Specification By Example จะค่ล้�ายๆก่�น้ ม่�จ+ดีปริะสึงค่1เดี�ยวก่�น้ค่.อ Clear Definition-Of-Done

ATDD เหัม่าะม่าก่ก่�บ Dev Onshore / QA Offshore หัริ.อ Distributed Team

หัน้�งสึ.อ

Page 26: ATDD Make Love Not War - Bangkok BugDay 2012
Page 27: ATDD Make Love Not War - Bangkok BugDay 2012

Demo