I was recently asked the question “What happens when the Product Owner and the Architecture Owner don’t agree?” and realized this is an issue for everyone on DAD teams in general. Here’s my advice:
- Talk it out. People aren’t always going to agree, and that can often be a very good thing. So talk it out amongst yourselves and explore why you don’t agree on an issue. Very often someone else has a different point of view that you weren’t aware of, hence the need for a discussion.
- Recognize that people have certain rights and responsibilities. One of the reasons why DAD defines rights and responsibilities for various roles, which we adapted from source methods such as Scrum and Agile Modeling, is to help distinguish the decision rights of people in those roles. For example Product Owners have the right to prioritize the work but do not have the right to dictate technical decisions. Similarly, the Architecture Owner is responsible for guiding the team through technical decisions but does not have the right to set work priority. An implication is that although the AO might not agree with some of the prioritization decisions being made by the PO they still need to respect those decisions.
- Talk it out. It’s better to talk an issue through and communicate the reasons behind a decision than to simply dictate it.