Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

4,411 views

Published on

A lot of people complain about BDD. By taking a closer look at those complaints we realize that they start to reject BDD not because of its ideas, but because they try to solve all of their problems by installing a tool - and not really applying all of the concepts behind it. In an effort to avoid further confusion, we decided to present this talk which was followed by an article that had a very good impact, written for ThoughtWorks Insights: http://www.thoughtworks.com/insights/blog/3-misconceptions-about-bdd
We hope this helps to let everyone on the same page when the subject is BDD.

Published in: Technology, Economy & Finance

Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

  1. 1. * Why BDD is misunderstood? Nicholas Pufal Juraci Vieira Oct 2013
  2. 2. ** Agenda Introduction (5 min) Common complaints (10 min) Real life example: NY investment bank (10 min) What BDD is really about? (10 min) Q&A (10 min)
  3. 3. ** "The definition of insanity is doing the same thing over and over again and expecting different results." ~ BROWN, RITA MAE
  4. 4. **
  5. 5. ** Let's start demystifying these complaints :)
  6. 6. ** Client doesn't care for testing
  7. 7. ** Client doesn’t care for testing That sentence is true for most of the clients
  8. 8. ** Client doesn’t care for testing Remember, BDD has nothing to do with testing
  9. 9. ** Client doesn’t want to write the specifications
  10. 10. ** Client doesn’t want to write the specifications He shouldn’t be allowed to write the specifications by himself
  11. 11. ** Client doesn’t want to write the specifications Client doesn't need to interact with the tool itself
  12. 12. ** You can achieve the same without a business readable DSL
  13. 13. ** You can achieve the same without a business readable DSL You can just use Capybara + RSpec
  14. 14. ** You can achieve the same without a business readable DSL Would you compare a car to a duck?
  15. 15. ** Real life example: NY investment bank
  16. 16. ** Real life example: NY investment bank •Specifications written using SpecFlow (Cucumber equivalent for .NET) •Complex business domain •BAs (client's side) with strong knowledge about the business needs
  17. 17. ** We need examples to understand!
  18. 18. **
  19. 19. **
  20. 20. ** 3 amigos session to the rescue...
  21. 21. **
  22. 22. **
  23. 23. ** Real life example: NY investment bank •No QAs in the team •3 amigos = 2 Devs + 1 BA •2 Devs, but one with a QA mindset
  24. 24. * Feature file: concise way of presenting ideas. The path to fulfill business needs. *
  25. 25. ** So, what BDD is really about?
  26. 26. ** BDD is a full-stack agile methodology!
  27. 27. ** Examples Tests Requirements can become elaborate verify Examples, requirements and tests are essentially tied together in a loop.
  28. 28. * •Enough is enough •Deliver stakeholder value •It’s all behavior * The principles of BDD
  29. 29. ** How BDD enhances TDD?
  30. 30. ** "I decided it must be possible to present TDD in a way that gets straight to the good stuff and avoids all the pitfalls." ~ NORTH, DAN
  31. 31. ** Move away from the word "Test"
  32. 32. **
  33. 33. * •Explore examples through collaboration •Create living documentation * Two things about BDD
  34. 34. ** Questions? *
  35. 35. ** Thanks! * Nicholas Pufal e-mail: npufal@thoughtworks.com blog: http://coffeecupblog.com twitter: @nicholaspufal Juraci Vieira e-mail: jneto@thoughtworks.om blog: http://testenext.blogspot.com.br

×