Architecture roles and responsibilities: developer autonomy inside architect-owned boundaries
Architecture roles and responsibilities covers who decides what, and how much autonomy a developer legitimately has inside the architecture.
The roles
- Developer - builds and publishes in Development.
- Tech Lead - manages the team and its modules in Development.
- Architect - owns the canvas, layer placement, cross-application standards and exceptions; reviews changes to Core and Foundation.
- Release Manager - executes deployment plans into QA, Pre-Production and Production.
- Operations - monitors Production and handles incidents; does not change application logic.
Permissions are per environment, and that is the point: the same person may be a Developer in Development and hold no deploy rights in Production. Separation of duties is enforced by the platform, not by a policy document.
Autonomy with alignment
A developer owns the internals of their end-user module: screens, local logic, local entities. They do not unilaterally change a Core entity, add a peer reference, or introduce a new external integration. The architect sets boundaries and reviews exceptions; the developer chooses how to satisfy them. Both failure modes are real - an architect who approves every screen becomes the bottleneck, and a team with no review drifts into peer dependencies.
Worked example
A developer needs customer data that Core does not expose. Option A: query the customer table directly from the end-user module. Option B: request the exposure from the Core owner. Reasoning: A creates a hidden dependency on a data model the developer does not own and bypasses the layer contract. B costs a day but keeps the canvas intact. Correct: raise the request, the architect reviews, Core exposes a read-only action or entity, and the change is versioned.
Traps
- Conflating Tech Lead and Architect: one runs the team, the other owns the architecture.
- Granting Release Manager rights "so the team moves faster".
- An architect acting as sole developer - autonomy collapses and delivery slows.
- Assuming a role in Development carries the same rights in Production.