Christopher Armstrong, president of Sparx Services North America, unpacks the loaded topics of Enterprise Architecture and Agile and the ways industry standards can help companies achieve their agile ambitions. Christopher is a well-known enterprise architecture thought leader and contributor to industry standards including: TOGAF, UML, ArchiMate, SysML, BIZBOK Guide to Business Architecture and TM Forum Frameworx.
Companies around the globe, large and small, are embracing Agile methods to develop the business processes and IT solutions that will digitally transform their organizations to succeed in the modern marketplace. Many of these companies are struggling to understand how to leverage and adapt Enterprise Architecture functions to align to Agile ambitions. The reason this topic is so difficult is because it isn’t just a single topic – the relationship between Agile and EA must be split into its different scenarios to be understood effectively.
Using Agile methods to develop your Enterprise Architecture
Most enterprise architecture frameworks consist of some sort of process for developing architectures, such as the Architecture Development Method (ADM) from TOGAF. Many companies that use these frameworks have the perception that developing an effective Enterprise Architecture is a long-term effort, requiring many resources and following a tedious sequence of activities. Enterprise Architecture development is seen as anything but being agile. The good news is that that perception is changing.
During the past few years, there has been considerable discussion within architecture standards organizations, such as The Open Group and the Business Architecture Guild, about how to leverage Agile methods to develop more flexible architectures that deliver value to an organization quicker. The latest release of TOGAF, for example, seeks to emphasize how thoughtful scoping of the architecture effort, combined with a well-governed architecture repository, can be used to generate architecture-building blocks and solution-building blocks that are reusable in the context of different business needs. TOGAF also provides a structure called the enterprise continuum, which provides a structure for progressive elaboration of both requirements and solutions. The result of these changes is the ability to develop lightweight architectures quickly to enable decision making, and then add detail as needed to support specific projects.
How EA supports Agile software development
If you want your software development and other project teams to be able to move quickly, then respond to feedback and develop Agile solutions that support the evolving needs of your company, those teams need a structure within which to operate. Methods, such as Agile, SAFe and DevOps, each provide structure to the project team itself, but they don’t address the issues about how to integrate effectively Agile software development into a company’s operations as a whole – that’s where EA enters the picture.
There is a difference between change and improvement – the difference is knowing where you are going. Enterprise architecture provides a framework of processes, policies and solution-building blocks that software development teams can use to develop more effective and flexible solutions. Successful Agile teams must be able to operate with a high degree of autonomy, however, their efforts and the decisions they make must also align with the overall goals of an organization to ensure efficient allocation of resources against the solution features that will generate the most benefit.
Enterprise Architecture is particularly concerned with promoting re-use within an organization to avoid duplication of effort; reduce the TCO of solutions; and enable centralized governance of policies, processes, information and solutions. An effective architecture enables Agile software development teams to understand better how individual feature requirements fit into the bigger picture of how a company operates. This enables them to develop solutions that not only address the immediate and discreet need of the project, but also the longer-term strategic goals of the organization.
Reference architectures (such as those from APQC, TM Forum, Business Architecture Guild, etc.) enable software development teams to leverage industry standards as a starting point for their Agile efforts (rather than starting from scratch). This enables them to focus development efforts on the features that create competitive differentiators for their companies and leverage common processes, frameworks and solution components for those areas where parity is good enough.
The role of Enterprise Architecture in supporting Enterprise Business Agility
As more companies embrace digital transformation of their business operations, the relationships between business processes, IT solutions and operational data are becoming both more complex and more important. This means there is a high risk of (seemingly benign) changes causing widespread secondary impacts across an organization. In traditional business process automation scenarios, a change that caused a failure only impacted the business processes the affected component directly supported and often manual processes could be used as a workaround. In digital businesses (where business processes and IT systems are inextricably linked), a change in one area could not only cause the business process to stop completely, but also have a ripple effect of upstream and downstream impacts across an entire organization.
Achieving enterprise agility isn’t just about moving quickly, failing fast, learning and recovering (although these are all very important in an agile organization). Agility requires being able to make changes safely by understanding the impact of individual changes on the whole system. Enterprise architecture serves as a layer of connective tissue within your processes and solutions, not only to bind the individual pieces together, but also to enable change to be introduced in a safe way. A strong architecture foundation will enable higher levels of business process optimization, easier implementation of new IT solutions and the ability to harvest actionable insights for driving decision making.
The right tools can help Enterprise Architecture better support agility
ITSM tools from companies, such as Service Now, BMC and FreshWorks, provide the “as-operating” views of your IT environment (your CMDB). Reporting and dashboarding solutions, such as Apptio, Tableau and Microsoft Power BI, provide views into your operational data. Where all those solutions fall short is in depicting how your processes, systems and data are supposed to work and how they are evolving – Enterprise Architecture is the solution to that dilemma. Agility is all about managing change, and modeling tools, such as Sparx Systems Enterprise Architect, enable your individual architects to separate complex system relationships into understandable parts and articulate how those parts must evolve to achieve your organization’s goals.
Agile methods are the new normal for organizations seeking to develop and sustain competitive advantage in the modern marketplace. Agile, combined with Enterprise Architecture, can help your organization be even more effective by understanding the holistic impacts of change, providing a framework for solution development and enabling decision makers to allocate resources more efficiently to efforts that add the most value to the organization.