7

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.

Steven A. Lowe
  • 60,273
  • 18
  • 132
  • 202
  • judging from the upvotes and 'favorites' a few of us would like to know the answers to this question, but so far no one has any answers! – Steven A. Lowe Jan 22 '09 at 15:13
  • I'm surprised theres not more answers. I thought some people will be writing design patterns or at least give an example when to use procedural, functional and great example of OOPs –  Oct 01 '09 at 18:48
  • i am also surprised, but i guess this is sort of a poll question... – Steven A. Lowe Oct 02 '09 at 03:31

2 Answers2

6

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
  • 8,259
  • 1
  • 27
  • 28
1

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

Markus Schnell
  • 1,075
  • 1
  • 10
  • 13