Achieving Zero Defect with Agile Methods  Varokas Panusuwan (Agile66)   - Bug Day Bangkok 2012 -
Agenda●   Context●   TDD●   QA Role in Agile●   Continuous Delivery●   Q&A
About My Team
My Team●   10 Devs (5+5)●   2 Product Owner●   3 QAs●   Agile !! -- 2 Years from 0●   Inherited Legacy code●   Web Applica...
Zero Defect
Test Driven Development
Test Driven Development (TDD)   #1                        #2                                  <Test 1>                    ...
TDD == Testable Specification
Story                                             TDD          Create Login          Page          (1) Email has          ...
[Code 1]                                                                         [Code 2]                                 ...
Bug           TDD                              ? ?? F***YEAH!!   Mismatch         Not in Spec           Spec
TDD == Better Modular Design    == Easier to Test
QA... U MAD ??public billing() {  date = new Date(); //Get Today  if(date == endOfMonth)     sendBillToCustomer();}       ...
1. Let todayService.getToday == 30             2. runTest --> billing(todayService)             3. SUCCESS !!             ...
QA Role in Agile Team?
Bug                          ???                 Exploratory                 Testing  Spec           Not in SpecMismatch
Story (Spec) Writing      SPECPM                       #2 Conflict with ...      (1) HAPPY PATH      (2) HAPPY PATH      (...
QA Like a SirAgile All The Way                                 Quality                                Up Front1. PM & Dev ...
QA >> Testing
Continuous Delivery
"Responding to Change over Following a Plan"     - Agile Manifesto #4 -                        http://agilemanifesto.org/
Following Big Plan...week 1                  Bug in legacy                        code found !!          H                ...
Responding to Change                    Weekly                                                Releasesweek 1        View A...
One Thing At A Time
Work 1            Work 2PM            Work 3                     QAs     Devs
Work 1            Work 2PM            Work 3                     QAs     Devs
Code Review / Pair  Programming
"given enough eyeballs, all bugs are shallow"       - Linus Law -
Pair Programming == Real time code review       Does not have to be all the time !!
Better Quality● Test Harder?● Test More?● Dont Change Anything?
Agile == Simplify● No spec mismatch● 100% code coverage● Document always match code● Automated regression test● Less bug i...
"The only way to go fast     is to go well."         Uncle Bob
Thank you !!                                       n s?                                  s tio                            ...
Please:      Feel free to view and distributeUse/Modify this slide only under permission              from the author
Additional Topics
More About Agile ??           Agile Thailand 2012               (17/06/2012)http://agilethailand2k12.eventbrite.com/
TDD == 100% Coverage
Code 1Test 1                     Code 2                        .....     Test 2                        .....          YU  ...
Incremental Design
Trunk development?
You Aint Gonna Need It
TDD == Safety Net
Whole Team == reduced bug
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012  โดย Varokas Panusuwan (Agile66)
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012  โดย Varokas Panusuwan (Agile66)
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012  โดย Varokas Panusuwan (Agile66)
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012  โดย Varokas Panusuwan (Agile66)
Upcoming SlideShare
Loading in …5
×

Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)

1,331
-1

