At Revelry, we use BDD for all members of the team — and yes, that team includes our clients — so that everyone is clear about the intended user experience in the final product. Revelry’s flavor of BDD is a process for describing software features that is biased toward user’s actions and the results of those actions.
Specification documents content on the Revelry Blog: Navigate our lab notes by using the tag system.
We work with our customers and partners to define project goals and objectives from a high level. Then we design and build. Then we release a thing and we start over. There is no point in detailing specifics on how we achieve our collective goals and objectives at the beginning of a project.