Enterprise Architecture: the Key to Increasing Government Flexibility in its Use of IT
By David Nelson, CIO, Centers for Medicare & Medicaid Services
In the world of Information Technology (IT) development, current trends support both the use of flexible methodologies such as Agile and DevOps, as well as more collaborative practices between software developers and other IT professionals. Government agencies, with their increasing dependency on IT, should embrace such trends. However, getting to a more flexible and collaborative state, especially in large government environments, can prove difficult. Hierarchical organization structure and disparate missions and goals, coupled with acquisition challenges and legislative mandates, often create conflicting priorities among various components using IT within a single government agency. Since strategic direction is not always clear in advance of the competing urgent needs for IT development, government’s ability to react quickly is often hindered.
However, using Enterprise Architecture (EA) principles in the initial stages of IT development can provide an effective solution in both an Agile and DevOps context. EA provides a blueprint of an organization’s structure and current state, and determines how that organization can move toward a preferred future state. EA identifies those processes that can be streamlined to ensure proper IT management and oversight to provide a more agile enterprise. If agility provides the ability of an organization to adapt to market and environmental changes in productive and cost-effective ways, then an agile enterprise, obtained with the use of EA, can extend this concept by allowing an organization to use key principles of complex adaptive systems.
How does EA work to accomplish more flexibility and collaboration in IT development? To start, the enterprise architect begins with a strategy. The enterprise architect needs to think, walk, and talk like a strategist. She needs to see and often develop the big picture. She needs to createan integrated perspective from all stakeholders to represent and propose a shared vision of the desired outcome or product. Once this vision is accepted, an actionable strategycan be developed, which leads toward the desired future state, while significantly decreasing wasted resources.
Enterprise Architecture identifies those processes that can be streamlined to ensure proper IT management and oversight to provide a more agile enterprise
The Enterprise Architect must have a deep understanding of the business dependencies and risks associated with a project and can assist with process agility, a concept not unique to software implementation alone. Process agility allows a business to identify, iterate, and change processes in an incremental fashion through what is known as sprints. In the government context, process agility could include retooling the acquisition process. For example, in order for a particular government sprint team to support an agile development style, a change in the contracting approach is often needed. Designing contracts to support frequent prototyping, refining product requirements, or changing the delivery of working software provides the flexibility to ramp up or down the number of development teams from each vendor based on that vendor’s performance. Engaging with multiple vendors instead of using one large contract with a single vendor can also increase the potential for innovation. Often, it is necessary to retool teams to work together to deliver features, build and maintain the infrastructure for the service, and enable the continuous integration of new improvements into the production system. Simultaneously, the Enterprise Architect can contribute to the redesign of contracting actions by creating a capability diagram, combined with an eco-system model and timeline.
Common business architecture and the integration of EA within an initiative can reduce the time to introduce new capabilities. An enterprise architect also obtains a comprehensive business view through collaboration with data architects, security architects, and technology or solution architects. This allows the enterprise architect to adapt the development of its broader perspective by understanding each customer’s point of view. This broader perspective often results in more cost-efficient and effective innovative solutions, better tailored to meet business needs. Moreover, the increased collaboration used by enterprise architects as part of its agile architecture work, supports a DevOps culture through increasing communication between different IT personnel. Through the collaboration and communication facilitated by dialog with EA, IT staff can realize its impact and influence on the business strategy, seeing that IT does not just simply reside alone, but rather, lives in a larger world connected to the entire agency. As EA evolves, creating, and developing agile relationships, it delivers real-time analysis moving projects forward and empowers data driven decision making at all levels (e.g. business owners, technical developer, product manager, and management).
The challenge to spread the use of EA in IT development rests in an organization’s ability to support flexible methodologies and broad-scale collaboration practices. From a government perspective, the lack of a clear understanding of the value of EA, along with a resistance to change, currently impedes its more widespread use. However, increased acceptance and knowledge of EA, coupled with successful ventures within the federal government is steadily growing. Applying EA concepts to agility and creating a more collaborative culture is critical to developing higher quality, faster to market services for our citizens.