All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved.
The enterprise architect establishes a technology strategy and roadmap that enables a portfolio to support current and future business capabilities.
They drive design, engineering, reuse, application of patterns, and create Enabler Epics for the architectures that comprise the solutions in a portfolio. Relying on continuous feedback, these architects foster adaptive design, and engineering practices, and drive programs and teams to rally around a shared technical vision.
Poor strategic technical planning, communication, and visibility can result in suboptimal systems performance, which significantly inhibits business agility. Providing some Architectural Runway and governance enables supporting current and future needs, such as usability and behavioral constructs across the Enterprise’s solution. System and Solution Architects offer this guidance for Agile Release Trains (ARTs) and Solution Trains.
In Portfolio SAFe and Full SAFe, the architectural challenge is even more significant. Mergers and acquisitions, changes in underlying technologies, competitive differentiation, emerging standards, and other factors often push businesses in directions beyond the scope of Agile Teams.
Enterprise Architects provide strategic technical direction across value Solution Trains and ARTs to ensure the organization can taking advantage of emerging opportunities while responding to and mitigating threats. Aspects of this strategy may include recommendations for the development and delivery of technology stacks, interoperability, application program interfaces (APIs), and hosting. They also apply a Customer-Centric mindset to their work when considering architectural choices. For example, APIs are an interface that benefits from the application of Design Thinking practices, such as using developer personas.
The Enterprise Architect is focused primarily on the following types of activities:
- Collaborating with Lean Portfolio Management to provide a high-level vision of enterprise solutions and development initiatives
- Assisting the Agile Program Management Office (APMO) and Lean-Agile Center of Excellence (LACE) to identify and design development value streams
- Helping the value streams adhere to the budget guardrails for retiring solutions (horizon 0)
- Participating in the strategy for building and maintaining the architectural runway via Enabler Epics
- Understanding and communicating Strategic Themes, and other business drivers for architecture, to System and Solution Architects and non-technical stakeholders
- Driving architectural initiatives via enabler epics in the Portfolio Kanban system and participating in their analysis where applicable
- Influencing modeling, design, and coding practices
- Promoting Continuous Delivery Pipeline and DevOps capabilities
- Collecting, generating, and analyzing innovative ideas and technologies to use across the business
- Facilitating the reuse of code, components, and proven patterns
- Synchronizing the following disciplines across Solutions whenever applicable:
Enterprise Architecture Strategy
The strategy for enterprise architecture enables embracing organizational change faster, providing a significant competitive advantage (Figure 1).
- Choice of technology and usage – Choosing appropriate technologies is a critical element of strategy development. Supporting activities include research and prototyping, understanding applicability and scope, and assessing the maturity of innovative new technologies.
- Solution architecture strategy – The Enterprise Architect works closely with the Solution and System Architects to ensure that individual program and product strategies align with business and technical objectives. For example, emerging solutions to local problems should be consistent with the overall enterprise strategy. When that’s not the case, decisions should be explicit, as the inconsistent option may well influence future enterprise strategy.
- Infrastructure strategy – Developing and maintaining plans for infrastructure can be more challenging, as it overlaps with the work of System Architects. Some of these responsibilities include the reuse of configuration patterns, common physical infrastructure, knowledge sharing across ARTs and Solution Trains, and—especially—System Teams. Also, some of the development and deployment infrastructure will likely intersect with internal IT systems. The Enterprise Architect can provide direction there as well.
- Inter-program collaboration – Standard design and infrastructure practices help simplify and align architecture across different teams and programs. However, it’s also essential that value streams and ARTs have sufficient degrees of freedom. Otherwise, innovation decreases. Therefore, both standard and variable architectural designs should be actively discussed and shared among the ARTs.
- Implementation strategy – The importance of an active, incremental Agile implementation strategy can hardly be overstated. Building the technical foundation for business epics into the architectural runway must be a gradual process. Continuous learning and fast feedback allow architecture and business functionality to grow synchronously over time. This rapid pace of change requires Agile Teams to refactor their code as necessary and to preserve multiple possible design options wherever practical. Abstraction and generalization help avoid binding specificity too early, which maintains architectural flexibility for future business needs.
Respect for People and Relentless Improvement
The Lean-Agile Mindset creates a healthy environment in which everyone operates on facts, not assumptions. This mindset is particularly important for Enterprise Architects, who work one (or two!) steps removed from day-to-day development activities. Thus, Enterprise Architects are wise to maintain personal connections to each ART, Solution Train, and system architect through the following tasks and events:
- Receiving feedback on current enterprise-wide initiatives
- Participating in architecture and design CoPs
- Attending system demos whenever critical redesign or foundation work is in progress
- Attending PI Planning events to guide the implementation of enabler epics
Agile teams will better trust strategy driven by the person who knows their current challenges and context. Likewise, the Enterprise Architect will better trust those people that give full visibility of their current context and provide feedback that improves the architecture over time.
Roles and Collaborations
SAFe defines three architect roles: Enterprise, Solution, and System architect, that address architectural concerns at their respective levels (portfolio, program, and solution). They collaborate regularly across and among levels to ensure alignment and address issues and concerns as they arise. As shown in Figure 2, the roles require all the necessary architectural skills to make technical decisions. Therefore, the role may be filled by more than one person to ensure sufficient knowledge and prevent architecture decisions from bottlenecking teams.
The interdependent nature of business and technical strategy requires the collaboration between architects and other SAFe roles to ensure that the architecture meets the current and evolving needs of the business and the customers it serves. Within the Agile Release Train, System Architects communicate the technical path through the Architectural Runway, Non-Functional Requirements, and the design and support of the Continuous Delivery Pipeline (CD pipeline). Architecture also enables Built-in Quality. The Systems Team realizes the architecture vision by building the supporting infrastructure that enables Agile Teams to design, implement, test, and deliver value. System Architects coordinate with Enterprise and Solution Architects to ensure their solutions are aligned with the larger vision. Finally, architects in any role are also Lean-Agile leaders with a responsibility for mentoring teams and enhancing the overall capabilities of contributors.
Learn More Leffingwell, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011.  Bloomberg, Jason. The Agile Architecture Revolution. Wiley, 2013.  Coplien, James, and Gertrud Bjørnvig. Lean Architecture: for Agile Software Development. Wiley, 2010.
Last update: 30 June 2020