SlideShare a Scribd company logo
1 of 91
How we develop
quality software at
      uSwitch
Plan



       Dev



             Test



                    Deploy
Plan



       Dev




             Test



                    Deploy
Dev

             • Hand-over, ping-ponging
             • Peripheral activities (waste)
             • Damage already done
              (toast already burnt)
      Test
Dev    Dev    Dev
                            Sign-off
Plan                                   Deploy
                             / test
       Test   Test   Test
Dev     Dev      Dev
                                Sign-off
Plan                                       Deploy
                                 / test
        Test    Test     Test


1 day          10 days          2 days     2 days
• Tasks          • TDD          • Code complete
                 • CI

          Dev     Dev    Dev
                                Sign-off
  Plan                                     Deploy
                                 / test
          Test    Test   Test
• Tasks          • TDD           • Code complete
                 • CI

          Dev     Dev     Dev
                                  Sign-off
  Plan                                       Deploy
                                   / test
          Test    Test    Test



• Poor           • Selenium      • Inspection
  acceptance                     • Sign-off
  criteria                       • QTP
Backlog             In Progress     QA              Done


       Task 3
            5
            1


       Task 2
            4
            6




                Dev         Dev      Dev
                                            Sign-off
Plan                                                      Deploy
                                             / test
                Test        Test     Test
Backlog          In Progress     QA              Done


                      Task 1
                    Task Task 3
                         5

                      Task 2
                           4
                        Task 6




             Dev         Dev      Dev
                                         Sign-off
Plan                                                   Deploy
                                          / test
             Test        Test     Test
Backlog          In Progress     QA                  Done


                                  Task 1 3
                                    Task
                                    Task 5

                                  Task 4 2
                                     Task

                                    Task 6




             Dev         Dev      Dev
                                             Sign-off
Plan                                                       Deploy
                                              / test
             Test        Test     Test
Backlog          In Progress             QA              Done


                                Task 13
                                 Task
                                Task 5

                                Task 2
                                Task 4
                                Task 6




             Dev         Dev              Dev
                                                 Sign-off
Plan                                                           Deploy
                                                  / test
             Test        Test             Test
Backlog          In Progress     QA              Done


                                                Task 5 1
                                                 Task3

                                                Task 2
                                                Task 4
                                                Task 6




             Dev         Dev      Dev
                                         Sign-off
Plan                                                     Deploy
                                          / test
             Test        Test     Test
Backlog             In Progress     QA              Done


       Task 3
            1


       Task 4
            2




                Dev         Dev      Dev
                                            Sign-off
Plan                                                      Deploy
                                             / test
                Test        Test     Test
Backlog          In Progress     QA                 Done


                      Task 3       Task 1


                      Task 4       Task 2




             Dev         Dev      Dev
                                            Sign-off
Plan                                                      Deploy
                                             / test
             Test        Test     Test
Backlog          In Progress     QA                 Done


                      Task 1       Task 3


                      Task 2       Task 4




             Dev         Dev      Dev
                                            Sign-off
Plan                                                      Deploy
                                             / test
             Test        Test     Test
Backlog          In Progress      QA                 Done


                                  Task 1 3
                                    Task


                                    Task 4
                                  Task 2




             Dev         Dev      Dev
                                             Sign-off
Plan                                                       Deploy
                                              / test
             Test        Test     Test
Backlog             In Progress     QA              Done


       Task 3                                          Task 1


       Task 4
                                                       Task 2




                Dev         Dev      Dev
                                            Sign-off
Plan                                                        Deploy
                                             / test
                Test        Test     Test
Dev           Dev      Dev



                                      Sign-off
Plan                                             Deploy
                                       / test



       Test          Test     Test



              •   Tasks
              •   Wall
              •   Mass testing/sign-off
              •   Deployments
                   (“Fat-er wall”)
Dev      Dev     Dev



                                Sign-off
