This document discusses practical behavior driven development (BDD). It introduces BDD and related approaches like test driven development (TDD) and acceptance test driven development (ATDD). It also discusses using BDD for deliberate discovery workshops to understand requirements through user scenarios in a given-when-then format. Potential pitfalls of improperly focusing on tools, treating scenarios as tests, and "cargo cults" are also mentioned. The document provides examples of simple and more complex scenarios for generating reports and emphasizes discovering requirements first before describing or automating them.