Published on

Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,331
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)

  1. 1. Achieving Zero Defect with Agile Methods Varokas Panusuwan (Agile66) - Bug Day Bangkok 2012 -
  2. 2. Agenda● Context● TDD● QA Role in Agile● Continuous Delivery● Q&A
  3. 3. About My Team
  4. 4. My Team● 10 Devs (5+5)● 2 Product Owner● 3 QAs● Agile !! -- 2 Years from 0● Inherited Legacy code● Web Application● Release Weekly● Zero Defect* PMs Love Us !! * in TDDed code
  5. 5. Zero Defect
  6. 6. Test Driven Development
  7. 7. Test Driven Development (TDD) #1 #2 <Test 1> <Test 2> <Test 3> <Test 1> <Test 2> <Test 3> Test Failed !! Le Write Test #3 #4 Writing Code <Test 1> Like a Sir <Test 2> <Test 3> [Code 1] Code [Code 2] Always [Code 3] Test Passed!! Tested Le Write Code
  8. 8. TDD == Testable Specification
  9. 9. Story TDD Create Login Page (1) Email has testEmailFormat() correct format (2) Password testPasswordRequired() required ...AcceptanceCriteria Le Spec Le Test Automate Tested #2 fail. Oh... setup wrong B**** PLEASE !! QA DEV
  10. 10. [Code 1] [Code 2] [Code 3] Req? Code? Interface ● Specific ● Measurable ● Actionable T ● Realistic EN R EM ● Time-bound UI RE Q ● Testhttps://github.com/varokas/tdd-examples/blob/master/src/test/java/com/huskycode/stack/StackImplTest.java
  11. 11. Bug TDD ? ?? F***YEAH!! Mismatch Not in Spec Spec
  12. 12. TDD == Better Modular Design == Easier to Test
  13. 13. QA... U MAD ??public billing() { date = new Date(); //Get Today if(date == endOfMonth) sendBillToCustomer();} QA
  14. 14. 1. Let todayService.getToday == 30 2. runTest --> billing(todayService) 3. SUCCESS !! Le Test Code MO K CK EA TW Le QA Le Devpublic billing(dateService) { date = dateService.getToday(); if(date == endOfMonth) sendBillToCustomer();}
  15. 15. QA Role in Agile Team?
  16. 16. Bug ??? Exploratory Testing Spec Not in SpecMismatch
  17. 17. Story (Spec) Writing SPECPM #2 Conflict with ... (1) HAPPY PATH (2) HAPPY PATH (3) SAD PATHDEV (4) EDGE CASE (5) EXCEPTION What about ... QA
  18. 18. QA Like a SirAgile All The Way Quality Up Front1. PM & Dev & QA Write Story2. QA Review Acceptance Criteria [ TESTs !!! ]3. Dev implement Story4. QA Exploratory TestDONE !!! Regression Test
  19. 19. QA >> Testing
  20. 20. Continuous Delivery
  21. 21. "Responding to Change over Following a Plan" - Agile Manifesto #4 - http://agilemanifesto.org/
  22. 22. Following Big Plan...week 1 Bug in legacy code found !! H ANCweek 2 Need fix in 1 BR MER GE week Order Management ION System ESS R EGR G TIN HOT TES FIX RELEASE SCHEDULED[Release 1] PLANNING DOWNTIME REPLAN !!! User Management System LL RE-ESTIMATE S TA H TE NC A[Release 2] BR Big Gigantic Module System Thingie .. .. ..
  23. 23. Responding to Change Weekly Releasesweek 1 View All Ordersweek 2 Add Order Deliver Valueweek 3 Cancel Order Over Time P1 Bug ... Have to fix in 1 week !! PM Fix Shuffle priorities Bug like a sir DEV QAweek 4 Cancel Orderweek 5 Edit Order ... ...
  24. 24. One Thing At A Time
  25. 25. Work 1 Work 2PM Work 3 QAs Devs
  26. 26. Work 1 Work 2PM Work 3 QAs Devs
  27. 27. Code Review / Pair Programming
  28. 28. "given enough eyeballs, all bugs are shallow" - Linus Law -
  29. 29. Pair Programming == Real time code review Does not have to be all the time !!
  30. 30. Better Quality● Test Harder?● Test More?● Dont Change Anything?
  31. 31. Agile == Simplify● No spec mismatch● 100% code coverage● Document always match code● Automated regression test● Less bug inducing activities/useless tasks, More delivering good quality code.● "Do the right thing, at the right time"
  32. 32. "The only way to go fast is to go well." Uncle Bob
  33. 33. Thank you !! n s? s tio ue Q Agile66: www.facebook.com/groups/agile66Me:www.facebook.com/varokas
  34. 34. Please: Feel free to view and distributeUse/Modify this slide only under permission from the author
  35. 35. Additional Topics
  36. 36. More About Agile ?? Agile Thailand 2012 (17/06/2012)http://agilethailand2k12.eventbrite.com/
  37. 37. TDD == 100% Coverage
  38. 38. Code 1Test 1 Code 2 ..... Test 2 ..... YU (Le Wild Code appears) NO TEST? .... .... Test 3 Code 3 Le Code
  39. 39. Incremental Design
  40. 40. Trunk development?
  41. 41. You Aint Gonna Need It
  42. 42. TDD == Safety Net
  43. 43. Whole Team == reduced bug
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×