Plan                                       Deploy
                                 / test



       Test     Test    Test




           Time to integrate!
         Whole-team “agile” testing
Dev         Dev       Dev



                                     Sign-off
Plan                                            Deploy
                                      / test



       Test        Test      Test



              1. Wall
              2. Deployments
              3. Tasks
              4. Mass testing/sign-off
1. Wall
“Cease dependence on inspection to achieve
quality. Eliminate the need for inspection on
a mass basis by building quality into the
product in the first place.”

Dr. W. Edward Deming
1. Wall


                           Sign-off
Plan   Dev    Dev    Dev              Deploy
                            / test




 • Developers focus on quality
 • Testers started developing
 • Right testing in the right places
1. Wall


                           Sign-off
Plan   Dev    Dev    Dev              Deploy
                            / test




 • Developers focus on quality
 • Testers started developing
 • Right testing in the right places
1. Wall

Backlog     In Progress     QA
                           Done         Done
                                      Done-done




     • Developers focus on quality
     • Testers started developing
     • Right testing in the right places
1. Wall

Backlog     In Progress    Done       Done-done




     • Developers focus on quality
     • Testers started developing
     • Right testing in the right places
2. Deployments


                          Sign-off
Plan    Dev   Dev   Dev              Deploy
                           / test




       • Contribution from Ops
2. Deployments


                          Sign-off
Plan    Dev   Dev   Dev              Deploy
                           / test




       • Contribution from Ops
3. Tasks


                             Sign-off
Plan    Dev    Dev    Dev               Deploy
                              / test




       • Reflect user value
       • Individually deployable
       • Definition of done
3. Tasks


                             Sign-off
Plan    Dev    Dev    Dev               Deploy
                              / test




       • Reflect user value
       • Individually deployable
       • Definition of done
Acceptance
                                             criteria:

Use r story:                       Given..                Things to think about
                                   When..
        o that..
                                                         for acceptance / where
      S                                                       bugs can lurk
                                   Then..
         As a..
        I want..                                                Input

        Happy path / sad path                                   State
        Does it do what we want it to do?
                                                Environment
        Does it do what we don’t want it to do?
                                                                Data
Acceptance
                                            criteria:
User story:
                                  Given..
      So that..                   When..
        As a..                    Then..
                                                         Things to think about
                                                        for acceptance / where
       I want..                                              bugs can lurk


       Happy path / sad path                                   Input
       Does it do what we want it to do?
       Does it do what we don’t want it to do?                 State

                                                          Environment

                                                               Data
Acceptance
                                            criteria:
User story:
                                  Given..
      So that..                   When..
        As a..                    Then..
                                                         Things to think about
                                                        for acceptance / where
       I want..                                              bugs can lurk


       Happy path / sad path                                   Input
       Does it do what we want it to do?
       Does it do what we don’t want it to do?                 State

                                                          Environment

                          Apply                                Data
                                  foresi
                                        g   ht
4. Mass sign-off/testing


                          Sign-off
 Plan   Dev   Dev   Dev              Deploy
                           / test




• Continuously running tests
• Continuous monitoring of production
• Demo workshops on demand
4. Mass sign-off/testing


                          Sign-off
 Plan   Dev   Dev   Dev              Deploy
                           / test




• Continuously running tests
• Continuous monitoring of production
• Demo workshops on demand
Continuously running tests
Continuously running tests



• Cucumber & Watir (Ruby)
• Running continuously in TeamCity
Continuous monitoring of production
Continuous monitoring of production




      • Customer experience tracking
      • External user simulation
      • Internal monitoring of web services
Continuous monitoring of production




      • Customer experience tracking
      • External user simulation
      • Internal monitoring of web services
Continuous monitoring of production




      • Customer experience tracking
      • External user simulation
      • Internal monitoring of web services
Business sign-off on demand



                         Sign-off
Plan   Dev   Dev   Dev              Deploy
                          / test
