Bring Down Your Solution Architects!

Architecture1

Source : Java Application Architecture : Modularity Patterns, Prentice Hall

The adoption of agility rises each year in business. I speak here not just only about project processes but about mindset. This change in mindsets can be attributed  to the arrival of new generations (Y and Z) that promote community and not hierarchy; highlight a new weak link: the ivory tower architect.

This architect is still part of those who think that the developer is at the bottom of the food chain, the “architect” title then rhyming with supervisor. His behavior  generally includes the following:

  • Not communicating his choices or challenging them
  •  Being a specialist Big Design Up Front (BDUF)
  •  Being a “non-coding architect”
  •  Often becoming a bottleneck on projects

At a time when “adaptation” has become a key word, it is difficult to argue that the best solution may come from a single brain that is not part of the team. In addition most people agree a business specification that is too detailed, at project start, is not viable in most cases. But it should also be obvious to architecture that not being precise and thought through by project stakeholders can become a handicap and a cause of failure.

Below is a sample conversation architects should be having with PMs:

  • “(Architect) What does it means? Will you tell us that the architect is no longer useful? We can no longer make architecture upstream? An architect must also do coding? “
  • “(PM) The architect role is changing and must change; we now talk about: agile architect.”
  • “It’s just an architect who knows agility, just a buzz word, no?”
  • “No, it’s more like this… “

The agile architect must meet the agile manifesto and ensure an agile architecture. They  must also work with the team.

On the technical side

Architecture2Of course architecture and design are important, but the agile architect must find a balance between adaptation and anticipation to deal with the complexity of systems. An agile architecture must give way to the emergence of ideas. He must:

  • Design—but minimal. How can we claim to choose the best solution without challenging with the team or live part of the project from the inside?
  • Accompany and improve the development team. Close to the customer, the architect’s role is to anticipate the critical, technical points. These reflect upstream and allow the team to make the best decision with all the necessary information. The final conception must be done with the whole team.
  • Protect the team progress. And to do that, the architect must be very agile and polyvalent—juggling a lot of different roles (yes … including coding!)

Architecture3

 On the human side

Architecture4The agile architect, because of his leadership, is a glue for the team; he is a mediator and a mentor, always connected to the project and the team. He assists the team in making its own decisions, is humble, and wants to transmit his knowledge, not shine. It is much more rewarding to have accompanied a person in order to make the right decision, than simply telling someone what he has to do.

And he embraces changes.

He must continue to code to be legitimate, and it is natural. Developing a solution is the essence of his art. He is an expert developer and trainer, and he is passionate. This role evolves at the same time that the developer job finally takes its nobility. I would even add that this role must evolve even if a project is not delivered in an agile way.

Benoit WilcoxAbout Benoit Wilcox

Benoît Wilcox has been working in IT for 12 years, occupying different positions such as developer, integrator, technical manager and architect, dealing with a large range of technologies which has given him a rich and heterogeneous culture (Java, .Net, functional languages, scrum master, SIG). More on Benoit

 

Comments

  1. Jos Punter says:

    Hi Benoit,
    Nice read. I wanted to add :
    1 of the 12 principles of the Agile Manifesto
    – The best architectures, requirements, and designs emerge from self-organizing teams.

Speak Your Mind

*