Skip to content

Bridging the gap between developers and architects

Architects often introduce policies to constrain what technology the development team can use. Examples: - require that all applications must use the Spring IoC container. - require that only Spring 1.2.x can be used, not for example 2.5 - only axis 1.1 - etc.

Can anyone give me an example where this is a good idea? If not, why do such policies exist?

Are there other technology related policies which do make sense? E.g. is it wise to restrict the number of programming languages used within an organization? (to reduce training and maintenance)

The architect is too far from the team / the architect meddles too much or too little

Which role has this architect? If her role is within the organization scope, it is not her job to be very visible within a single project. Perhaps someone should be assigned a tech-lead role?

Precise and well-defined roles, responsibilities and communication channels is the way to approach this problem.

Hard to give feedback to the architect (PAB?)

Perhaps introducing a coordinating architect which can communicate to the PAB on behalf of the tech leads is a good idea?

Dictator

Yes, in the end one role is responsible for making a decision. HOWEVER, it is probably not appropriate to make all decisions alone. Discussions and feedback is always important to learn and improve. While one person is assigned the responsibility of making the final decision, a team of architects can do the work, discuss and propose solutions.

Control freaks

An organization architect cannot and should not make low-level implementation decisions. Project architects in turn must adhere to the general architecture created by the organization architects. In other words, the scope of each architect role must be defined.

Resources

See Software Architect - Ivory_towers

See Learning circle