Functions of systems and networks should be separated in such a
way that prevents individual or common-mode faults from producing
unacceptable harm or loss. Examples include the use of separate and
different media for backups, the division of interlinking functional
elements over a set of need-to-know areas, and the division of functions
within a processor.
Complexity: In practice,
efficiency often takes precedence over effectiveness and separation of
function is typically placed lower in priority.