Sep 15, 2008

Speculative design vs. Emerging design

I've exercised and noticed different practices in design and writing code... Sometimes we've spent weeks creating blueprints (so 2001) before starting actual development. At other times we've jumped into code directly (prototypes typically) and designed while writing code. There's also the hybrid approach of writing code and designing at the same time - emerging design.

Depending on the case, all practices were legitimate and useful. How should one decide what to do when?

What do you practice?
  • What are the factors that influence it?
  • What comes more natural to you and why?
  • Does it depend on the technology?
  • Does it depend on experience?
  • ?
These practices don't seem black and white... there's really a continuum... In this spectrum of various practices, where do you fall? What do you practice? And why?

1------------------- 2 ----------------------3

  1. Upfront design (speculative design): design, then code
  2. Emerging design: design and code together
  3. No design: Fuggetaboutit! start writing code and design will follow
More and more, we're practicing emerging design in our new initiatives. Less speculative, more practical...

1 comment:

  1. Service Oriented Architecture was the lingo of IT guys everywhere in between 2003 and 2007.

    Is it dead these days because it often meant upfront design? Go figure...