PremierAgile

With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles. Out of a wide range of topics, you can choose to learn from the real-world experiences by practitioners in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc.

Where does an Architect fit in a Scrum Team?

Agile and Scrum are manifesting exponentially in the software market as many organizations have implemented the Agile Methodology and use the Scrum Framework to execute it. With the benefits, Agile has shown such as the early return of investment, lesser risk, customer satisfaction, employee satisfaction, early time to market, maximizing the business value, and many more, many other industries, such as aerospace, construction, finance, and revenue management, government sectors, etc, have started using the Agile Methodology to process their work. As Agile is being implemented in various fields, the employers in the respective fields always look for people who are well-versed with Scrum and Agile knowledge such that they perform their best to maximize the business value of the company and help them grow in the market. As times are changing, individuals need to adapt themselves to the change to survive in their respective industries. Hence, learning more about the various roles in Scrum and Agile would help professionals to understand Agile and Scrum entirely and help them to grow in their careers in their respective fields. 

Scrum is a framework where people address complex adaptive problems while productively and creatively developing and delivering products that have the highest possible value. A product is developed and delivered in Sprints which refers to a period of one month or less. In this period, a definition of done is aimed to be completed by the Developer and a potentially shippable product is being released.

Scrum is an iterative and empirical process that stands to three pillars of empiricism called transparency, inspection, and adaptability. There are various roles in the Scrum Framework that have to be coordinated for the Product Increment to be developed and executed successfully. 

Scrum defines three roles that form the main structure of the Scrum Framework. The roles are the Developer which consists of the Developers that create the product and Product Increment, the Scrum Master who functions as a servant leader, and helps the Developer whenever they face any impediments. The Scrum Master also facilitates various Scrum Events such as Sprint Planning, Sprint Review, Sprint Retrospective, and Daily Scrum Meeting. The Product Owner is the third role who communicates with the Stakeholders and the Developer, maintains the Product Backlog, and also envisions the product before it is even developed. All other professionals who take part in the process of development and are outside the Scrum Team are called the Stakeholders. These include various roles such as Business Analysts, Architects, etc. Agile Architects have various roles to play and have essential responsibilities that help the Scrum Team to achieve their goal. Let's understand more about what an Agile Architect is and where an Architect fits in a Scrum Team. 

What is an Agile Architect?

An Agile Architect is responsible for defining and maintaining the structure of the solution by making sure that the product and the Product Increments meet the requirements. The Agile Architect helps the team to work together in Agile fashions such that they jointly own the solution and interface well with other parts of the organization. The responsibilities of an Agile Architect include:

  • Understanding the requirements: Agile Architects have to identify the Stakeholders, help them to analyze the requirements for the Product Increment, and extract those requirements concerning the Architectural significance.
  • Design Formulation: Creating a structure of solutions that can meet all the various requirements, balance goals, and constraints on the solution.
  • Communication of Architecture: Have to make sure that everyone is on the same page and understands the Architecture. As several people may have different viewpoints, the Agile Architect has to present various views of the system to different audiences. 
  • Support the Developers: The Agile Architects should ensure that the Developers can realize the Architecture which could be done by a combination of mentoring and direct involvement. 

Verification of the implementation: Agile Architects make sure that the delivered system is consistent with the Architecture that was agreed initially and meets all the requirements as discussed.

The Agile Architect defines the structure and organization of the company's system. They describe the components of the systems, their responsibilities, and their interactions. A complex system should have a unifying and coherent structure which is developed by the Agile Architects by defining four major factors:

  • Design principles, metaphors, patterns on which Architecture is based.
  • The technology, standards, and tools which will be required 
  • Key mechanisms such as error handling and data access.
  • Specifications and interfaces of components to be built or bought. 

Hence, an Agile Architect helps all the team members to contribute to the Architecture, take good ideas from everyone, and make them a part of a coherent whole. They may be any combination of client, project overseers, inspector, trouble-shooter, and builder. They do not have a single role to play but as they perform every role they are assigned, they help the Agile team move towards success in their product development goals.

Where does an Architect fit in a Scrum Team?

In the Scrum Team, there is no specific person who is referred to as an Agile Architect as in the team there are various members and every one has their roles to play. There may be many people who have knowledge about the Architecture of the product. Also, the requirement of a specific type of Architect may change whenever a new Sprint is completed based on the Product Increment requirements. In few Scrum Teams, there are senior Developers who possess the Architectural skills required to lead the team. These team members who know about handling the Architectural structure of the product are required to interact with the other members and Stakeholders regularly. They are responsible for attending stand-up meetings and taking various items of the Product Backlog and working on them. Architects may also require to break the items on the Product Backlog into smaller stories such that it is easier for the Developers to create the Product Increment. Other tasks such as coming up with a design or an Architecture to deal with performance or security could also be assigned to the Architects of the Scrum Team. 

