Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Every now and then I see this methodology of development: [Insert word]-driven development, where [Insert word] is of course replaced by some word. How many such development methods are there, and what do they mean?

share|improve this question
not sure about the development methodologies, but there's a buzzword-driven marketing one (the one?) undoubtely –  mlvljr Nov 9 '10 at 9:29
This question seems like a poll, I doubt there is a concrete answer. –  Eoin Carroll Nov 15 '12 at 9:46
my preferred methodology is MDD, money-driven (got a family to feed) –  gnat Nov 15 '12 at 10:09
add comment

closed as not constructive by gnat, jk., pdr, Blrfl, Walter Nov 15 '12 at 12:37

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

Blogger Giorgio Sironi (http://www.giorgiosironi.com/2009/08/what-drives-development-nowadays.html) compiled a list in 2009, naming five:

TDD - Test-driven Development
BDD - Behavior Driven Development
FDD - Feature Driven Development
PDD - Process Driven Development
DDD - Domain-Driven Design 

plus three humorous ones (but he missed "Desperation Driven Development")

share|improve this answer
add comment

Search-driven development

With the advent of internet search engines they way we program has fundamentally changed. Most programming today is search driven, programmers search on the internet for code examples and use these examples to build their code base. While there are specialized code search engines that search code repositories only, most programmers seem prefer examples from curated sources such as blog posts or internet forums. Stackoverflow is actually one of the main drivers of this development. Never ever had it been that easy to find code examples for any given API method or coding problem.

There has been quite some academic research on search-driven development and code examples, for more information check the SUITE workshops series or recent ICSE conferences.

share|improve this answer
add comment

What about "Benefit Driven Development" that is simmilar to "Behaviour Driven Development" but focus more on the benefit/busines-value of a feature.

Benefit Driven Development - in order to BENEFIT as a RULEMEMBER i want FEATURE

Behaviour Driven Development - as a RULEMEMBER i want FEATURE so that BENEFIT

share|improve this answer
add comment
  • TDD (answered previously)

  • BDD which is Behaviour Driven Development - This technique focuses on the behaviour of the system and encourages tests to be written in a human friendly format with a " Given X When Y then Z" type of formula, made famous by Dan North

  • DDD Domain Driven Design (made famous by Eric Evans) which focuses on getting back to the basics of modeling your actual domain accurately. It talks about things like placing the project's primary focus on the core domain and domain logic, basing complex designs on a model and more (some of this was cribbed from Wikipedia).

There's also Data Driven Design and Metrics Driven Design and others no doubt!

share|improve this answer
add comment

Fear-driven development

also refered to as Hate-driven development. This is more serious than it sounds, I often hear developers complain about having to code all day and night before a new release, this even seems to be common practice in small businisses. Here the only thing that keeps you going is the fear about what will happen if it fails.

So even though this is no real methodology it is something you can see everywhere, thats why i brought it up.

share|improve this answer
add comment

Test-driven development

Write a very small test that fails. Write code until it passes. Repeat.

The important idea behind TDD, as opposed to general unit tests, is that writing the test drives the design of the thing under test. The testing process becomes a design tool, not just a regression suite.

share|improve this answer
Which is much easier to do in language that allow you to run incomplete code. The idea of TDD actually originates from Smalltalk where client-code-driven programming is much more common. –  akuhn Nov 15 '12 at 8:44
add comment

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