Behavior Driven Development                                  by Aliaksandr Ikhelis, 2012Friday, 30 November 12
Communication Issue                           They are   They do not know                            slow!..   what they n...
Communication Issue                           They are   They do not know                            slow!..   what they n...
Building communication bridgeFriday, 30 November 12
Building communication bridgeFriday, 30 November 12
Behavior Driven DevelopmentFriday, 30 November 12
Behavior Driven Development                         BDD is an evolution in the thinking                         behind TDD...
Behavior Driven Development                                 BDD is an evolution in the thinking                           ...
Behavior Driven Development                       PracticesFriday, 30 November 12
Behavior Driven Development                       Practices                         • Establish goalsFriday, 30 November 12
Behavior Driven Development                       Practices                         • Establish goals                     ...
Behavior Driven Development                       Practices                         • Establish goals                     ...
Behavior Driven Development                       Practices                         • Establish goals                     ...
Behavior Driven Development                       Practices                         • Establish goals                     ...
What BDD adds to TDDFriday, 30 November 12
What BDD adds to TDD                          • Test what an object does instead                            of what it isF...
What BDD adds to TDD                          • Test what an object does instead                            of what it is ...
What BDD adds to TDD                          • Test what an object does instead                            of what it is ...
The BDD “Outside-In” cycleFriday, 30 November 12
The BDD “Outside-In” cycleFriday, 30 November 12
Gherkin: feature title and narrative       Feature: Adding movies to the queueFriday, 30 November 12
Gherkin: feature title and narrative       Feature: Adding movies to the queueFriday, 30 November 12
Gherkin: feature title and narrative       Feature: Adding movies to the queueFriday, 30 November 12
Gherkin: feature title and narrative       Feature: Adding movies to the queueFriday, 30 November 12
Describing Features with CucumberFriday, 30 November 12
Describing Features with Cucumber                         Cucumber is a BDD tool that reads plain                         ...
Describing Features with Cucumber                         Cucumber is a BDD tool that reads plain                         ...
Describing code with RSpecFriday, 30 November 12
Describing code with RSpec                         RSpec is a BDD framework, which is                          used to wri...
Describing code with RSpec                               RSpec is a BDD framework, which is                               ...
Describing code with RSpecFriday, 30 November 12
Example: story cardFriday, 30 November 12
Example: process flowFriday, 30 November 12
Describing code with RSpecFriday, 30 November 12
Testing quadrandsFriday, 30 November 12
Get the testing pyramid (un)fit                BEFORE         AFTERFriday, 30 November 12
Communications in the business orgFriday, 30 November 12
Communications in the business org    1. Translate business goals into prioritized list of featuresFriday, 30 November 12
Communications in the business org    1. Translate business goals into prioritized list of features    2. Trace required b...
Communications in the business org    1. Translate business goals into prioritized list of features    2. Trace required b...
Speaking the same language =                      building together             As an awesome team             We want to ...
Recommended reading                                          by Aliaksandr Ikhelis, 2012Friday, 30 November 12
Upcoming SlideShare
Loading in...5
×

Bdd intro for Microsoft, 29 Nov 2012

1,433

Published on

High level intro into BDD for "MSN websites" and "win 8 apps" teams in Microsoft, 29 Nov 2012

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

  • Be the first to like this

