SlideShare a Scribd company logo
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
Acceptance Test Driven Development
                       @kluak110 @sinapam
                       proteus-agility.com
                          May-12, 2012




agile66.com
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/
Objective   Objective
หัวหน้าใหญ่
                            Dev                                                       QA
                            Manager                                                   Manager

             Dev                            Dev
                                                                       QA Lead                       QA Lead
             Lead                           Lead


       Dev            Dev             Dev            Dev          QA             QA             QA             QA

Team           Team           Team            Team         Team          Team           Team           Team
Member        Member         Member          Member        Member       Member         Member         Member


                                        Self-Managed Scrum Team                       ScrumMaster
TDD
ATDD
 เขียน Acceptance Test ก่อน Code
 แค่นี้จริงๆ
 จริงๆนะ


 ปกติ QA ก็ทำาอยู่แล้ว
 DEV ไม่ชินเพราะต้องรอ Acceptance Test
 ก่อน
Before release starts                                           Iteration 0                            Iteration n                      Iteration n + 1
                                                           Not Ready for Estimate
                                                                                                                       QA close the story once all
QA                                                                                                                       Acceptance Test are
                                                  QA                                                       QA                    passed
                                                                                                                                                       QA
                 PM put use                      refine           Story w/                              produce
                                                                                                                                                     conduct
                  cases and                       Exit            more XC                                 Test
                                                                                                                                                       AT
QAL             priority list in                Criteria                                                 Scripts
                   PM wiki
                                                                                                                              Test
                                                                                                                             Scripts
                                                  Add more XC instead
QBA                                               of separated test idea                  Story w/
                                                                                          final XC                    QA produce test
                        BA         Story w/                                                                        scripts at least for the
      HLR             break        initial XC                                                                         work of the next
                      down
PM                   story &
                                                                                                                          iteration
                                                 Story                                    Estimates
       HLR           kick-off
                                                Priority                                                               DEV may start coding but
     Priority        release
                                                                                            Story                     should not check it in until
                                                                                           Priority                     Test Scripts are run and
BA                                                   Story is in JIRA                                                      pass on Dev env
                                                  Story Priority in wiki                   Velocity

                                                                                         Release Plan

DL                                                DEV                                             In Release Planning,
                                                discuss             Initial                        the whole team (or                     DEV
                                                 HLD &               HLD                         feature team) discuss                               Build
                                                                                                                                          code
                                                 Spike                                           and estimate if ready.
Dev                                                                                               The planning should
                                                                                                 stop if total estimate
                                                                                                    is beyond 120% of
                                                     Not Ready for Estimate
                                                                                                       team capacity                 ATDD Flow
                                          d1           d2           d3         d4   d5
                                                                                                        จากบริ ษ ั ท สมมุ ต ิ ว ่ า อยู ่ แ ถวสวน
 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

More Related Content

More from Kulawat Wongsaroj

Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014
Kulawat Wongsaroj
 
KMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus AgilityKMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus Agility
Kulawat Wongsaroj
 
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Kulawat Wongsaroj
 

More from Kulawat Wongsaroj (11)

Jump start a new agile project with Eidos
Jump start a new agile project with EidosJump start a new agile project with Eidos
Jump start a new agile project with Eidos
 
Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014Agile Intro for KMITL IT Engineer - Jan 7, 2014
Agile Intro for KMITL IT Engineer - Jan 7, 2014
 
เติมอไจล์ให้เต็มด้วย Lean Startup
เติมอไจล์ให้เต็มด้วย Lean Startupเติมอไจล์ให้เต็มด้วย Lean Startup
เติมอไจล์ให้เต็มด้วย Lean Startup
 
KMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus AgilityKMITL IT - Intro to Agile by Proteus Agility
KMITL IT - Intro to Agile by Proteus Agility
 
อไจล์คืออัลไล Agile Introduction @Mahidol ICT
อไจล์คืออัลไล Agile Introduction @Mahidol ICTอไจล์คืออัลไล Agile Introduction @Mahidol ICT
อไจล์คืออัลไล Agile Introduction @Mahidol ICT
 
Running lean startup with agile 20130810
Running lean startup with agile 20130810Running lean startup with agile 20130810
Running lean startup with agile 20130810
 
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
Eidos Pitch at SeedStarWorld Bangkok - 7 Jun 2013
 
Hunt for early adopter
Hunt for early adopterHunt for early adopter
Hunt for early adopter
 
Kanban @ Agile Thailand 2012
Kanban @ Agile Thailand 2012Kanban @ Agile Thailand 2012
Kanban @ Agile Thailand 2012
 
