Introduction
The 3 pillars of Enterprise Architecture are Alignment, Insight and Quality.
Alignment: Enterprise Architecture (EA) aligns strategy to operations, business demand to IT supply and ensures that the changes are in line with enterprise strategy and goals.
Insight: EA provides insight into current and desired states of the organization, information systems and technology.
Quality: EA helps to improve quality of individual solutions, simplifies their development and maintenance.
Some of the challenges that enterprises face today include:
Pitfalls in EA Adoption
Organizations focus on the technical aspects of EA, as most of the EA initiatives are driven by CIO organizations or IT directors.
The Enterprise Architecture Team spends lot of time in selecting an EA framework and EA tools, as opposed to customizing and using it to develop Enterprise Architecture.
Enterprise Architects are frequently dragged into operational activities or routine project work. This means that while they are appearing to be productive, in fact they are doing little to solve the problems of the organization at an enterprise level.
Today, the perception toward architects across the industry is changing. Enterprise architects are expected to code in order to earn respect across the organization. An enterprise architect is also expected to get involved not only in the strategy stage but also in end-to-end implementation. He/she needs to work very closely with the business in defining the business strategy of an enterprise. In addition, he/she should oversee how to realize the business strategy in the form of implementation.
Based on the above issues, there is a need for agility in defining enterprise architecture. The following sections articulate the link between agile and enterprise architecture. Also explained in detail is the role of an enterprise architect in agile development.
Agile Enterprise Architecture
Agile is a methodology used for software development and project management. In Agile methodology, individual projects are broken down into smaller, more easily managed segments in order to speed up the design process and produce a quality product as quickly as possible.
Agile Architecture is collaborative, lean and adoptable. It supports innovative and adoption of digital technologies by agile enterprises.
Agile EA Framework
In the Agile way, the focus of an enterprise architect is:
The Agile EA Framework (AEAF) helps in breaking barriers between IT and business, ideally with increasing levels of co-location by unit and with fast forming teams that coalesce for new projects. Minimum Viable Product (MVP) evolves and improves with iteration based on real-time customer feedback. Agile Enterprise Architecture helps in transforming the enterprise to digital by building new architecture that supports Cloud, DevOps, Microservices, Data Analytics, Test Automation and APIs.
The AEAF helps in defining architecture using an iterative life cycle, allowing the architectural design to evolve gradually as the problem and the constraints are better understood.
The architecture and the gradual building of the system must go hand in hand and the subsequent iterations address the architecture issues and address architecture decisions to arrive at a flexible architecture. The AEAF covers the details of each activity, purpose and relationship between them in the following sections.
Fig 1: Agile EA Framework
a) Agile EA Planning
This step covers the architecture vision and upfront planning. The scope addresses the business problem and concerns of the stakeholders.
Architecture Vision provides the documentation to get permission to proceed developing target architecture. It covers the scope of the problem and stakeholder concerns. It also addresses Stakeholder priority and preferences.
The architecture backlog covers the value, complexity, dependency and urgency of the product.
b) Agile Architecture Definition
During this step, the definition of domain architectures covering business, application, data and technology are covered. A set of domain architectures approved by stakeholders for the problem being addressed, with a set of gaps, and work to clear the gaps understood by the stakeholders.
It also addresses the changes that enable the enterprise to meet the preferences of stakeholders.
As part of definition, conduct the iteration planning, daily stand-ups. Generate Burn up/burn down charts. Daily stand-up and self-organizing teams work together to develop architecture.
c) Agile EA Taxonomy
Agile EA taxonomy covers the artifacts like agile architecture principles, agile values adopted across enterprise, etc. It also covers the best practices, guidelines and checklists that the Agile Architecture domain artifacts adhere to.
Each sprint delivering useful parts of a working product. The core of the EA backlog is a properly limited EA Landscape.
Working Product articulates the outcome expected without going into the details of how something has to be developed and executed. It limits the work to be performed to a relatively short time interval, to minimize the amount of work in progress.
It identifies its predecessor and successor packages. The work product is traceable to an objective, so that when its delivery is delayed or fails altogether, the enterprise faces the consequence of altering the target architecture.
d) Implementation
Instead of a big bang approach where decisions are made about the architectural needs for an entire program, agile teams take an incremental approach - ensure design is extensible and aligned with the vision while detailing out and catering to enterprise needs. In order to be most effective, it helps when the architecture group continues to look at the bigger picture while the team(s) focus on their sprint-based deliverables. Decisions should be made together to ensure the right balance – whether it’s agreement to the phases of the project from a business value standpoint, acceptance of new technical debt or the design details for a particular framework or a component.
As an enterprise architect of an agile architecture implementation, the focus should be on:
e) Agile EA Organization
EA Practice needs to build with the agile enterprise environment. The Architecture team must comprise Enterprise and Solution Architects from the agile teams too. The Business Architecture team is the combination of enterprise architects and business experts. EA Team needs to work closely with agile teams on a daily basis to ensure successful execution towards the vision while incorporating the challenges and feedback from the teams and customers along the way.
Agile Lead Architect: Promote the agile approach across the enterprise. Acts like a servant leader, facilitator. Helps the team in smooth execution and removes any roadblocks. Agile Lead Architect (ALA) is the best product owner for the enterprise architecture product. As a product owner, the ALA identifies the architecture required by an organization. The ALA owns the acceptance criteria used in the EA development sprints.
Enterprise Architects: Part of the agile team helps to develop, improve and sustain enterprise architecture. Agile architects are active members of development teams, developing software where appropriate and acting as architectural consultants to the team.
Agile Team: Services are small and developed by small teams. Agile makes it possible to release frequently in small chunks and hence show business progress. Follow CI/CD to increase the level of resilience.
f) EA Repository
This helps in storing all agile architecture and development artifacts.
g) Agile EA Governance Model
Agile governance is all about creating value across the organization, not just within an individual project. Agile governance is to create a bridge between an organization’s management and the teams that are completing projects.
An established Agile EA Governance Model:
Summary
It is not EA versus Agile. Agility plays a major role in enterprise transformation. This transformation has four dimensions: Functional, Technical, Operational and Business Transformation. In all four dimensions, EA and Agile complement each other.
In agile, the architect needs to stay invested with the team throughout. He/she needs to be a visionary and at the same time, manage change and complexity, get involved in the project right from the definition of functional specifications, jointly review functional specifications with the business team to understand expectations and make sure that what is written is what is expected.
Continuously check with the team to make sure they are not deviating from the stated design. Many a times, an architect will have to protect the team from unwanted bureaucracy.
The product owner, agile architect and team shall jointly decide sprint scope. The architect intervenes only in case of issues during the scoping or changes introduced at the last moment.
Next, demo the sprint output to business for customer feedback and accommodate necessary changes.
The team needs to have the right combination of experienced and newbie engineers. Though agile, he/she does not recommend documentation explicitly, but creates the documentation as much as required to ease the life of support teams in the future.
Industry :
Dr. Gopala Krishna Behara
Distinguished Member of Technical Staff and Lead Enterprise Architect at Wipro Technologies.
He is a Certified Open Group TOGAF, AWS Solution Architect, IBM Cloud Solutions and serves as an Advisory Architect, Mentor on Enterprise Architecture, Next Generation Architectures, Application Portfolio Rationalization and Architecture Assurance initiatives, and continues to work as a Subject Matter Expert and Author. He has worked on multiple architecture transformation engagements in the USA, UK, Europe, Asia Pacific and Middle East Regions that presented a phased roadmap to transformation that maximized business value, while minimizing costs and risks.
He has published white papers, blogs and articles in international journals in SOA, BPM, Open Source and Next Generation Technologies & e-Governance space. Dr. Behara has also published books titled "Enterprise Architecture Practitioner Hand Book”, "Next Generation Enterprise Reference Architecture for Connected Government" and "Microservices Practitioner Guide". He is the recipient of the EA Hall of Fame - Individual Leadership in EA Practice, Promotion and Professionalization Award, 13th Annual Enterprise Architecture Conference, Washington, D.C., USA.