views:

236

answers:

2

Given the various methodical approaches to development, can we get some heuristics together on which ones are appropriate in what circumstances, e.g.

  • case-driven development
  • model-driven development
  • behavior-driven development
  • test-driven development
  • Rational Unified Process
  • Jackson Structured Design
  • et al

No method is too old, specialized, or "out there" ;-)

Please list only one method per answer, and include the situations in which it is most appropriate and least appropriate. For example:


Method

Hacking

Most Appropriate

  • When coding alone on something that doesn't really matter
  • When experimenting to figure out how something really works, as opposed to:
    • how you think it works
    • the doc says it works
    • google says it works
    • it ought to work

Least Appropriate

  • When writing production code
  • When working in a team environment

Note: Looking for specifics on each method, not general advice. Thank you.

+6  A: 

Use the method that fits the way your team wants to work and gets the best results. Example: if your team is full of stored procedure, SQL-oriented table-thinkers, you shouldn't use an o/r mapper, because that is totally not fitting with how the team thinks/works.

And above all: get good software engineers. There's nothing more important than professional, good software engineers. With good software engineers, you can use any methodology and get good results.

Frans Bouma
Amen. Good software engineers will do wonders for a project.
Chris Stewart
thanks, but i'm really looking for specifics on the available methods, not general advice
Steven A. Lowe
+1  A: 

Whatever you choose, make sure you question your approach regularly and improve it.

Markus Schnell
thanks, but i'm really looking for specifics on the available methods, not general advice
Steven A. Lowe