Enterprise architects make a significant contribution to the agility of an organization. Their decisions about how systems connect and cooperate have a massive impact – for example, whether checkout and payment functionality are implemented in two systems or one.
They need to understand the business context and work with other SAFe portfolio-level roles to create business epics, ensuring that projects are closely aligned with strategic goals. This helps to ensure built-in quality.
Strategic Planning
This high-level strategy ensures all architectural decisions are aligned with business objectives. It involves establishing and evangelizing a set of guiding principles that shape the kinds of cloud, application, data, platform, and security solutions used to implement enterprise architecture in total. It also includes ensuring that architecture teams have all the tools they need to develop a consistent technology foundation.
The third aspect of the enterprise architecture role is managing the technology stack, which provides a “batteries included” platform for new teams to start development. This helps to prevent architectural choices from hindering the team’s ability to move quickly and deliver new functionality. It requires defining and evangelizing a set of reusable patterns and configuration options that enable teams to work in a consistent way.
A good example of this is the need to ensure all infrastructure decisions are made in a consistent way, regardless of where a particular team sits within a release train. This is important to ensure the system works as a whole and supports the value flow from idea to production in the Agile release train. It is also critical to ensure all infrastructure is governed and supported in accordance with the organization’s policies, standards, and practices.
To achieve this, the enterprise architect must rely on understanding the overall system architecture to establish and promote a consistent and reliable infrastructure layer that supports the entire solution portfolio. This is critical to enabling the rapid delivery of new capabilities and the speed with which they can be adapted and tested by the teams working on them.
To ensure this consistency, enterprise architects must be involved in establishing the overall system architecture through a series of events called program increment planning. This is the SAFe framework’s version of sprint planning, and it enables all the roles at the portfolio, program, and team levels to plan together, set priorities, and define activities needed to deliver business value through an Agile release train. This demonstrates the enterprise architect’s ability to bring everyone together and ensure that their shared vision is the basis for decision-making.
Business Architecture
The first step is to align architecture and business. This involves creating a strategy for integrating business architecture into Agile development and ensuring that the strategic themes are captured in the architectural blueprints, the business capability model, and the enabler epics. To do this, it is necessary to develop an understanding of the Agile principles and practices, such as Scrum and Kanban.
Then, the enterprise architects are responsible for providing architectural governance and technical direction. They also facilitate iterative collaboration between the teams and ensure a complete solution deployment strategy across all SAFe value streams at the portfolio level. Moreover, they lay the architectural runway by creating enabler epics, which are large portions of work made up of several user stories to enable desired business and technical changes.
To accomplish this, they need to create a vision of the future state and develop a transition plan based on increments that will achieve it over time. This includes identifying and eliminating sub-projects or sprint duplications. Finally, the enterprise architects are responsible for defining technology standards that lead to increased security and economy of scale.
Enterprise architecture can be challenging for new Agile organizations because it requires a different way of working with development teams. Agile teams are more likely to trust a strategy driven by people who know their current challenges and context rather than an architect who works from afar. Therefore, it is essential for an Enterprise Architect to find the right balance between emergent design and intentional architecture.
It is also important for enterprise architects to provide strategic guidance, reference architecture models, and technology capabilities to Dev teams so they can function in a streamlined manner. This will help mitigate the risk of reworks due to miscommunication and misalignments.
This is possible by incorporating architecture into Agile processes and by communicating it to non-technical stakeholders. The goal is to ensure that the development team understands the architectural vision and the business strategic themes. The enterprise architect is also responsible for synchronizing non-functional requirements (such as production infrastructure, system, data security, etc.) with architectural decisions.
Solution Architecture
The role of a solution architecture is to take the abstract strategy developed by enterprise architects and design it for a specific solution within an Agile Release Train. This is a very complex job, and it involves analyzing, splitting, implementing, and ensuring that architectural enablers are properly designed and implemented in each ART’s development sprint to support their delivery of an intended solution to the value stream. The solution architect is responsible for coordinating and aligning the architecture of all the components of the solution and synchronizing non-functional requirements and production infrastructure across solutions.
The solution architect is also responsible for identifying the business value of each architectural enabler and communicating this to stakeholders. They also participate in System and Solution Demos, ensuring that the architectural enablers have been properly designed and implemented for their intended purpose. Finally, the solution architect must regularly review and update solution architecture models and provide a comprehensive overview of all the systems within a solution.
As you can see, enterprise architecture is a complex role that requires significant experience to do well. It’s important to make sure that the enterprise architecture team has all the resources it needs to meet its responsibilities, including a robust and modern enterprise architecture management system such as LeanIX.
In new Agile organizations, enterprise architects are often the key partners in fostering adaptive design solutions and engineering practices. They drive teams and programs to work around a shared technical vision, helping them to avoid costly reworks. They also ensure that applications adhere to a technology strategy, and they communicate this to all of the dev teams.
A classic analogy is that of a city planner. A good architecture team is responsible for putting together a framework of structures and standards that will allow all the different parts of the city to function together, despite their many differences. The same is true for an enterprise architecture team, although the scaled Agile framework provides a much larger canvas to work with. This makes it essential for architects to have a clear picture of all the different systems in their company and to understand how they interconnect.
System Architecture
When larger development organizations move to Agile at scale, they must change how they manage work. They must break down traditional barriers between functional areas and introduce a more collaborative process for getting feedback from multiple stakeholders. In addition, they must take an economic view that ensures optimal lead times while providing customers with the best quality and value. Finally, they must implement systems thinking into all facets of development to reduce risks and deliver high-quality, low-cost solutions in a continuous cycle.
Enterprise architecture is a vital part of this process. They help teams to create the technical foundation of Agile implementations. Unlike the Agile Team level, where individual engineers make architectural decisions, enterprise architects work one or two levels removed from day-to-day development activities and are able to apply more comprehensive analysis to make structural decisions.
To do this, they must build the architectural runway that will allow business functionality to grow synchronously with development. Architects can use several techniques to achieve this, including decomposing value streams into sub-value stages, breaking down business capabilities into sub-capabilities several levels deep, and defining enabler epics that contain strategic guidance on application architecture, infrastructure, technology recommendations, or regulatory requirements. Enterprise architects also build a technical roadmap at the portfolio level that helps guide the ARTs’ development.
The latest iteration of SAFe combines the program and team levels into a single level called Essential SAFe. This configuration consists of the minimal set of roles, events, and artifacts that organizations need to continuously deliver business software via Agile release trains. In this environment, the primary responsibilities of enterprise architects include providing strategic guidance and reference architecture models and technology standards to development teams.
As they do this, they must support the emergence of an architectural framework across all development streams by ensuring that strategic themes are aligned with Agile practices. This requires working closely with business and solution architects to understand the impact of changing strategic themes and helping them transform those into new or modified solutions and Agile release train definitions.