This section covers the Q&A for the frameworks and nonfunctional requirements domain. An architecture framework provides principles and practices for creating and using the architecture description of a system. It structures architects' thinking by dividing the architecture description into domains, layers or views, and offers models-typically metrics and diagrams-to document each view.
This section also covers the solutioning of NFRs, providing insights into how they will be addressed in the solutioning phase. This section covers the key NFRs that are most critical for any project. For each NFR, it provides the various alternatives pertaining to the solution and the design principle that needs to be applied to achieve the desired outcome, for example, high availability, scalability, or reliability.
Enterprise architecture frameworks drive the creation and governance of enterprise architecture. A framework is a collation of best practices, principles, and practices for creating the architecture definitions. It structures the thinking of architects by segregating the architecture into domains, layers or views, tiers, and models. The components of a framework provide guidance in three main areas:
The Open Group Architecture Framework (TOGAF) is an enterprise architecture framework that defines a comprehensive approach to planning, architecting, implementation, and governance of enterprise architectures.
TOGAF defines the enterprise as four architecture domains: business, application, technology, and data. It consists of a methodology for defining an architecture in terms of building blocks and is an iterative process. It also contains a set of tools, vocabulary, standards, principles, and compliance tools. TOGAF contains an iterative methodology for defining enterprise architecture, called Architecture Development Method (ADM). TOGAF needs to be tailored before adopting it for an organization, and this is a one-time activity:
Probability indicator:
The ADM is the core entity of the TOGAF framework. This is the methodology for defining organization-specific enterprise architectures. ADM is a framework that provides repeatable processes for defining and implementing organization-specific enterprise architectures. ADM establishes the architecture framework, developing and governing the architecture content. These activities are carried out in an iterative cycle, facilitating the transformation of their enterprises in response to business goals. The ADM is described as a number of phases within a process of change, illustrated by an ADM cycle graphic. Phases within the ADM are as follows:
Probability indicator:
TOGAF consists of the following four architecture domains:
Domain |
Description |
Business architecture |
The business strategy, business processes, governance, and organization. |
Data architecture |
The logical and physical data assets, and data management resources and tools. |
Application architecture |
A blueprint of application systems, interactions, and relationships with the business processes. |
Technology architecture |
The infrastructure's capabilities to support the deployment of business, data, and application services. This includes IT infrastructure, middleware, networks, and communications. |
Table 1: TOGAF Domains
Probability indicator:
Enterprise continuum is a framework for structuring the organization's architecture assets and provides guidelines and methods for classifying architecture assets, also describing how they can be leveraged. This is based on assets such as models, standards, frameworks, and patterns that exist in the enterprise and in the industry at large, and also which the enterprise has created while developing the architectures. The architecture repository is a structure of a physical instance of enterprise continuum.
Probability indicator:
The following is the list of TOGAF certified tools:
Tools |
Description |
Troux platform |
The Troux platform defines a best-in-class tool in each critical capability area, delivering the information capabilities required to understand the relationships between IT and business and answer key business questions. |
ARIS |
This is a modeling tool for business process analysis and management. It supports different modeling standards such as Business Process Model and Notation (BPMN), Event-driven Process Chains (EPC), organizational charts, and process landscapes. |
iServer |
iServer is a unified software platform that provides an easy-to-use, collaborative modeling tool that extends Microsoft Office and Visio. Core components include a Microsoft Visio interface, a powerful repository for architecture, process and governance models; and a range of tools for presentation, analysis, and decision making. |
System architect |
IBM rational architect is an EA tool leveraged to model businesses and IT applications and databases that support them. System architect is leveraged to build architectures using various frameworks, including TOGAF and Zachman. |
ABACUS |
ABACUS is a tool used for enterprise architecture and process modeling, and supports key frameworks. ABACUS includes multiple architecture alternatives and runs calculations for each alternative metric such as cost, agility, performance, and reliability. |
Table 2: TOGAF tools
Probability indicator:
The Zachman framework is an EA framework that provides a methodology for defining an enterprise according to a 6 x 6 architecture matrix. This framework was initially developed at IBM by John Zachman. The columns of this framework consist of questions like why, how, what, who, where, and when. The rows consist of questions such as contextual, conceptual, logical, physical, and detailed.
Zachman framework provides views for various roles, including planners, owners, designers, builders, and contractors. This creates a holistic view that enables different stakeholders to view the enterprise from different perspectives:
Probability indicator:
Agile is a methodology for organizations to produce IT solutions and products by ensuring that they bundle their solutions and products by business-driven factors, which we know as requirements, features, enhancements, and fixes. Agile is a way of building solutions and products by leveraging optimized increments that resemble the iterative and incremental methodology. The key to the Agile methodology is that it ensures that risks are at bay. The older methodologies have galvanized into Agile, and Agile is a derivative of its predecessor's best practices.
One sprint of agile includes analysis, design, build, testing, and deployment. There would be multiple such sprints across the entire project life cycle. The following diagram depicts a comparison:
Agile |
Traditional |
Incremental value and risk management |
Phased approach with an attempt to know everything at the start |
Embracing change |
Change prevention |
Delivery early, fail early |
Delivers value at the end; also fails at the end |
Transparency |
Detailed planning and stagnant control |
Inspect and adapt |
Meta Solution with tightly controlled procedures and answers |
Self-managed |
Command and control |
Continual learning |
Learning is secondary |
Table 3: Agile versus Traditional
Agile leverages light-weight methodologies such as SCRUM, Extreme Programming (XP), and Rapid Application Development (RAD). These methodologies focus on the development of solutions in an iterative manner. Scrum is also one of the agile methods, used to develop information systems iteratively. In this technique, a small team typically works on the assigned tasks for a time period of 30 days.
Probability indicator:
Requirement prioritization is leveraged to identify requirements for a given release. The requirements prioritized ensure that the risk is minimized, so high-risk requirements are implemented first. There are a number of possible business considerations, including value, cost, risk, difficulty in implementation, likelihood of success, stakeholder agreement, and urgency, each of which is described in more detail here:
There are numerous prioritization techniques that are leveraged today; we have listed some of the more frequently used techniques here:
Probability indicator:
A project charter artifact outlines the existing project and provides project manager (PM) with the confirmation to initiate the work proceedings for the project. The artifact helps the PM to communicate the stakeholders, goals, objective, IT roadmap, cost, resources, risks, and how successful completion will help the enterprise. Based on organizational culture, the charter serves a similar purpose as a business case. In large enterprises, the charter is a multi-page document written by the mid-level management after a business case has been finalized. In small organizations the charter is a few paragraphs with bulleted items and is signed by the company's senior executive. A project charter includes the following:
Probability indicator:
Reference architecture is a template, methodology, practice, and standards based on a set of successful solutions in the past. These are generalized solutions depicting logical and physical architecture views, and are based on harvesting a set of patterns, standards and best practices in successful solutions in the past. This is a critical reference asset for the architecture engagements which the enterprise can implement to solve business problems. It provides multiple views to different stakeholders and is the starting point or the point of comparisons for business entities. Major artifacts of the reference architecture are methodologies, standards, metadata, documents, and patterns. Examples of reference architecture are:
Probability indicator:
Benchmarking is about measuring the performance of an organization to compete in the industry. It is a strategic tool for portfolio analysis and strategic management. In this process, a company measures its policies, performance, rules, and other critical KPIs and metrics.
Benchmarking involves examining how others achieve their performance levels and understanding the processes they have leveraged. When lessons learned from a benchmarking exercise are applied appropriately, they facilitate improved performance in critical functions or in key business areas.
The application of benchmarking involves these key steps:
To be effective, the benchmarking mechanism must become an integral part of an ongoing process; the goal is to stay abreast of industry best practice and trends.
There are two primary types of benchmarking:
These can be further segregated as follows:
Probability indicator:
The technique to assess business value consists of defining a matrix based on a business value and a risk on the XY axis. The value index includes parameters such as compliance, financials, strategic alignment, and market position. The risk index includes parameters such as size, complexity, technology, capacity, and impact of failure. Each parameter is then assigned an appropriate weight. The index, criteria, and weights are approved by the senior management and this establishes the decision-making criteria.
This is the approach leveraged for finding the business value of user stories:
The following is the approach for business value modeling:
Probability indicator:
Continuous Integration (CI), is creating software and testing it multiple times with every iteration. Different tools that support this methodology are Hudson, Jenkins, and Bamboo where Jenkins is the most popular one. They are integrated with version control systems and IDE. Deploying tools for Continuous Integration is very easy, but leveraging and establishing best practices for Continuous Integration methodology is complex.
Key considerations for CI:
The following are the benefits of continuous integration:
Probability indicator:
Dependency injection is a software design pattern providing inversion of control for resolving dependencies. A dependency is an object that is injected by passing this dependency to a client and is made part of the state of the client's. Passing the object to the client, rather than building or the service, is the fundamental essence of this pattern.
Dependency injection allows a program to leverage the dependency inversion pattern by delegating to external code the responsibility of providing its dependencies. It is the injecting code that constructs the object and calls the client to inject themselves and the client is not allowed to call the injector function. The client code does not need to know the injecting code, construction mechanism and the services it is using. The client only needs to know the interfaces of the services because these define the use of services. Following are the benefits of Continuous Integration:
Information Technology Infrastructure Library (ITIL) is a set of best practices and standards for service management, development and operations. ITIL defines a number of important concepts including checklists, tasks, and procedures that can be tailored for specific organizations ITIL goals. In the service domain, ITIL includes support desk, incident, problem, change, release and configuration management. In the service delivery domain, it includes service-level management, capacity management, and service continuity management.
The ITIL framework includes:
The benefits of ITIL:
The barriers for ITIL:
The capabilities of the ITIL framework are as follows:
Probability indicator:
3.145.112.210