Business sign-off on demand


         Dev        Dev        Dev

 Plan                                    Deploy




        Sign-off   Sign-off   Sign-off
Business sign-off on demand



 Plan   Dev   Dev   Dev   Deploy
Business sign-off on demand



 Plan   Dev     Dev      Dev   Deploy




         Becoming leaner...
More on demand



Plan    Dev   Dev   Dev   Deploy
More on demand

 Plan     Plan     Plan     Plan     Plan




 Dev      Dev      Dev      Dev      Dev




Deploy   Deploy   Deploy   Deploy   Deploy
More on demand

2 hours    Plan     Plan     Plan     Plan     Plan




4 days     Dev      Dev      Dev      Dev      Dev




2 hours   Deploy   Deploy   Deploy   Deploy   Deploy
More on demand

 Plan        Plan       Plan        Plan        Plan




 Dev         Dev        Dev         Dev         Dev




Deploy     Deploy      Deploy     Deploy       Deploy


              Continuous running tests
         Continuous monitoring of production
Current process

 Ready
Backlog    In Progress     Done
                         Inventory   Done-done
                                       Done
Current process

Ready    In Progress   Inventory   Done
Current process

Ready      In Progress   Inventory   Done


      1
Story 3


Story 4
      2
Current process

Ready      In Progress   Inventory   Done


Story 3                   Story 1


Story 4      Story 2
Current process

Ready      In Progress   Inventory   Done


                          Story 3    Story 1


Story 4                              Story 2
Current process

Ready    In Progress   Inventory   Done


                                   Story 13
                                    Story


                                   Story 4
                                         2
Current process

Ready    In Progress   Inventory   Done


                                   Story 13
                                    Story


                                   Story 4
                                         2
Ready


So that..
 As a..
I want..
Ready


So that..
 As a..
I want..
Ready
            • Specification-workshop

So that..
 As a..
I want..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..        Given..
 As a..          When..
I want..              Given..
                 Then..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..              Given..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress


                 Given..
                 When..
                 Then..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..              Given..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress


                 Given..
                 When..
                 Then..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..              Given..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress


                 Given..
                 When..
                 Then..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..              Given..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress


                 Given..
                 When..
                 Then..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..              Given..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress


                 Given..
                 When..
                 Then..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..              Given..
                      When..
                           Given..
                      Then..
                           When..
                           Then..


                    In Progress


                 Given..
                 When..
                 Then..
Ready
            • Specification-workshop
            • Acceptance criteria
So that..
 As a..
I want..




                    In Progress


                 Given..
                      Given..
                 When..    Given..
                      When..
                 Then..    When..
                      Then..
                           Then..
Ready
                • Specification-workshop
                • Acceptance criteria
    So that..
     As a..
    I want..


• Acceptance tests

                        In Progress


                     Given..
                          Given..
                     When..    Given..
                          When..
                     Then..    When..
                          Then..
                               Then..
Ready
                • Specification-workshop
                • Acceptance criteria
    So that..
     As a..
    I want..


• Acceptance tests
• Unit tests
                        In Progress


                     Given..
                          Given..
                     When..    Given..
                          When..
                     Then..    When..
                          Then..
                               Then..
Ready
                • Specification-workshop
                • Acceptance criteria
    So that..
     As a..
    I want..


• Acceptance tests
• Unit tests
• Demo-ed               In Progress


                     Given..
                          Given..
                     When..    Given..
                          When..
                     Then..    When..
                          Then..
                               Then..
Ready
                            • Specification-workshop
                            • Acceptance criteria
                So that..
                 As a..
                I want..


            • Acceptance tests
            • Unit tests
Inventory
            • Demo-ed               In Progress


                                 Given..
                                      Given..
                                 When..    Given..
                                      When..
                                 Then..    When..
                                      Then..
                                           Then..
Ready
                                 • Specification-workshop
                                 • Acceptance criteria



                  • Acceptance tests
                  • Unit tests
  Inventory
                  • Demo-ed             In Progress

