PART 1: Enabling Enterprise Agility
About this Document
The high-level structure of this document is as follows:
• Chapter 1 provides an introduction to this document, including what is meant by agility, the role of Enterprise Architecture, and its relation to agility
• Chapter 2 includes the terms and definitions for this document
• Chapter 3 describes the TOGAF Architecture Development Method (ADM) and how that relates to agility
• Chapter 4 looks at how architecture activities can be structured to support agility
• Chapter 5 considers how to execute Enterprise Architecture in an Agile environment
1. Introduction
This document describes in general terms how the TOGAF® Standard [1] can be adapted to support an “Agile enterprise”. It is written to be applicable to any Agile delivery method that follows the commonly accepted Agile approach of iterative development through a series of sprints. It will be supported by other standards, guides, white papers, and case studies from The Open Group, which will provide more detail about specific approaches.
1.1. What is Meant by Agility and Why is it Important?
Enterprise agility is a commonly used term but the exact definition differs among practitioners. The most common characteristics include:
• Responsiveness to change: a flexible approach that anticipates and explicitly plans for change, typically involving short iterations and the frequent reprioritization of activities
• Value-driven: activity is driven by delivering value; priorities are continually re-assessed to deliver high-value items first and work on intermediate products and documentation is minimized
• Practical experimentation: a preference for trying things out and learning from experience as opposed to extensive theoretical analysis, sometimes characterized as “fail fast”
• Empowered, autonomous teams: skilled, multi-disciplinary teams work closely together, taking responsibility for their own decisions and outputs
• Customer communication and collaboration: working closely with the customer and adapting to their needs; valuing collaboration and feedback over formalized documentation and contracts
• Continuous improvement: the internal drive to improve the way an organization performs
• Respect for people: people are put first, above process and tools – they are treated with respect; flexibility, knowledge transfer, and personal development are high priorities
Regardless of how the term enterprise agility is defined, it is important because it enables an enterprise to better react to change by being more customer and product-centric, more efficient, and better able to ensure regulatory compliance.
The term Agile is typically associated with the Agile Software Development Process derived from the Manifesto for Agile Software Development [2]. While Agile principles and techniques can be applied to adapt the TOGAF framework, enterprise agility is broader in context than Agile. Therefore, additional techniques are employed in adapting the TOGAF framework to an Agile enterprise.
1.2. What is the Role of Enterprise Architecture?
Enterprise Architecture provides a framework for change, linked to both strategic direction and business value. It provides a sufficient view of the organization to manage complexity, support continuous change, and manage the risk of unanticipated consequences.
Enterprise Architecture is:
• A description of the elements within an organization, what they are meant to achieve, how they are arranged, how they perform in practice, and how they respond to change
• A framework (structure, approach, and process) for managing change to those elements and their arrangement; to continuously adapt to organizational change in line with strategy (goals and objectives) and circumstances (specific requirements)
• The practice of acting to manage and evolve the Enterprise Architecture at all levels of control, change, and pace
The TOGAF Standard is a framework for identifying and implementing change, and provides:
• A definition and description of a standard cycle of change, used to plan, develop, implement, govern, change, and sustain an architecture for an enterprise; see the TOGAF Architecture Development Method (ADM)
• A definition and description of the building blocks in an enterprise used to deliver business services and information systems (see the TOGAF Content Framework)
• A set of guidelines, techniques, and advice to create and maintain an effective Enterprise Architecture and deliver change through new Solution Architectures at all levels of scale, pace, and detail
1.3. The Demand for Agility is Not New!
The US Clinger-Cohen Act of 1996 was a major driver for the adoption of Enterprise Architecture because it required investment in new IT systems (in the US public sector) to demonstrate fit with existing systems. Almost immediately, it was recognized that it is not practical to develop a full Enterprise Architecture from the “top down”; it is necessary to structure work into smaller units to respond to the specific needs of the enterprise in a timely manner, and to have some form of “integration architecture” to ensure the pieces fit together and are aligned with the strategic direction of the enterprise.
The TOGAF framework has embraced the call to respond to the needs of the enterprise in a timely manner, through the concepts of “partitions” and “levels”. Partitions define how the work is broken down into multiple architecture initiatives. Levels define how the overall architecture can be developed at different levels of granularity and detail.
Each architecture initiative needs to be scoped to address the specific needs of the enterprise to be addressed.
The major scoping dimensions are:
• Breadth (subject matter): what is the full extent of the enterprise, and to what extent will this architecting effort deal with it?
• Depth (level of detail): to what level of detail should the architecting effort go?
• Time period: what is the time period that needs to be articulated for the Architecture Vision?
• Architecture domains: a complete Enterprise Architecture description should contain all four architecture domains (Business, Data, Application, Technology), but the realities of resource and time constraints often mean there is not enough time, funding, resources, or need to address them all
The TOGAF Standard allows users to use the TOGAF ADM in an iterative way. The ADM can be used to deliver value incrementally following different iteration approaches. The concept of iteration is deep-rooted within the TOGAF ADM; as described in the TOGAF Standard – Applying the ADM (Applying Iteration to the ADM) [1].
Iterative development, such as Agile practices like sprints with shorter iterations, is a useful tool to obtain early stakeholder feedback and results. It enables the Enterprise Architects to deliver value earlier and iteratively, whether in a planned or emergent manner.
Dividing work into sprints does not only mean dividing work into small pieces, but also learning by doing in short cycles ...