How we build quality software at uSwitch.com

2,132 views

Published on

Slides accompanying an experience report given at London Agile Testing meet up at Skills Matter, London. Viewable at http://skillsmatter.com/podcast/agile-testing/how-we-build-quality-software-at-uswitch-com.

Published in: Technology, Business
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,132
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Remove the wall.. integrate Testing, make Testing a focus for developers.
  • Remove the wall.. integrate Testing, make Testing a focus for developers.
  • Remove the wall.. integrate Testing, make Testing a focus for developers.
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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.
  • 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.
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • 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).
  • How we build quality software at uSwitch.com

    1. 1. How we develop quality software at uSwitch
    2. 2. Plan Dev Test Deploy
    3. 3. Plan Dev Test Deploy
    4. 4. Dev • Hand-over, ping-ponging • Peripheral activities (waste) • Damage already done (toast already burnt) Test
    5. 5. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
    6. 6. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test 1 day 10 days 2 days 2 days
    7. 7. • Tasks • TDD • Code complete • CI Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
    8. 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. 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. 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. 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. 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. 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. 14. Backlog In Progress QA Done Task 3 1 Task 4 2 Dev Dev Dev Sign-off Plan Deploy / test Test Test Test
    15. 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. 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. 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. 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. 19. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test • Tasks • Wall • Mass testing/sign-off • Deployments (“Fat-er wall”)
    20. 20. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test Time to integrate! Whole-team “agile” testing
    21. 21. Dev Dev Dev Sign-off Plan Deploy / test Test Test Test 1. Wall 2. Deployments 3. Tasks 4. Mass testing/sign-off
    22. 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. 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. 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. 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. 26. 1. Wall Backlog In Progress Done Done-done • Developers focus on quality • Testers started developing • Right testing in the right places
    27. 27. 2. Deployments Sign-off Plan Dev Dev Dev Deploy / test • Contribution from Ops
    28. 28. 2. Deployments Sign-off Plan Dev Dev Dev Deploy / test • Contribution from Ops
    29. 29. 3. Tasks Sign-off Plan Dev Dev Dev Deploy / test • Reflect user value • Individually deployable • Definition of done
    30. 30. 3. Tasks Sign-off Plan Dev Dev Dev Deploy / test • Reflect user value • Individually deployable • Definition of done
    31. 31. 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
    32. 32. 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
    33. 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 Apply Data foresi g ht
    34. 34. 4. Mass sign-off/testing Sign-off Plan Dev Dev Dev Deploy / test • Continuously running tests • Continuous monitoring of production • Demo workshops on demand
    35. 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. 36. Continuously running tests
    37. 37. Continuously running tests • Cucumber & Watir (Ruby) • Running continuously in TeamCity
    38. 38. Continuous monitoring of production
    39. 39. Continuous monitoring of production • Customer experience tracking • External user simulation • Internal monitoring of web services
    40. 40. Continuous monitoring of production • Customer experience tracking • External user simulation • Internal monitoring of web services
    41. 41. Continuous monitoring of production • Customer experience tracking • External user simulation • Internal monitoring of web services
    42. 42. Business sign-off on demand Sign-off Plan Dev Dev Dev Deploy / test
    43. 43. Business sign-off on demand Dev Dev Dev Plan Deploy Sign-off Sign-off Sign-off
    44. 44. Business sign-off on demand Plan Dev Dev Dev Deploy
    45. 45. Business sign-off on demand Plan Dev Dev Dev Deploy Becoming leaner...
    46. 46. More on demand Plan Dev Dev Dev Deploy
    47. 47. More on demand Plan Plan Plan Plan Plan Dev Dev Dev Dev Dev Deploy Deploy Deploy Deploy Deploy
    48. 48. More on demand 2 hours Plan Plan Plan Plan Plan 4 days Dev Dev Dev Dev Dev 2 hours Deploy Deploy Deploy Deploy Deploy
    49. 49. 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
    50. 50. Current process Ready Backlog In Progress Done Inventory Done-done Done
    51. 51. Current process Ready In Progress Inventory Done
    52. 52. Current process Ready In Progress Inventory Done 1 Story 3 Story 4 2
    53. 53. Current process Ready In Progress Inventory Done Story 3 Story 1 Story 4 Story 2
    54. 54. Current process Ready In Progress Inventory Done Story 3 Story 1 Story 4 Story 2
    55. 55. Current process Ready In Progress Inventory Done Story 13 Story Story 4 2
    56. 56. Current process Ready In Progress Inventory Done Story 13 Story Story 4 2
    57. 57. Ready So that.. As a.. I want..
    58. 58. Ready So that.. As a.. I want..
    59. 59. Ready • Specification-workshop So that.. As a.. I want..
    60. 60. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want..
    61. 61. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want..
    62. 62. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want..
    63. 63. Ready • Specification-workshop • Acceptance criteria So that.. Given.. As a.. When.. I want.. Given.. Then.. When.. Given.. Then.. When.. Then.. In Progress
    64. 64. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
    65. 65. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
    66. 66. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
    67. 67. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
    68. 68. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
    69. 69. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. Given.. When.. Given.. Then.. When.. Then.. In Progress Given.. When.. Then..
    70. 70. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
    71. 71. Ready • Specification-workshop • Acceptance criteria So that.. As a.. I want.. • Acceptance tests In Progress Given.. Given.. When.. Given.. When.. Then.. When.. Then.. Then..
    72. 72. 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..
    73. 73. 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..
    74. 74. 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..
    75. 75. 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..
    76. 76. 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..
    77. 77. Ready • Specification-workshop • Acceptance criteria Done So that.. As a.. I want.. • Acceptance tests • Unit tests Inventory • Demo-ed In Progress
    78. 78. Ready • Specification-workshop • Acceptance criteria Done So that.. As a.. • Acceptance tests ++ I want.. • Unit tests ++ Inventory In Progress
    79. 79. Quotes from the team •“Is there a better way to test this?” • “How are we going to test this?” • “We can’t keep up!”
    80. 80. 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?
    81. 81. What if.. • We don’t call it ‘Agile’ testing, but just testing? • We don’t call it testing, but developing?
    82. 82. uSwitchers @markdurrand, @damonmorgan, @markholdsworth, @jasonneylon, @drewmacqu, @stephen_lloyd, @mbaldry, @jon_neale, @barisbalic, @lordloverocket, @tonyto85, @hemalkuntawala (@mikewagg, @zkhan, @jwilliamson83, @paulsharrington) http://testerhemal.wordpress.com
    83. 83. gojko@neuri.com
    84. 84. http://www.flickr.com/photos/myhd/2926901934/
    85. 85. Thanks for listening :)
    86. 86. Thanks for listening :)

    ×