Given..
    Given..
   So that..
When.. Given..
   When..
Then.. a..
    As
        When..
    Then..
   I want..
         Then..
Ready
                                 • Specification-workshop
                                 • Acceptance criteria

    Done



                  • Acceptance tests
                  • Unit tests
  Inventory
                  • Demo-ed             In Progress

Given..
    Given..
   So that..
When.. Given..
   When..
Then.. a..
    As
        When..
    Then..
   I want..
         Then..
Ready
                           • Specification-workshop
                           • Acceptance criteria

 Done

So that..
 As a..
I want..
            • Acceptance tests
            • Unit tests
Inventory
            • Demo-ed             In Progress
Ready
                          • Specification-workshop
                          • Acceptance criteria

 Done

So that..
 As a..
            • Acceptance tests ++
I want..    • Unit tests ++
Inventory                           In Progress
Quotes from the team

•“Is there a better way to test this?”
• “How are we going to test this?”
• “We can’t keep up!”
What if..

•   Our code could ship self-testing?
• We could reduce the life
    expectancy of a bug even more?
•   We used a test-first approach,
    whether agile or not?
What if..

• We don’t call it ‘Agile’ testing, but
 just testing?
• We don’t call it testing, but
 developing?
uSwitchers
@markdurrand, @damonmorgan,
@markholdsworth, @jasonneylon,
@drewmacqu, @stephen_lloyd, @mbaldry,
@jon_neale, @barisbalic, @lordloverocket,
@tonyto85, @hemalkuntawala (@mikewagg,
@zkhan, @jwilliamson83, @paulsharrington)

http://testerhemal.wordpress.com
gojko@neuri.com
http://www.flickr.com/photos/myhd/2926901934/
Thanks for listening :)
Thanks for listening :)

More Related Content

What's hot

Plenair feb 2011 cmmi 1.3
Plenair feb 2011 cmmi 1.3Plenair feb 2011 cmmi 1.3
Plenair feb 2011 cmmi 1.3André Heijstek
 
D.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrumD.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrumRamkumar Sundarakalatharan
 
Mark robinson what does lean mean for software testing
Mark robinson   what does lean mean for software testingMark robinson   what does lean mean for software testing
Mark robinson what does lean mean for software testingAGILEMinds
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009guest19a937
 
Solo iterative process
Solo iterative processSolo iterative process
Solo iterative processdrewz lin
 
How We Build Features
How We Build FeaturesHow We Build Features
How We Build FeaturesAsh Maurya
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectAgileSparks
 
Agile Deployments with Puppet
Agile Deployments with PuppetAgile Deployments with Puppet
Agile Deployments with PuppetPuppet
 
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex EnvironmentsDr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex EnvironmentsAgileSparks
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asAgileSparks
 
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development ProcessZararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development ProcessZarafa
 
Agile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical IndustryAgile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical IndustryVijay Brzee
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primerAgora Group
 
Expert Recommendation with Usage Expertise
Expert Recommendation with Usage ExpertiseExpert Recommendation with Usage Expertise
Expert Recommendation with Usage Expertisedavema
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutzjazzman1980
 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsAgora Group
 

What's hot (20)

Plenair feb 2011 cmmi 1.3
Plenair feb 2011 cmmi 1.3Plenair feb 2011 cmmi 1.3
Plenair feb 2011 cmmi 1.3
 
D.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrumD.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrum
 
Adopting Agile
Adopting  AgileAdopting  Agile
Adopting Agile
 
Mark robinson what does lean mean for software testing
Mark robinson   what does lean mean for software testingMark robinson   what does lean mean for software testing
Mark robinson what does lean mean for software testing
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009
 
Solo iterative process
Solo iterative processSolo iterative process
Solo iterative process
 
How We Build Features
How We Build FeaturesHow We Build Features
How We Build Features
 
