Who is an architect

Aamir Faried
5 min readJan 1, 2023

--

Who is an architect’, this question always pops up in my mind while leading or working in an agile team. I also found it very common and interesting questions in technical group discussions.

Here I dare to answer this long-lasting question in my head.

Answer: …. wait a minute, I think maybe it’s easy to answer the question who is not an architect… as it’s easier to find or discuss.

>>>> Follow me on Medium and I’ll make sure you get quality content.

So, who is not an architect — let’s suppose we are taking a group of architects on a boat then who would we leave behind…

Product Owner…? I think we cannot leave this person behind as he/she owns the backlog and prioritization. Although we are doing the architect and technical discussion but important we need to keep the business value and cost perspective in mind. We need this person so we could stare at her/him when such questions come.

Business Analyst…? The main purpose of building software architecture is to solve the right business problem in the right way. If we exclude this key person from the architect team then we could not answer the ‘first right’ and could end up building perfect architecture that solves the wrong problem.

Quality Analyst or Tester…? Building something without thinking about the testing could turn us into monsters who are fixing production bugs even in one’s dream…. no no I don’t dare to remove this person from the architect group,

Developers…? Yes, these are the Messi and Ronaldo of our group and we even could not think to let them sit on the bench. No, no, don’t even think about it.

Scrum master…? I think we should take this person due to his/her hidden talent and disciplined approach. This person could help us to steer the ship correctly if we get struct in a storm of discussions and arguments.

Manager…? Here I got a little green light in my head and, must admit, with a smile on my face :-).. let’s leave this person after showing great respect as they are more interested in the output, not the journey.

Salesman…? My head is getting nodded here without my permission and intention and still did not lose my smile :-).. let’s leave this person after showing great respect as they are more interested in the output and its sales value, not the journey.

Here is some more thought regarding this architect's role in the team and its contribution.

The Architect

In today’s world software architecture become very complex and prompt to change with growing technology and addressing the dynamically changing needs of the business. I believe that the old archetype of architects needs to be changed. Now software architecture gets too complex to be managed by one person with the title ‘architect’ who is sitting in a closed room with a list of requirements and is supposed to come up with the perfect architecture design that the team just needs to follow.

I believe that the whole team is responsible for the architecture of the application and keeping it in a healthy state. The agile team needs to discuss and agree on architectural principles and best practices that are applied in their context in order to keep the architecture in good shape. The agile team is responsible to create the architecture vision, making sure its implemented, and following it through during the life cycle of the application.

The irony is that if everyone is responsible then no one is responsible. After the initial set of requirements and architecture design, some teams jump directly to the implementation and discover the architecture later. I would highly discourage this practice. Sure we need a leader or coordinator who has the mandate to keep the team environment healthy and could help to solve the conflict and other team/management-related challenges.

Traditionally software experts usually come from different backgrounds and expertise and cover different aspects of multidimensional architecture. Here I would like to mention the one I feel is more relevant under the biasedness of my knowledge and experience:

  • Business expert: Aligns business and technology.
  • Development expert: Designs technical aspects of the software.
  • Test expert: Designs testing strategy for software or system.
  • Solution expert: Designs solutions to meet business needs.
  • Security expert: Designs security measures for organization’s systems.
  • Infra or DevOps expert: Designs infrastructure and processes for the development and operation of systems.
  • Information / Data expert: Designs systems and processes for managing and storing data.
  • Frontend expert: Designs user interface and user experience of software or system.

Voltron

The demands of today’s architecture are too high and it's hard to be a superman to handle it all. The agile team under different roles from different backgrounds group together and takes responsibility for the architecture and assigns one person as lead or coordinator.

I fully support the idea that every team member is responsible for the application and its architecture from its incubation to operations. Surely we also need a tool to support the team in these architecture-related efforts and make the team accountable for the result.

To understand the multidimensional nature of software architecture, We need to take different roles within the team on board, combine their forces by passing them through a Process and build a Voltron.

The architect is not a superman, it is Voltron

More

Follow me on Medium and I’ll make sure you get quality content.

--

--

Aamir Faried

I'm a simple human who enjoys thinking and loves good ideas.