An architect's design is technically sound and the engineering team resists implementing it. What is usually the communication failure?
Show the full answer Hide the answer
The usual failure
The design arrives as a conclusion rather than as reasoning. Engineers who cannot reconstruct why a decision was made cannot apply it to the cases the architect did not foresee — and there are always such cases. So they either follow it literally where it does not fit, or route around it.
Three specific failures:
1. Constraints not shared. The architect knows about the regulatory requirement, the vendor commitment, or the prior incident that rules out the obvious approach. Without that context the design looks arbitrary and the team's counter-proposals keep rediscovering rejected options.
2. The team was not involved in the exploration. People implement designs they helped shape and resist designs handed to them. This is not a personality issue; it is that participation is how the reasoning transfers.
3. Trade-offs presented as free. Every design gives something up. An architect who presents only benefits loses credibility with the people who will discover the costs during implementation — and once lost, every subsequent design is met with suspicion.
What works
- Present the problem and the constraints before the solution, and let the team reach the design with you. Slower in the meeting, far faster in implementation.
- State what the design gives up, explicitly. It builds credibility and it surfaces objections early, when they are cheap.
- Bring the evidence. The incident, the measurement, the failed attempt elsewhere. Engineers argue with opinions and engage with data.
- Be specific about what is decided and what is open. Over-specifying removes the team's agency and guarantees resistance; under-specifying leaves them to invent the architecture.
- Write it down. A meeting is not a design; a document survives the people who were in the room.
The signal worth attending to
Resistance frequently contains information. Engineers close to the code know things the architect does not — an assumption that does not hold, an existing constraint, a simpler option. An architect who treats resistance as an obstacle loses that information; one who treats it as a design input usually gets a better design.
The test
Ask a team member to explain the design's rationale to someone else. If they can, the communication worked and they will apply it correctly to novel cases. If they can only describe the design, they will follow it where it fits and be stuck where it does not.