DZone
Agile Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Agile Zone > Behavior-Driven Development: The Origins

Behavior-Driven Development: The Origins

In this article, we take a quick look back through the history of BDD, and explore the holes in Specification by Example and Test-Driven Development it was meant to fill.

Jessica Wanivenhaus user avatar by
Jessica Wanivenhaus
·
Oct. 05, 17 · Agile Zone · Analysis
Like (9)
Save
Tweet
4.90K Views

Join the DZone community and get the full member experience.

Join For Free

What do you remember from the 1990s? The launch of the Hubble Space Telescope, when Dolly the Sheep was cloned, or perhaps even when Google began indexing the World Wide Web. During that decade, another term also started floating around: Specification by Example.

“We use realistic examples as a single source of truth for requirements and automated tests on software projects” – Ward Cunningham, A Pattern Language of Competitive Development (1996)

Specification by Example was a breakthrough because it allowed for a more precise method of describing and defining requirements. Testers and developers were able to extract information about requirements through concrete examples rather than abstract specifications. It also provided a new method of helping requirements seem more business readable and better defined.

As the world of software began to advance at a rapid pace and Specification by Example became increasingly diffuse, Test-Driven Development (TDD) coined by Kent Beck was introduced. The popularity of TDD set the tone of what was missing in the marketplace. It was completely driven by technology and was more of a programmer’s discipline rather than that of a tester’s – however, it was also missing a high level and business readable aspect. In 2006, Dan North introduced Behavior-Driven Development (BDD) to fill this void by placing specification on a business level – not through code, but business behavior.*

Fast forward to present day: Agile teams love how BDD allows them to create living documentation that is easy to maintain and can be consumed by all team members, including testers, developers, and product owners. Moreover, tools like Cucumber can leverage BDD scenarios for automated acceptance testing. So why are 80% of BDD projects failing?

In Tricentis Founder Wolfgang Platz’s recent webinar, 'BDD Goes Enterprise',  he explains the issues that surround adopting BDD, including when purely open source BDD approaches fall short and elaborating on strategies that can help enterprises scale BDD.  

*Dan North, INTRODUCING BDD

Behavior-driven development

Published at DZone with permission of Jessica Wanivenhaus, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Federated Schema Design
  • Creating a Spring Boot Project With Eclipse and Maven
  • Data Lakes, Warehouses and Lakehouses. Which is Best?
  • 9 Strategies to Improve Your Software Development Process

Comments

Agile Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo