The major lesson of the last decade of architecture design is to model the semantics of the workflow as closely as possible with the implementation. An architect can never reduce semantic coupling via implementation, but they can make it worse. Thus, we can establish a relationship between the semantic coupling and the need for coordination—the more steps required by the workflow, the more potential error and other optional paths appear.

Link:: Software Architecture the Hard Parts