Behaviour Driven Development is a collaboration practice exists under agile umberalla for a while. It is a way of writing requirements which can be automatically turned into a code. Originated from Domain Driven Design [Business & Software speaks same language]. BDD that uses conversations around concrete examples and requirements, expressed in an executable form, to deliver higher value software more effectively. It is an extension of popular TDD but using simpler methods While every BDD team is different, and mature teams adapt and refine their process to suit their specific needs and context, the steps outlined here give an idea of the general approach followed by many of these teams. Matured way of eliminating waste by minimizing handshakes. Behavior-Driven Development is a great way to get your team working well on many levels, not just the obvious in terms of backlog refinement but also in pushing it to communicate regularly.
A typical mature BDD process is made up of a cycle five key activities:
Discover
Define
Formalise
Automate
Deliver