What is the difference between so called Traditional Software Development (TSD) and Behavior Driven Development (BDD)?

I've seen a lot of different development methods that teach developers to talk in business language. Yet, to me, all of this seems like common sense.

How could the developer(s) ever think they could build anything without asking the folks with the money what they want and with examples?

I do not get the difference between the two. Everything I have ever worked on required me to understand things from the Business' perspective ("Ubiquitous Language"). I did not see this specific question on SE. I don't even know what "Traditional" means because it is axiomatic to me.

Can someone please tell me what the difference between the two are?

Edit: I've seen so many that it is difficult to keep track, but here is one video I saw. I hesitate to post one video from one person because I have seen more than one person. But this one uses the explicit term Traditional.


Searching for it like this also makes usage of the term:

dan north "traditional software development"

  • 3
    Can you provide a source or definition for "traditional software development"? Who used it and what was the context?
    – Thomas Owens
    Commented Jul 18, 2017 at 16:39
  • 2
    My point is, there are lots of other methods for building software, and not all are mutually exclusive. Rapid Application Development, Unified Process, Extreme Programming, PSP/TSP, Scrum, TDD, BDD, FDD, DDD, model-driven development. Some can be paired together nicely. Others can't. I'm not aware of a single, common "traditional software development" that could be referred to.
    – Thomas Owens
    Commented Jul 18, 2017 at 16:43
  • 4
    @johnny: It's not that developers have no idea what the customer wants... it's that the customer has no idea what they want. The way you solve that is by using iterative practices, where you build small prototypes, get feedback, make suggestions, modify the prototype, and repeat this process until the prototype matches the customer's expectations. Commented Jul 18, 2017 at 18:40
  • 4
    As to your word definitions, I strongly suspect that the commentators are using "traditional software development" as a euphemism for "not my latest and greatest software development flavor of the week," in which case you're chasing a red herring. Commented Jul 18, 2017 at 18:42
  • 2
    Dan North is using "traditional software development" as a contrast to "agile software development" and has no corollary with behavior driven development. You can do BDD with waterfall or agile. BDD is a style of writing tests, essentially. Commented Jul 18, 2017 at 19:34

1 Answer 1


I see 2 questions here:

1 - What is the difference between traditional development and BDD?

In my experience when someone tries to explain the concepts behind BDD to someone and they use the term traditional software development they often refer to the waterfall method. This can be seen in your second link in the sentence

Traditional software development was linear, starting with development, then testing, and finally operations.

Whether this is a correct comparison could be argued since most developers already use some sort of Agile approach since a long time.

2 - How could developers build anything without asking BA's what they want with examples?

A lot of developers (both programmers as well as testers) I have worked with simply ask the requirements from the business, but are not actually discussing and even challenging those same requirements. The latter is what BDD is all about. The outcome of those discussions should be some good examples of which all parties have the same understanding.

  • Thank you so much for including the importance of conversations (or discussions) in this answer.
    – Lunivore
    Commented Oct 25, 2017 at 19:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.