Agile Architect as a Scrum Stakeholder

Architects on the Scrum Team are required to coordinate and work through many projects and have to dedicate their time in handling all the projects. Also, if the Architect is a member of the team, they also have to allot equal time to other processes in their own Scrum Team. This situation is not viable as the Architects may be overworked and cannot focus on both the tasks. Hence, in these situations, a potential Stakeholder may take the work of the Agile Architect and can help the Scrum Team on the particular Product Increment. Architectural professionals relating to systems, infrastructure, and enterprise may have requirements or concerns about the product requirements. The main responsibility of the Architect is to create few constraints and develop a high-level of directions and influence of the scope of the product being developed. Hence, a Stakeholder acting as an Agile Architect influences Product Owner's decisions and also has a say on the items that go on the Product Backlog such that the Architectural objectives are met.

Agile Architect as a Scrum Product Owner

A Product Owner is a best choice for an Agile Architect whenever the product being developed does not relate to a business functional product or an end-user product. The product could be more related to a common service such as a common library that would be used by other Scrum Teams for various projects. The Architects have to make decisions and arrange the Product Backlog items based on the priority of the Product Increment and also form the definition of done for the Product Increments. Frameworks such as SAFe (Scale Agile Framework) describes such situations where the Product Owner acts as an Agile Architect and explains the role of the Architect in creating the Architectural features that are later added to the Architectural runway.

Independent Quality Assurance as an Agile Architect

Architects perform reviews and undertake Quality Assurance periodically whenever required by the team. This role may be viewed as a challenging role as it may cause hindrance to the Scrum Team. The Scrum Team is used to produce, perform and take decisions of their own as a self-organizing team. Hence, whenever the Quality Assurance Architect reviews the Scrum Team's work, the delivery of the product may take more time than expected. Hence, in such scenarios, the Quality Assurance Architect has to help out of the Scrum Team by being available whenever they need. The Architect should have an attitude such that they say that they have certain knowledge or skills that may be used by the Scrum Team and anyone can approach them whenever needed. When the Architect responds in such manner they form an important resource for the Scrum Team. 

Where exactly does an Architect fit in a Scrum Team?

Answering this question is always the tricker part as the answer is that it depends on the nature of the project. There are various types of Agile Architects that fit in different parts of the project and cannot be generalised into a specific place in the Scrum Team. An infrastructure product needs an infrastructure or network Architect. Similarly, Architects dealing with the Java or .Net or other specific software development technologies have to be placed in positions in the Scrum Team that deals with the same. Hence, a Scrum Team is best suited when there are members with various skills such as Architectural skills, the Scrum Team can make their own Architectural decisions and decide a best approach for their team.

Here are a few factors to consider while choosing the place for an Architect in the Scrum Team:
  • Product Owners who also perform the roles of an Architect are best suited for products which are technical or Architectural. Products in these cases are designed keeping the priorities in mind from the Architect's perspective.
  • Architects who are advisers outside the Scrum Team or a Quality Assurance reviewer or Stakeholders are usually selected whenever the Scrum Team does not have an Architectural skilled member in the team. Also such Architects may be appointed whenever the team needs an enterprise influence in their activities. 
  • Agile approach requires the Architect to develop an Agile culture in the organization that supports all the members of the organization to deliver high business value. This has to be the main priority whenever an Architect is placed in the Scrum Team. 
Conclusion

Scrum is a framework that addresses complex products which has a complex environment where "only what has happened is known". This points out that Scrum may be ineffective when the Scrum Team has to start with a fully ironed out Architecture. The idea of Scrum is that Architecture should emerge with every Sprint and develop as the product is being developed. The best way for an Architect to play a role in Scrum is to be part of the Developer as they will have a mutual responsibility for all the work including the Architecture. An Architect is required in a Scrum Team to lead the direction of the product development as every Sprint is completed. The Architect may be within the team or outside the team, every Scrum Team should have an Architect to show the direction to the team members and develop the product which delivers the highest possible value. Hence, whether the Architect is outside the team as a Stakeholder, or inside the team as a part of the Developer, the Architectural objective should be achieved by the Architect so that the Scrum Team can perform its best to gain all the benefits of the Scrum Framework. 

References:

  1. https://www.equinox.co.nz/blog/agile-architecture-where-architect-fit-scrum-sprint
  2. https://www.agilearchitect.org/agile/role.htm
  3. https://www.scrum.org/resources/what-is-a-sprint-in-scrum
  4. https://medium.com/serious-scrum/as-an-architect-what-is-my-place-in-scrum-abed2e40c67e


Author

Paula

Is a passionate learner and blogger on Agile, Scrum and Scaling areas. She has been following and practicing these areas for several years and now converting those experiences into useful articles for your continuous learning.