Ash sxsw
Ash sxswAsh sxsw
Ash sxsw
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defect
 
Agile Deployments with Puppet
Agile Deployments with PuppetAgile Deployments with Puppet
Agile Deployments with Puppet
 
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex EnvironmentsDr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments
 
57086 05 managing_productdelivery
57086 05 managing_productdelivery57086 05 managing_productdelivery
57086 05 managing_productdelivery
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development ProcessZararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
 
Agile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical IndustryAgile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical Industry
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primer
 
Expert Recommendation with Usage Expertise
Expert Recommendation with Usage ExpertiseExpert Recommendation with Usage Expertise
Expert Recommendation with Usage Expertise
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trains
 
Real World TDD
Real World TDDReal World TDD
Real World TDD
 

Viewers also liked

Presentation1
Presentation1Presentation1
Presentation1sbamadio
 
ARAMANDLA SUDHEER KUMAR
ARAMANDLA SUDHEER KUMARARAMANDLA SUDHEER KUMAR
ARAMANDLA SUDHEER KUMARSudheer Kumar
 
Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.
Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.
Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.Marija Kova?evi?
 
проектная деятельность Гагалева
проектная деятельность Гагалевапроектная деятельность Гагалева
проектная деятельность ГагалеваNadezhda Egovkina
 
Portfolio Elastiko Lab
Portfolio Elastiko LabPortfolio Elastiko Lab
Portfolio Elastiko LabCarla Martire
 
Content Promo Cheatsheet by Digital Relevance
Content Promo Cheatsheet by Digital RelevanceContent Promo Cheatsheet by Digital Relevance
Content Promo Cheatsheet by Digital RelevanceBite Sized Media
 
DIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENT
DIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENTDIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENT
DIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENTRiri Satria
 

Viewers also liked (14)

Presentation1
Presentation1Presentation1
Presentation1
 
pti
ptipti
pti
 
robin-mcintire-resume
robin-mcintire-resumerobin-mcintire-resume
robin-mcintire-resume
 
вичужанин а.г.
вичужанин а.г.вичужанин а.г.
вичужанин а.г.
 
ARAMANDLA SUDHEER KUMAR
ARAMANDLA SUDHEER KUMARARAMANDLA SUDHEER KUMAR
ARAMANDLA SUDHEER KUMAR
 
Redbank presentation 16 May 2008
Redbank presentation 16 May 2008Redbank presentation 16 May 2008
Redbank presentation 16 May 2008
 
Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.
Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.
Prva varijanta plavo teget Doradjena Jugosovero 12.02.2016.
 
проектная деятельность Гагалева
проектная деятельность Гагалевапроектная деятельность Гагалева
проектная деятельность Гагалева
 
Portfolio Elastiko Lab
Portfolio Elastiko LabPortfolio Elastiko Lab
Portfolio Elastiko Lab
 
Content Promo Cheatsheet by Digital Relevance
Content Promo Cheatsheet by Digital RelevanceContent Promo Cheatsheet by Digital Relevance
Content Promo Cheatsheet by Digital Relevance
 
GN New Resume
GN New ResumeGN New Resume
GN New Resume
 
DIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENT
DIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENTDIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENT
DIGITAL PLATFORM AS COLLABORATIVE NEW PRODUCT DEVELOPMENT
 
Semana da Leitura
Semana da LeituraSemana da Leitura
Semana da Leitura
 
Tarde cultural
Tarde culturalTarde cultural
Tarde cultural
 

Similar to How we build quality software at uSwitch.com

Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices A B M Moniruzzaman
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Imaginet
 
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Imaginet
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Imaginet
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cyclegueste730d5
 
Scaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopperScaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopperDavid Jellison
 
DevOps Testing -Everything you need to know
DevOps Testing -Everything you need to knowDevOps Testing -Everything you need to know
DevOps Testing -Everything you need to knowAdarshMathuri
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next
 
你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?Jen-Chieh Ko
 
DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學謝 宗穎
 
40 square's git workflow
40 square's git workflow40 square's git workflow
40 square's git workflowRuben Tan
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveWee Witthawaskul
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consultTomas Riha
 
Ethan huang 全民qa
Ethan huang   全民qaEthan huang   全民qa
Ethan huang 全民qaOdd-e
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large EnterprisesSalesforce Developers
 

Similar to How we build quality software at uSwitch.com (20)

Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012
 
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Scaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopperScaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopper
 
test
testtest
test
 
test
testtest
test
 
DevOps Testing -Everything you need to know
DevOps Testing -Everything you need to knowDevOps Testing -Everything you need to know
DevOps Testing -Everything you need to know
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?
 
DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學
 
40 square's git workflow
40 square's git workflow40 square's git workflow
40 square's git workflow
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
 
Ethan huang 全民qa
Ethan huang   全民qaEthan huang   全民qa
Ethan huang 全民qa
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large Enterprises
 
Agile at AT&T
Agile at AT&TAgile at AT&T
Agile at AT&T
 

Recently uploaded

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

How we build quality software at uSwitch.com

  • 1. How we develop quality software at uSwitch
  • 2. Plan Dev Test Deploy
  • 3. Plan Dev Test Deploy
  • 4. Dev • Hand-over, ping-ponging • Peripheral activities (waste) • Damage already done (toast already burnt) Test
  • 5. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 6. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test 1 day 10 days 2 days 2 days
  • 7. • Tasks • TDD • Code complete • CI Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 8. • Tasks • TDD • Code complete • CI Dev Dev Dev Sign-off Plan Deploy / test Test Test Test • Poor • Selenium • Inspection acceptance • Sign-off criteria • QTP
  • 9. Backlog In Progress QA Done Task 3 5 1 Task 2 4 6 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 10. Backlog In Progress QA Done Task 1 Task Task 3 5 Task 2 4 Task 6 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 11. Backlog In Progress QA Done Task 1 3 Task Task 5 Task 4 2 Task Task 6 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 12. Backlog In Progress QA Done Task 13 Task Task 5 Task 2 Task 4 Task 6 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 13. Backlog In Progress QA Done Task 5 1 Task3 Task 2 Task 4 Task 6 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 14. Backlog In Progress QA Done Task 3 1 Task 4 2 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 15. Backlog In Progress QA Done Task 3 Task 1 Task 4 Task 2 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 16. Backlog In Progress QA Done Task 1 Task 3 Task 2 Task 4 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 17. Backlog In Progress QA Done Task 1 3 Task Task 4 Task 2 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 18. Backlog In Progress QA Done Task 3 Task 1 Task 4 Task 2 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
  • 19. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test • Tasks • Wall • Mass testing/sign-off • Deployments (“Fat-er wall”)
  • 20. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test Time to integrate! Whole-team “agile” testing
  • 21. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test 1. Wall 2. Deployments 3. Tasks 4. Mass testing/sign-off
  • 22. 1. Wall “Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place.” Dr. W. Edward Deming
  • 23. 1. Wall Sign-off Plan Dev Dev Dev Deploy / test • Developers focus on quality • Testers started developing • Right testing in the right places
  • 24. 1. Wall Sign-off Plan Dev Dev Dev Deploy / test • Developers focus on quality • Testers started developing • Right testing in the right places
  • 25. 1. Wall Backlog In Progress QA Done Done Done-done • Developers focus on quality • Testers started developing • Right testing in the right places
  • 26. 1. Wall Backlog In Progress Done Done-done • Developers focus on quality • Testers started developing • Right testing in the right places
  • 27. 2. Deployments Sign-off Plan Dev Dev Dev Deploy / test • Contribution from Ops
  • 28. 2. Deployments Sign-off Plan Dev Dev Dev Deploy / test • Contribution from Ops
  • 29. 3. Tasks Sign-off Plan Dev Dev Dev Deploy / test • Reflect user value • Individually deployable • Definition of done
  • 30. 3. Tasks Sign-off Plan Dev Dev Dev Deploy / test • Reflect user value • Individually deployable • Definition of done
  • 31.
  • 32. Acceptance criteria: Use r story: Given.. Things to think about When.. o that.. for acceptance / where S bugs can lurk Then.. As a.. I want.. Input Happy path / sad path State Does it do what we want it to do? Environment Does it do what we don’t want it to do? Data
  • 33. Acceptance criteria: User story: Given.. So that.. When.. As a.. Then.. Things to think about for acceptance / where I want.. bugs can lurk Happy path / sad path Input Does it do what we want it to do? Does it do what we don’t want it to do? State Environment Data
  • 34. Acceptance criteria: User story: Given.. So that.. When.. As a.. Then.. Things to think about for acceptance / where I want.. bugs can lurk Happy path / sad path Input Does it do what we want it to do? Does it do what we don’t want it to do? State Environment Apply Data foresi g ht
  • 35. 4. Mass sign-off/testing Sign-off Plan Dev Dev Dev Deploy / test • Continuously running tests • Continuous monitoring of production • Demo workshops on demand
  • 36. 4. Mass sign-off/testing Sign-off Plan Dev Dev Dev Deploy / test • Continuously running tests • Continuous monitoring of production • Demo workshops on demand
  • 38. Continuously running tests • Cucumber & Watir (Ruby) • Running continuously in TeamCity
  • 40. Continuous monitoring of production • Customer experience tracking • External user simulation • Internal monitoring of web services
  • 41. Continuous monitoring of production • Customer experience tracking • External user simulation • Internal monitoring of web services
  • 42. Continuous monitoring of production • Customer experience tracking • External user simulation • Internal monitoring of web services
  • 43. Business sign-off on demand Sign-off Plan Dev Dev Dev Deploy / test
  • 44. Business sign-off on demand Dev Dev Dev Plan Deploy Sign-off Sign-off Sign-off
  • 45. Business sign-off on demand Plan Dev Dev Dev Deploy
  • 46. Business sign-off on demand Plan Dev Dev Dev Deploy Becoming leaner...
  • 47. More on demand Plan Dev Dev Dev Deploy
  • 48. More on demand Plan Plan Plan Plan Plan Dev Dev Dev Dev Dev Deploy Deploy Deploy Deploy Deploy
  • 49. More on demand 2 hours Plan Plan Plan Plan Plan 4 days Dev Dev Dev Dev Dev 2 hours Deploy Deploy Deploy Deploy Deploy
  • 50. More on demand Plan Plan Plan Plan Plan Dev Dev Dev Dev Dev Deploy Deploy Deploy Deploy Deploy Continuous running tests Continuous monitoring of production
  • 51. Current process Ready Backlog In Progress Done Inventory Done-done Done
  • 52. Current process Ready In Progress Inventory Done
  • 53.
  • 54.
  • 55.
  • 56.
  • 57. Current process Ready In Progress Inventory Done 1 Story 3 Story 4 2
  • 58. Current process Ready In Progress Inventory Done Story 3 Story 1 Story 4 Story 2
  • 59. Current process Ready In Progress Inventory Done Story 3 Story 1 Story 4 Story 2
  • 60. Current process Ready In Progress Inventory Done Story 13 Story Story 4 2
  • 61. Current process Ready In Progress Inventory Done Story 13 Story Story 4 2
  • 62. Ready So that.. As a.. I want..
  • 63. Ready So that.. As a.. I want..
  • 64. Ready • Specification-workshop So that.. As a.. I want..
  • 65. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want..
  • 66. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want..
  • 67. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want..
  • 68. Ready • Specification-workshop • Acceptance criteria So that.. Given.. As a.. When.. I want.. Given.. Then.. When.. Given.. Then.. When.. Then.. In Progress
  • 69. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
  • 70. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
  • 71. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
  • 72. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
  • 73. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
  • 74. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
  • 75. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
  • 76. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. • Acceptance tests In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
  • 77. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. • Acceptance tests • Unit tests In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
  • 78. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. • Acceptance tests • Unit tests • Demo-ed In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
  • 79. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. • Acceptance tests • Unit tests Inventory • Demo-ed In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
  • 80. Ready • Specification-workshop • Acceptance criteria • Acceptance tests • Unit tests Inventory • Demo-ed In Progress Given.. Given.. So that.. When.. Given.. When.. Then.. a.. As When.. Then.. I want.. Then..
  • 81. Ready • Specification-workshop • Acceptance criteria Done • Acceptance tests • Unit tests Inventory • Demo-ed In Progress Given.. Given.. So that.. When.. Given.. When.. Then.. a.. As When.. Then.. I want.. Then..
  • 82. Ready • Specification-workshop • Acceptance criteria Done So that.. As a.. I want.. • Acceptance tests • Unit tests Inventory • Demo-ed In Progress
  • 83. Ready • Specification-workshop • Acceptance criteria Done So that.. As a.. • Acceptance tests ++ I want.. • Unit tests ++ Inventory In Progress
  • 84. Quotes from the team •“Is there a better way to test this?” • “How are we going to test this?” • “We can’t keep up!”
  • 85. What if.. • Our code could ship self-testing? • We could reduce the life expectancy of a bug even more? • We used a test-first approach, whether agile or not?
  • 86. What if.. • We don’t call it ‘Agile’ testing, but just testing? • We don’t call it testing, but developing?
  • 87. uSwitchers @markdurrand, @damonmorgan, @markholdsworth, @jasonneylon, @drewmacqu, @stephen_lloyd, @mbaldry, @jon_neale, @barisbalic, @lordloverocket, @tonyto85, @hemalkuntawala (@mikewagg, @zkhan, @jwilliamson83, @paulsharrington) http://testerhemal.wordpress.com

