I was thinking the other day about large corporations and how they go about defining what the technical direction is for their entire organization. When I originally thought about this, I simply asked myself how do companies choose which technology to build their systems with? Some organizations choose Microsoft for their server OS, and other organizations use a flavor of Unix. Some use Java, others use PHP. How can a CIO really understand why Hibernate makes sense in a certain implementation versus say ADF? I have implemented systems in many different environments, and have always wondered why organizations, sometimes of the same size, and sometimes with competing business plans would choose such different platforms all together. In doing some research on this subject I have come across the concept of Enterprise Architecture and Enterprise Frameworks.
What is an Enterprise Architecture Framework?
An Enterprise Architecture framework provides a collection of best practices, standards, tools, processes, and templates to assist in the creation of the Enterprise Architecture
Enterprise Architecture frameworks typically include:
- Common vocabulary, models, and taxonomy
- Processes, principles, strategies and tools
- Reference
- Reference architectures and models
- Prescriptive guidance (EA processes, architecture content,
- implementation road map, governance)
- Catalog of Enterprise Architecture deliverables and artifacts
- Enterprise Architecture Content Metamodel
- Recommended set of products and configurations (optional)
Examples of Framework – Their Definitions According to Wikipedia.
Open Group Architecture Framework (TOGAF) - The architecture is typically modelled at four levels or domains; Business, Application, Data, Technology. A set of foundation architectures are provided to enable the architecture team to envision the current and future state of the architecture.
OMB Federal Enterprise Architecture (FEA) – Enterprise Architecture of the federal Government. The U.S. Federal Enterprise Architecture (FEA) is an initiative of the US Office of Management and Budgetthat aims to comply with the Clinger-Cohen Act and provide a common methodology for information technology(IT) acquisition in the United States federal government. It is designed to ease sharing of information and resources across federal agencies, reduce costs, and improve citizen services.
The Gartner Methodology (formerly the Meta Framework) - The GEAF describes a business or enterprise context layer that overlays the enterprise architecture to ensure alignment with the business strategy. The business context contains the articulation of the business strategy and its implications. It also articulates external “environmental” trends (such as regulatory requirements, market trends or technology trends) that influence the enterprise architecture. The business context informs the subsequent architecture work.
The DoD Architecture Framework (DoDAF) - The Department of Defense Architecture Framework (DoDAF) provides a foundational framework for developing and representing architecture descriptions that ensure a common denominator for understanding, comparing, and integrating architectures across organizational, Joint, and multinational boundaries. It establishes data element definitions, rules, and relationships and a baseline set of products for consistent development of systems, integrated, or federated architectures. These architecture descriptions may include Families of Systems (FoSs), Systems of Systems (SoSs), and net-centric capabilities for interoperating and interacting in the NCE
The Oracle Enterprise Architecture Framework (OEAF) - The Oracle Enterprise Architecture Framework provides a streamlined technology agnostic framework that helps Oracle collaboratively work with customers to develop strategic roadmaps and architecture solutions that enable business and IT alignment
Decision Making Process
Because the framework documents tend to come from a C-level executive, or from a team of people reporting to a C-level executive, they tend to both take into account the business strategy of the organization and contain the weight of the office. They are a collection of overall globally researched documents, containing insight into the future direction of the company with an understanding of the current standing of the organization. As a requirement of the outlined frameworks, these documents are required to take into account organizational growth as outlined by the leadership team, budgetary limitations, and a greater knowledge of current physical and personal resources.
These Frameworks are in essence the technical business plan for the organization.
When undertaking a review about which systems are performing adequately, if data is flowing through the proper channels at the right time, and where the organization needs to improve, these documents provide the main resource for making those decisions. Each project that is identified as a strategic need for the organization, must meet the criteria laid out in the Architecture Framework documents. Once a project is identified, choice of vendor, choice of hardware, and in most cases choice of personnel to complete the project must also meet these criteria.
These documents don’t however make the low level choice for the software developers and architects that I was originally thinking about. Those choices are made by project teams using the Enterprise Architecture document as a guiding set of principals in helping to make the right choices. So when a team is deciding between an MS platform, or one from IBM they must use these documents as a guiding force in choosing which platforms to go with.