Architectural hoisting is a design technique where the responsibility for enforcing an intentional design constraint is implemented in the code rather than by relying solely on the diligence of the developers. This can help teams to achieve a global system property by avoiding inconsistences and lapses in implementing design rules.