Editor's Notes

  1. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  2. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  3. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  4. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  5. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  6. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  7. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  8. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  9. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  10. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  11. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  12. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  13. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  14. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  15. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  16. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  17. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  18. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  19. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  20. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  21. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  22. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  23. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  24. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  25. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  26. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  27. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  28. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  29. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  30. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  31. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  32. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  33. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  34. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  35. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  36. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  37. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  38. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  39. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  40. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  41. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  42. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  43. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  44. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  45. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  46. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  47. This is what our wall looked like. uBu, BAU, early Energy. Done doesn’t mean live, that’s a whole more effort. “Quality police”. Uses of QTP, Selenium, manual exploratory testing.
  48. Remove the wall.. integrate Testing, make Testing a focus for developers.
  49. Remove the wall.. integrate Testing, make Testing a focus for developers.
  50. Remove the wall.. integrate Testing, make Testing a focus for developers.
  51. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  52. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  53. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  54. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  55. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  56. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  57. Because we still faced the same issues with the wall, we integrated testing into the development phase, it wasn’t ‘Done’ if it wasn’t fully tested and signed off.. Refine tasks to User Stories.
  58. Because we still faced the same issues with the wall, we integrated testing into the development phase, it wasn’t ‘Done’ if it wasn’t fully tested and signed off.. Refine tasks to User Stories.
  59. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  60. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  61. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  62. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  63. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  64. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  65. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  66. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  67. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  68. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  69. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  70. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  71. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  72. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  73. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  74. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  75. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).
  76. 2 stages.. Developers helped with testing. Selenium scripts to lock down feature, developers help test features. Developers gain an understanding of testing effort BDD on a code level, but no formal definition of acceptance criteria - Define what we were to develop upfront before development begins - Good user stories but no Acceptance Criteria.. created a cheat sheet to gather these from planning sessions. Did these on demand, not upfront. Influences of kanban + lean principles (limited WIP, cycle times - concept to cash times).