Behavior Driven Development Essentials

Extremely collaborative and comprehensive whole-team practices that ease the flow of value from idea to delivery!
Write your awesome label here.

Learning Objectives

  • Deliver value to customers early and often, without breaking existing functionality.
  • Use BDD on your own product to help the practices carry forward from the classroom into your actual work.

  • Use Example Mapping to collaboratively uncover and clarify valuable scenarios and edge-cases from your work items, requests, "Product Backlog Items" (PBIs), or "User Stories."
  • Use Continuous Collaboration to reduce feature cycle-time by reducing hand-offs, misunderstandings, defects, & rework.
  • Incrementally establish a comprehensive suite of automated regression tests.

  • Improve the speed of test-runs so that comprehensive product testing can be accomplished in minutes instead of weeks.
  • Write clear, readable, repeatable, and automated Cucumber scenarios.
  • Explore the power available through Cucumber to test at the browser, API, or in-proc layers.

Key Concept

Behavior Driven Development is a cross-functional, whole-team approach to software development. Highly iterative and incremental, BDD allows the team to focus on a small set of requests each day, taking them from rough idea to tested software, and leaving behind fast, automated tests and clear, readable product specifications.
Write your awesome label here.

Why is Behavior Driven Development Essentials a "whole team" course?

Behavior Driven Development (BDD) is much more than "writing the tests first."

By the end of the course, your team will have completed Rob's simple, contrived examples and will be working on your own product/project deliverables. For that to work effectively, the whole team--product advocates, business analysts, testers, developers...everyone involved in the specification and construction of the product or project--must experience BDD for themselves. 

Whether your team is using Scrum, Kanban, or Extreme Programming, Behavior Driven Development fits nicely within these Agile methods. BDD typically becomes the primary daily activity which brings the whole team together to discuss requirements and collaboratively build working, tested software.

BDD reduces numerous barriers to communication, giving the team confidence in what they're building. Your team will practice techniques designed to help build what is expected, and to keep quality high by protecting each investment in a feature with a set of automated tests that run each time a change is integrated.

Your team will explore ancillary practices such as Example Mapping, pair-programming, ensemble-programming, Test-Driven Development (TDD), and Collective Code Stewardship.