3 ms·
That is a very interesting point, and it is solved in negotiations between the teams. One team cannot use a technology that forces another team to change theirs
by ElViajero 5y ago
That is a very interesting point, and it is solved in negotiations between the teams. One team cannot use a technology that forces another team to change theirs. That will take away the autonomy of one of the teams.
e.g.
If one team decides to use Protocol Buffers for their public APIs instead of HTTP/JSON that is the standard, that needs to be discussed at a higher level. As that decision forces other teams to change their tech-stack, one team cannot make that change unilaterally.
If the team's application is composed by several micro-services and they want to use Protocol Buffers for their private/internal APIs, that is not a concern for anyone else.
The directors or architects will be arbiter of the discussion to make sure that it is taken fast and everybody opinion is weighted in. And, if the end there is no agreement, then the director will take the decision to keep things moving.
The main downside of this approach is when a team changes project and ownership of the code changes hands. In that situation you get a tech-stack that you may not find attractive. Usually the team will end changing that tech-stack to something they are more comfortable with, but it takes a long time.