Multi-level design can be done in

  • top-down manner
    • design high level, flesh out lower levels
  • bottom-up manner
    • design lower level, put together to create higher level systems later
    • generally not scalable with designing big systems
  • mix
    • design top levels using top-down, bottom-up when designing the bottom levels

Agile design

Agile design

Emergent and not defined upfront.