Actions

Architectural Principles

What are Architectural Principles?

Architectural Principles are the principles of concepts that are part of an architecture (total concept) of a structure. Architecture Principles are about the enforced way the concepts, that are part of the architecture of a structure, work, producing results.[1]

Architecture Principles play a critical role in guiding the architecture work that ultimately has the responsibility of defining the Enterprise's future direction and the transitions it needs to reach that future state. The Architecture Principles are typically created at the time the architecture program is set up and are reviewed and ratified by the Architecture Steering Committee. It is important that they are aligned with any existing Enterprise Principles, but that they interpret these in a way that makes them meaningful and applicable at the architecture level. It is common to define a set of principles for each of the architecture domains with a common group that spans more than one domain.[2]


The Need for Architecture Principles[3]

Architecture principles define the fundamental assumptions and rules of conduct for the IT organization to create and maintain IT capability. Without architecture principles, the IT organization has no compass to guide its journey from the current state to the desired future state, nor standards to measure its progress. There is no framework for decision-making as each initiative is left to weigh decisions that the enterprise will live with for years to come based upon its own parochial measures of success. Without a common set of underlying principles held by business and IT leaders, each initiative will be left on its own to determine what projects will be funded, which assets will be leveraged, what vendors will be used, and how applications will be constructed, maintained, and retired.


Architectural Principles
source: Simplicable


Developing Architecture Principles[4]

Architecture principles are typically developed by the Lead Architect, in conjunction with the enterprise CIO, Architecture Board, and other key business stakeholders. Appropriate policies and procedures must be developed to support the implementation of the principles. Architecture principles will be informed by overall IT principles and principles at the enterprise level if they exist. They are chosen so as to ensure the alignment of IT strategies with business strategies and visions. Specifically, the development of architectural principles is typically influenced by the following:

  • Enterprise mission and plans: the mission, plans, and organizational infrastructure of the enterprise.
  • Enterprise strategic initiatives: the characteristics of the enterprise - its strengths, weaknesses, opportunities, and threats - and its current enterprise-wide initiatives (such as process improvement and quality management).
  • External constraints: market factors (time-to-market imperatives, customer expectations, etc.); existing and potential legislation.
  • Current systems and technology: the set of information resources deployed within the enterprise, including systems documentation, equipment inventories, network configuration diagrams, policies, and procedures.
  • Computer industry trends: predictions about the usage, availability, and cost of computer and communication technologies, referenced from credible sources along with associated best practices presently in use.


Characteristics or Format of Architecture Principles[5]

Each principle must be formally stated. Some suggestions regarding the format in which principles must be stated are available in related literature. This article follows the format suggested by The Open Group Architecture Framework (TOGAF), in which each principle is presented according to the following format:

  • Name: The name must represent the essence of the rule and be easy to remember. Specific technology platforms must not be mentioned in a principle's name or description.
  • Description: The description must succinctly and directly convey the fundamental rule. Most information management principle descriptions are similar among different companies.
  • Rationale: This must highlight business benefits generated by adhering to the principle, of using business terminology. It must emphasize the similarity between information and technology principles and those that regulate business operations. The rationale must also describe its relationship to other principles and intentions compared to a balanced interpretation. It should describe situations in which a certain principle would outweigh another in the decision-making process.
  • Implications: This item must highlight requirements, both for businesses and IT, to comply with the principle regarding resources, costs, and activities or tasks. The impacts on businesses and the consequences of adopting a principle must be detailed. Readers must be able to easily answer the following question: "How does this affect me?" It is important not to simplify, trivialize, or question the merit of such impacts. Some implications are exclusively identified as potential impacts, with a speculative characteristic as opposed to being fully analyzed.


Categories of Architecture Principles[6]

  • Business Principles - Provide a basis for decision-making throughout the business
    • Principle 1 – Primacy of Principles
    • Principle 2 – Compliance with Statutory Obligations
    • Principle 3 – Maximise Benefit to the Enterprise
    • Principle 4 – Information Management is Everybody’s Business
    • Principle 5 – Business Continuity
    • Principle 6 – Common Use Applications
    • Principle 7 – IT Responsibility
  • Data Principles - Provide guidance on data use within the enterprise
    • Principle 8 – Data Security
    • Principle 9 – Data is an Asset
    • Principle 10 – Data is Shared
    • Principle 11 – Data is Accessible
    • Principle 12 – Data Trustee
    • Principle 17 – Data will be Analysable
  • Application Principles - Provide guidance on the use and deployment of all IT Applications
    • Principle 13 – Technology Independence
    • Principle 14 – Ease of Use
    • Principle 18 – Purchase rather than Develop
  • Technology Principles - Provide guidance on the use and deployment of all IT Technologies
    • Principle 15 – Requirements-Based Change
    • Principle 16 – Control Technical Diversity


The Benefits of Architecture Principles[7]

Architecture principles epitomize architecture's function: to clearly define the necessary constraints on a system's design without prescriptively defining all the design details. Architecture principles help establish boundaries and priorities without micromanaging how everyone performs their work. A good set of architectural principles offers the following key benefits.

  • Context for Design Decisions: Principles can clarify priorities and constraints, helping people make consistent, informed design decisions. In fact, I've found they can make abstract ideas such as business goals more accessible and help designers make technical decisions that support them.
  • Justification for Decisions, Cost, and Time: As designers, we often face situations in which the right plan costs more or takes longer than we'd like, but it's difficult to explain clearly and succinctly why it's the right plan. A set of clear principles can provide a basis for that explanation. For example, the principle that all systems must be suitable for high-availability deployment might justify building multinode operation capabilities into all systems, even if this isn't the cheapest option for the immediate future.
  • Enhanced Collaboration, Communication, and Shared Values: Like many architectural artifacts, principles must be developed by groups, not individuals. This ensures that they're validated early and that the group feels collective ownership of them. Moreover, this helps people collaborate and build shared values, fostering a mutual understanding of what is and isn't important.


See Also

Enterprise Architecture
Architectural Style
Architectural Pattern
Architectural Risk
Architecture
Architecture Description Language (ADL)
Architecture Development Method (ADM)
Architecture Driven Modernization
Service Oriented Architecture (SOA)
Software Architecture
The Open Group Architecture Framework (TOGAF)
Design Pattern
Design Principles


References


Further Reading