Couple of months back I attended a local agile meet-up, during the open space there was a very good discussion on the role of an Architect in Agile teams. We had a good brain storming discussion and debated through several important traits of an agile architect. So couple of mind “blogging” questions; what is the role of an Architect in Agile? What are the characteristics of an Agile Architect?
Not all architects are agile, and only special agile developers can become architects. A good architect is someone who has the agile mindset, who can understand the growing stakeholder needs, the current and future of the product increments, and importantly the big picture. He must be also being someone who follows the principles of agile architecture.
A good agile architect is crucial in negotiating between developers, leaders, product management and stakeholders. He largely serves as a mentor to team developers and testers to help them gain the vital experience in order for them to build an architecture needed for a robust product. An agile architect may be highly adaptive for change as per the changing business needs and increase the competitive edge of the product he is building.
Remember – agile isn’t a ‘bring me a rock’ approach. There are still requirements, still a design and still a need for a solid architecture.
However, an agile architect is expected to control complexity of the architecture, keeping in view the customer priorities and features that make the minimum viable product. He plays an important role in striking the right balance between strategic intent and tactical execution of the product development.
Given The Current Scenario, How Is The Role Of An Agile Architect Transforming?
Scaled Agile framework (SAFe) – read my blog about Scaling Agile Framework – has several levels of agile architects starting from Team architect who work with the teams, System architect who is responsible for building the architectural runway, and an Enterprise architect who oversees the architecture of one more value streams. Sometimes the same person may play various roles based on the need and expertise he possesses to deal with the complexity of the architecture.
He also responsible for promoting the behavior of Systems thinking in the agile teams with which he work.
What Would Be The Length And Breadth Of Agile Architect?
Starting from being the architectural owner and master system designer, an architect plays versatile roles. In agile teams the architect collaboratively works with teams to help the architecture emerge gradually. He is someone instrumental in transitioning architectural skills to other team members. An architect plays an important role in mentoring team members in organisational technical guidance and coding standards.
Architects play an upper hand in resolving the team technical deadlocks. He also plays a key role in verifying the outgoing deliverables. He is the right person who communicates the architecture to all team members and stakeholders to get their buy in and also make critical architectural decisions.
The architect at team level is essentially a cross functional team member, however, he wears different hats as he move towards the higher roles. Hence, the enterprise architecture for agile teams is a visionary role, governed by an architect who is focused on how the solution delivers the value to the customers, and how the same helps various stakeholders in realizing their ROI.
Remember – agile isn’t a ‘bring me a rock’ approach. There are still requirements, still a design and still a need for a solid architecture. When you are building a product – product line – and employing Scrum or some other Agile approach to managing your project, one of the key ideas is developing a short iteration cycle, prioritising the backlog of tasks to accomplish, determining what is going to be in iteration A, B, C, etc. There is where an architect can really be valuable. Having someone with a clear idea of how X, Y and Z all will fit together can make your Scrum iterations that much more productive.