Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When to use and not to use each development paradigm? [closed]

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.

like image 212
Steven A. Lowe Avatar asked Jan 21 '09 03:01

Steven A. Lowe


Video Answer


1 Answers

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.

like image 91
Frans Bouma Avatar answered Oct 23 '22 13:10

Frans Bouma