The Heart Of Agile
The Heart Of AgileThe Heart Of Agile
The Heart Of Agile
 
Confession of an Agile Addict
Confession of an Agile AddictConfession of an Agile Addict
Confession of an Agile Addict
 

ATDD Make Love Not War - Bangkok BugDay 2012

  • 1. 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
  • 2. Acceptance Test Driven Development @kluak110 @sinapam proteus-agility.com May-12, 2012 agile66.com
  • 3. 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!
  • 4.
  • 6.
  • 7.
  • 8. Objective Objective
  • 9.
  • 10.
  • 11. หัวหน้าใหญ่ Dev QA Manager Manager Dev Dev QA Lead QA Lead Lead Lead Dev Dev Dev Dev QA QA QA QA Team Team Team Team Team Team Team Team Member Member Member Member Member Member Member Member Self-Managed Scrum Team ScrumMaster
  • 12.
  • 14.  เขียน Acceptance Test ก่อน Code  แค่นี้จริงๆ  จริงๆนะ  ปกติ QA ก็ทำาอยู่แล้ว  DEV ไม่ชินเพราะต้องรอ Acceptance Test ก่อน
  • 15.
  • 16.
  • 17.
  • 18. Before release starts Iteration 0 Iteration n Iteration n + 1 Not Ready for Estimate QA close the story once all QA Acceptance Test are QA QA passed QA PM put use refine Story w/ produce conduct cases and Exit more XC Test AT QAL priority list in Criteria Scripts PM wiki Test Scripts Add more XC instead QBA of separated test idea Story w/ final XC QA produce test BA Story w/ scripts at least for the HLR break initial XC work of the next down PM story & iteration Story Estimates HLR kick-off Priority DEV may start coding but Priority release Story should not check it in until Priority Test Scripts are run and BA Story is in JIRA pass on Dev env Story Priority in wiki Velocity Release Plan DL DEV In Release Planning, discuss Initial the whole team (or DEV HLD & HLD feature team) discuss Build code Spike and estimate if ready. Dev The planning should stop if total estimate is beyond 120% of Not Ready for Estimate team capacity ATDD Flow d1 d2 d3 d4 d5 จากบริ ษ ั ท สมมุ ต ิ ว ่ า อยู ่ แ ถวสวน
  • 19.  Dev จะว่าง รอ QA  QA จะรู้สึกแหม่งๆ อยู่ดๆกลายเป็นคนเขียน ี Requirement  QA จะใช้เวลาเขียน Test นานขึน เพราะกลายเป็นคน ้ รับผิดชอบ Requirement!  Dev จะบ่นว่าทำาไม Requirement มันหยุมหยิมไปหมด  Dev จะรู้สึกว่าทำาไมต้องมาทำางาน Test ทั้งที่ตวเอง ั เป็น Dev  Dev จะคุยกับ QA มากขึ้น เพราะไม่เข้าใจ Test ที่เขียน มาก  QA จะคุยกับ Dev มากขึ้น เพราะไม่รู้จะเขียน Test ยัง
  • 21.
  • 22.  Dev ชวน QA เข้า Design Session  Dev เขียน Code ให้ Testable มากขึน หลังจากโดนด่า ้ มาเยอะ  หา Bug ไม่คอยเจอ ่  เลิกใช้ Bug Tracking … ไม่รู้จะใช้ทำาไม  QA แทบไม่เหลืองานถึกซำ้าซากไม่ใช้สมอง  QA มีเวลาคิดสร้างสรรค์ Explorative Test  QA กับ Dev จะคุยกันตลอดเวลา
  • 23.  ก็ยัง ATDD ได้ ดีกว่าไม่มี  อย่างน้อยก็จะทำาให้เกิดการคุยกัน  แต่จำำเป็นต้องทำางานเป็น iteration และ แบ่ง ย่อย requirement เป็นหน่วยเล็กๆ เช่น user story เพื่อให้เกิด feedback loop ที่เร็ว  ดีที่สดคือมี Test Automation แบบบ้าคลั่ง ุ  Test กันทั้งวันคืนด้วย Continuous Integration
  • 24.
  • 25.  ATDD, BDD, Specification By Example จะ คล้ายๆกัน มีจุดประสงค์เดียวกันคือ Clear Definition-Of-Done  ATDD เหมาะมากกับ Dev Onshore / QA Offshore หรือ Distributed Team  หนังสือ
  • 26.
  • 27. Demo