No Downloads
Views
Total Views
1,433
On Slideshare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bdd intro for Microsoft, 29 Nov 2012

  1. 1. Behavior Driven Development by Aliaksandr Ikhelis, 2012Friday, 30 November 12
  2. 2. Communication Issue They are They do not know slow!.. what they need!..Friday, 30 November 12
  3. 3. Communication Issue They are They do not know slow!.. what they need!..Friday, 30 November 12
  4. 4. Building communication bridgeFriday, 30 November 12
  5. 5. Building communication bridgeFriday, 30 November 12
  6. 6. Behavior Driven DevelopmentFriday, 30 November 12
  7. 7. Behavior Driven Development BDD is an evolution in the thinking behind TDD & ATDPFriday, 30 November 12
  8. 8. Behavior Driven Development BDD is an evolution in the thinking behind TDD & ATDP Focus on delivery of the prioritized and verifiable business value by providing a common vocabularyFriday, 30 November 12
  9. 9. Behavior Driven Development PracticesFriday, 30 November 12
  10. 10. Behavior Driven Development Practices • Establish goalsFriday, 30 November 12
  11. 11. Behavior Driven Development Practices • Establish goals • Draw out features using feature injectionFriday, 30 November 12
  12. 12. Behavior Driven Development Practices • Establish goals • Draw out features using feature injection • Involve stakeholders in the implementation process through outside-in software developmentFriday, 30 November 12
  13. 13. Behavior Driven Development Practices • Establish goals • Draw out features using feature injection • Involve stakeholders in the implementation process through outside-in software development • Use examples to describe behaviorFriday, 30 November 12
  14. 14. Behavior Driven Development Practices • Establish goals • Draw out features using feature injection • Involve stakeholders in the implementation process through outside-in software development • Use examples to describe behavior • Automate examples to provide quick feedback and regression testingFriday, 30 November 12
  15. 15. What BDD adds to TDDFriday, 30 November 12
  16. 16. What BDD adds to TDD • Test what an object does instead of what it isFriday, 30 November 12
  17. 17. What BDD adds to TDD • Test what an object does instead of what it is • Design top-down, which is essential for YAGNI – You Arent Gonna Need ItFriday, 30 November 12
  18. 18. What BDD adds to TDD • Test what an object does instead of what it is • Design top-down, which is essential for YAGNI – You Arent Gonna Need It • Define acceptance criteria with the customer and specify it in the automated way, serve the living specFriday, 30 November 12
  19. 19. The BDD “Outside-In” cycleFriday, 30 November 12
  20. 20. The BDD “Outside-In” cycleFriday, 30 November 12
  21. 21. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  22. 22. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  23. 23. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  24. 24. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  25. 25. Describing Features with CucumberFriday, 30 November 12
  26. 26. Describing Features with Cucumber Cucumber is a BDD tool that reads plain text descriptions of application features with example scenarios, which can be converted into automation. The text is written in a business readable domain language, known as Gherkin.Friday, 30 November 12
  27. 27. Describing Features with Cucumber Cucumber is a BDD tool that reads plain text descriptions of application features with example scenarios, which can be converted into automation. The text is written in a business readable domain language, known as Gherkin.Friday, 30 November 12
  28. 28. Describing code with RSpecFriday, 30 November 12
  29. 29. Describing code with RSpec RSpec is a BDD framework, which is used to write executable examples of the expected behaviour of a small bit of code in a controlled context.Friday, 30 November 12
  30. 30. Describing code with RSpec RSpec is a BDD framework, which is used to write executable examples of the expected behaviour of a small bit of code in a controlled context. Code example: Output:Friday, 30 November 12
  31. 31. Describing code with RSpecFriday, 30 November 12
  32. 32. Example: story cardFriday, 30 November 12
  33. 33. Example: process flowFriday, 30 November 12
  34. 34. Describing code with RSpecFriday, 30 November 12
  35. 35. Testing quadrandsFriday, 30 November 12
  36. 36. Get the testing pyramid (un)fit BEFORE AFTERFriday, 30 November 12
  37. 37. Communications in the business orgFriday, 30 November 12
  38. 38. Communications in the business org 1. Translate business goals into prioritized list of featuresFriday, 30 November 12
  39. 39. Communications in the business org 1. Translate business goals into prioritized list of features 2. Trace required behavior within the team - drive design by behavior, build transparency, trust and confidence.Friday, 30 November 12
  40. 40. Communications in the business org 1. Translate business goals into prioritized list of features 2. Trace required behavior within the team - drive design by behavior, build transparency, trust and confidence. 3. Clarify business value and desired software behavior - ask “5 Why”, provide feedback, if application logic appears overcomplicated.Friday, 30 November 12
  41. 41. Speaking the same language = building together As an awesome team We want to build such a great product So that everyone loves it Given the investment of 22M of bricks When you place all the bricks properly Then the Microsoft Tower of Babel is visible to all people across the GlobeFriday, 30 November 12
  42. 42. Recommended reading by Aliaksandr Ikhelis, 2012Friday, 30 November 12
  1. A particular slide catching your eye?

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

×