Files
zmVault/separation-of-concerns.md
T

796 B

id, aliases, tags, title
id aliases tags title
topic/organization
Separation of Concerns

Separation of Concerns

Separation of concerns is a design philosophy of eliminating unnecessary process coupling, or in other words preferring specialization. It is traditionally understood as a principle strictly of software design, however its applications are universal.

As Process Optimization

Suppose a small company has a single "administrative assistant" whose main functions include:

  1. writing the company newsletter, and
  2. onboarding new hires.

Suppose this company doubles in size and these tasks can no longer be fulfilled by one employee. While it would be possible to hire another employee to share both roles, Separation of Concerns dictates that the role should be split by function.