Obviously, this title is a little provocative and there is a lot of shortcut :) . I am myself doing architecture and software development, and I have a recurrent  rhetorical question tickling in my head; where should a
particular artifact be built.

Indeed, a common pattern in software development is too find the right boundaries, the right frontier, the right position, the right size:

  • Where should I decompose my software into service,
  • Where this module should be separated from another,
  • Where is the frontier between meta-data (configuration, …) and data.
  • Where is particular class should settle, in the GUI part, the back-end part, …

(more…)