Successfully reported this slideshow.
Your SlideShare is downloading. ×

Agile Testing. Risks, Uncertainty and Why It All Works

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 38 Ad

More Related Content

Slideshows for you (20)

Similar to Agile Testing. Risks, Uncertainty and Why It All Works (20)

Advertisement

More from Agileee (20)

Recently uploaded (20)

Advertisement

Agile Testing. Risks, Uncertainty and Why It All Works

  1. 1. Agile Testing, Risk, Uncertainty, and Why It All Works (the updated for AGILEEE, almost all new edition) Elisabeth Hendrickson Quality Tree Software, Inc. www.qualitytree.com [email_address] Last updated September 22, 2011 Copyright © 2011 Elisabeth Hendrickson, Quality Tree Software, Inc.
  2. 2. What Does Agile Really Mean? <ul><li>Agile software teams… </li></ul><ul><li>… Deliver value in the form of releasable software at frequent regular intervals (at least monthly)… </li></ul><ul><li>… At a sustainable pace… </li></ul><ul><li>… While adapting to the changing needs of the business. </li></ul>
  3. 3. Source: Wikimedia Commons, courtesy of Ray Kurzweil See http://www.kurzweilai.net/the-law-of-accelerating-returns Increasing Complexity
  4. 4. Speculation Buildup RISK Analyze Design Implement Stabilize Big Bang Release Speculation
  5. 5. Intentions Actual Need Implementation
  6. 6. Speculation, Lack of Alignment, and Risk Intentions Implementation Actual Need ? ? ?
  7. 7. Agile eliminates speculation buildup… Iteration Iteration Iteration Iteration Iteration Speculation
  8. 8. … only if we eliminate the speculation
  9. 9. “ frAgile” RISK Stabilize Speculation Iterations…
  10. 10. Every. Single. Time. Empirical Evidence speculation
  11. 11. The organizations best positioned to succeed are the ones that LEARN
  12. 12. Build Measure Learn
  13. 13. How do we check alignment? Get out of the building! Steve Blank, author of Four Steps to the Epiphany ? Intentions Implementation Actual Need
  14. 14. How do we check alignment? Begin with the End in Mind. Capture examples with expectations. Automate checking of expectations. Explore to discover risks. ? Intentions Implementation Actual Need
  15. 15. The Letter and Spirit of a Story Explicit Expectations Implicit Expectations
  16. 16. Check that all previously met expectations are still met even as the solution grows in capability and complexity.
  17. 17. How do we check alignment? Demo. Rehearse delivery. Deliver frequently. Explore with the customer or proxy. ? Intentions Implementation Actual Need
  18. 18. Reducing Feedback Latency Latency Develop Demo
  19. 19. What Does Agile Really Mean? <ul><li>Agile software teams… </li></ul><ul><li>… Deliver value in the form of releasable software at frequent regular intervals (at least monthly)… </li></ul><ul><li>… At a sustainable pace… </li></ul><ul><li>… While adapting to the changing needs of the business. </li></ul>
  20. 20. Intentions Implementation Actual Need ✔ ✔ ✔
  21. 21. (OK, now let’s talk about “testing.”)
  22. 23. Checking Alignment Intentions Implementation Actual Need
  23. 24. Every. Single. Time. speculation Empirical Evidence
  24. 25. The Whole Team Succeeds or Fails TOGETHER “ Hey! There’s a hole in your side of the boat.” There is no “Us” and “Them.” There is only Us. As Alistair Cockburn says:
  25. 26. Nine Key Technical Testing-Related Agile Practices ATDD TDD Exploratory Testing Collective Ownership Automated Unit Tests Automated System Tests Continuous Integration Rehearse Delivery Automated Deploy
  26. 27. Test-First Mindset: Begin with the End in Mind Code Strategy How will I know my efforts have the result I intended? Initiative
  27. 28. Acceptance-Test Driven Development (ATDD) User Story Workshop Implementation Agile-Friendly Test Automation Framework
  28. 29. Continuous Integration (CI) CI tools do automated builds, execute tests, and report the results Developers practicing CI merge their changes locally & execute tests before checking in
  29. 30. Version ALL Technical Assets with the Code Unit Tests Production Code Source Control Repository (Plus All other technical assets) Test “Fixture” Code Acceptance Tests
  30. 31. Increase Visibility
  31. 32. Automated Deploy
  32. 33. Fail Early, Fail Fast Failing early & fast gives us time to fix the problems. Local Unit Tests Secs- Mins Mins CI Build Mins- Hrs Automated Regression Hrs- Days Exploration
  33. 34. Red Build Means Stop the Line If a previously passing expectation fails, there’s a bug. Bugs slow everything down. To keep sustainable pace, fix bugs fast. We can just throw that bug on the pile with the others. Yuck. But that will increase technical debt & slow velocity.
  34. 35. Exploratory Testing <ul><li>Simultaneously… </li></ul><ul><li>… learning about the software </li></ul><ul><li>… designing tests </li></ul><ul><li>… executing tests </li></ul><ul><li>using feedback from the last test to inform the next </li></ul>(See Jon and James Bach’s work on Session-Based ET)
  35. 36. Done Includes Tested <ul><li>Implemented </li></ul><ul><li>+ Checked </li></ul><ul><li>+ Explored </li></ul><ul><li>== DONE </li></ul>
  36. 37. Every. Single. Time. speculation Empirical Evidence
  37. 38. LEARN TEST Intentions Implementation Actual Need

Editor's Notes

  • Agile Testing, Uncertainty, Risk, &amp; Why It All Works Copyright (c) 2010, Quality Tree Software, Inc.
  • Copyright (c) 2010, Quality Tree Software, Inc.
  • Agile Testing, Uncertainty, Risk, &amp; Why It All Works Copyright (c) 2010, Quality Tree Software, Inc.
  • Copyright (c) 2010, Quality Tree Software, Inc.
  • Agile Testing, Uncertainty, Risk, &amp; Why It All Works Copyright (c) 2010, Quality Tree Software, Inc.
  • Agile Testing, Uncertainty, Risk, &amp; Why It All Works Copyright (c) 2010, Quality Tree Software, Inc.
  • Agile Testing, Uncertainty, Risk, &amp; Why It All Works Copyright (c) 2010, Quality Tree Software, Inc.
  • Copyright (c) 2010, Quality Tree Software, Inc.

×