This topic is so important, I'm so glad you wrote a post about it!
To extend on this, it's often the case that the development team won't get their way in regards to a certain architectural decision, and that's a-ok.
In those cases, things like Architecture Decision Records become invaluable.
The simple act of documenting a decision, it's impact and it's consequences for reference down the track is a great way for a development team to gain trust and build a stronger case for architectural decisions down the line - among many other things.
I was recently involved in some discussions around some serious technical debt a team I was working in had to clean up in order to broaden the usefulness of one of our products. The debt itself was the result of an ancient architectural decision that was documented in an ADR.
Initially, the other stakeholders were very reluctant to accept that we had to spend significant time on straightening things our before we could proceed. Then we presented the original ADR, including the consequence "if we want to extend Y in the future for X purpose we'll need to back away from this architecture in favour of Z. The long we build on Y with it's current architecture, the more expensive moving to Y will be."
The folks in the room immediately remembered the original conversations. They remembered that we made a deal at that point in time, that if they wanted to do X, this would be the cost. Ultimately we got to give the system the love it needed and our stakeholders were satisfied that this was not just necessary, but valuable work. Everybody wins.
When it comes to architecture, sometimes it's ok to lose a battle today to win a war later on. Just make sure everyone has a way to remember the impact of the initial battle.
Side note: I agree with Ben that it's super sad that these types of decisions need to be fights (and now battles and wars, thanks to me). Why can't all us stakeholders just get along? ❤️
This is a really good point about decision records. As the Systems Architect at a start up, these are conversations I'm having regularly. I'm not currently documenting any of them but your example clearly shows why I should be. Definitely going to start doing that!
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.