Discovering the Power of Enterprise Architecture Patterns: A Comprehensive Guide
- What are Enterprise Architecture Patterns?
- Why are Architecture Patterns Important?
- TOGAF Enterprise Architecture Patterns
- Enterprise Architecture Pattern Template
- Architecture Patterns Exist in All Architecture Domains
- Business Architecture Patterns
- Data Architecture Patterns
- Security Architecture Patterns
- Infrastructure Architecture Patterns
- Application Architecture Patterns
- System Acquisition Patterns
- Architecture Pattern Conclusion
What Are Enterprise Architecture Patterns?
An Architecture Pattern provides a common approach to a predictable problem. It describes the problem and how the problem can be addressed.
We’ll use two patterns—CISR operating model and strangler pattern—to explore a common approach and predictable problem.
Everyone who has tried to migrate an IT portfolio has faced the problem of legacy applications, legacy infrastructure, and legacy data. Old processes, organization, and management make it hard to change departments. The predictable problem is how do you move forward while staying in business? The strangler pattern provides a common approach—the old approach is put behind a façade. Over time, new services replace the old.
No single operating model applies everywhere. The predictable problem is, how do you organize departments, products, and services? CISR’s operating model provides a common approach—choose to be unified, coordinated, diversified, or replicated.
Neither of these patterns tells you exactly how to proceed. They give you a common approach. They identify the specific challenges of the approach. They provide an architecture pattern.
Architecture patterns are described as “an idea that has been useful in one practical context and will probably be useful in others.”
Why Are Enterprise Architecture Patterns Important?
Enterprise architecture patterns are important because of productivity. We know that the most productive enterprise architects are 50-100 times more effective than average. The root is re-use. Using patterns means the architect doesn’t start from scratch. As a pattern is not a comprehensive solution, it helps to prevent the common pitfall of subject matter experts applying the same answer in diverse situations.
Using architecture patterns helps balance an organization’s individuality and shared industry challenges. Enterprise architecture patterns help with decision-making by providing certainty and understanding.
Benefits of Using Architecture Patterns
Architecture patterns offer similar benefits as reference architectures and enterprise architecture frameworks. Architecture patterns increase productivity and confidence.
We use Architecture Patterns to:
- Work on the most effective change, not reinventing the wheel
- Improve confidence that the architecture covers the difficulties and has successful answers
- Simplify architecture trade-off
- Cascade preferred answers and approaches
- Improve confidence that implementations will be successful
- Simplify solution assessment during implementation governance
Enterprise architecture patterns give you a template for solving problems. They can be used in different contexts and provide robust solutions to common problems. They provide some level of assurance and help guide decision-making.
No matter what enterprise architecture pattern is employed, disadvantages are inevitable. When looking at patterns, it’s important to understand what trade-offs are being made.
Difference between Reference Architecture and Architecture Patterns
Architecture patterns and reference architectures are concepts used across all enterprise architecture domains—business, applications, data, technology, and security. Architecture patterns are most commonly associated with application or software architecture.
Technical distinctions exist between reference architecture and an architecture pattern. However, the distinctions blur as the detail of the architecture project changes. A pattern for applicable to architecture to support strategy, or portfolio, looks like a reference architecture for project and solution delivery. In short, the key differences are:
- Scope of Problem: architecture patterns always have a problem. Reference Architecture might not have a problem. The Strangler Pattern will never be considered a reference architecture.
- Adaptability: Architecture patterns can be adapted for multiple projects and fields. Reference architectures are often tied to a specific context. A consumer goods supply chain reference architecture will be hard to adapt.
- Domain Specificity: Reference architectures are usually made for specific industries or technology. Architecture patterns are more universal.
In summary, architecture patterns offer high-level guidance and approaches for solving common architectural challenges. Our focus while creating enterprise architecture is to provide useful guidance rather than worrying about semantic differences.
Power of Enterprise Architecture Patterns
An enterprise architecture pattern tells you a common, demonstrated approach to a predictable problem. Pattern descriptions tell you where the challenge to using the pattern exists. You don’t have to invent a solution. You look at known solutions and determine which one is the best fit you’re your enterprise. You focus your time and skill on delivering the benefits of enterprise architecture.
Enterprise Architecture Pattern Template
In Navigate, we have a simple template for documenting architecture patterns:
- Name: a label that holds significance and sticks in your memory
- Predictable Problem (Use Case): what common problem is being solved
- Approach: A description of how to achieve the intended goals and objectives
- Hard Bits: what work is required or limitations that impact successfully using the pattern
Architecture Patterns Exist in All Architecture Domains
Architecture patterns can be used in other domains beyond software and application architecture. Apply the technique—common approach to a predictable problem.
Here are some examples of how architecture patterns can be applied outside of application architecture:
- Business Architecture Patterns: Given a problem like a improve efficiency, they provide common approaches. The Digitization Pattern and Lean Improvement Pattern have different approaches to solving the same problem.
Merger & Acquisition (M & A) Patterns: Given a problem like a merger, they provide common approaches. The Market Diversification Pattern will define business processes, organization, key capabilities, relationships, and information flows differently than the Geographic Expansion Pattern.
- Technology Architecture Patterns: Given a problem like IT Modernization, they provide infrastructure design approaches like Three-Tier Pattern or Serverless Pattern. These patterns define very different approaches to scalable and reliable infrastructure that are known to work. Selecting between these patterns will be based on the Context and Hard Bits.
- Data Architecture Patterns: Given a problem like personal information and national data protection, they provide a pattern like Data Masking Pattern. This pattern provides consistent approaches to replacing and obscuring data where it cannot be accessed.
- Security Architecture Patterns: Given a problem of protecting IT systems against threats, they provide patterns like Zero Trust Pattern or Immutable Infrastructure Pattern. These patterns address overlapping security problems.
- Application Architecture Patterns: There are a rich set of Application Architecture Patterns. Starting with the Gang of Four. Many classic Application Patterns solve software design problems. Application Architecture Patterns can be based on design, like the Bridge Pattern; modernization approach, like the Strangler Pattern, or acquisition, like the Modular System Acquisition Pattern. The modernization and acquisition patterns can be readily adapted to business and infrastructure problems.
- System Acquisition Patterns: Given a problem like managing cost, they provide different approaches to acquiring IT systems. The Vendor Consolidation Pattern and Open-Source Adoption Pattern provide very different approaches to managing IT cost. Like other architecture alternatives, the selecting between these patterns will be based on the Context and Hard Bits.
- Enterprise Architecture and Agile Engagement Patterns: We use these when developing EA Teams. Depending on the enterprise architecture use case and the governance need, there are different engagement patterns with Agile.
While the terminology and specifics may vary from one domain to another, the concept of architecture patterns—providing reusable, proven approaches to common problems—is universal.
The benefit to enterprise architects is always productivity and quality. An architect can streamline their work, improve efficiency, and ensure best practices are followed. The key is to adapt and customize these patterns to suit the unique requirements and constraints of the specific domain.
Business Architecture Patterns
Business architecture patterns are reusable approaches for structuring an organization. Organizations use these patterns to align their business objectives, operations, and technology to drive efficiency and innovation. Here are some common business architecture patterns:
- Digitization (Business Process Automation) Pattern
Predictable problem—improve efficiency
Approach—automate routine and manual business - Lean Improvement Pattern
Predictable problem—improve efficiency & quality
Approach—follow Lean principles and Six Sigma methodologies to incrementally improve business processes. - Ecosystem Collaboration Pattern
Predictable problem—method of collaboration with external partners, suppliers, customers, and stakeholders
Approach—collaborate within an ecosystem
These patterns help businesses understand, improve, and align their operations and strategies. Organizations can adapt and combine these patterns to suit their specific business goals and challenges.
Business Architecture Merger & Acquisition (M&A) Patterns
Business acquisition patterns are ways companies gain other businesses. These patterns help organizations with M&A and their strategic goals. Here are some examples of business acquisition patterns:
- Vertical Integration Pattern
Predictable problem—improve control over the supply chain, reduce costs, and enhance efficiency
Approach—search for acquisitions through the supply chain to ensure control of every step, adjust supply chain to use internal steps, and pursue end-to-end efficiency - Market Diversification Pattern
Predictable problem—risks associated with market fluctuations and economic downturns
Approach—acquire businesses in different markets or industries to reduce reliance on a single market segment, then cross-sell - Technology Acquisition Pattern
Predictable problem—risks and time associated with innovative technology development and falling behind competitors
Approach —focus acquisitions on organizations developing novel technology, then integrate technology in existing and new operations - Customer Base Expansion Pattern
Predictable problem—risks, time and cost of growing customer base
Approach—acquire organizations with established customer bases in new geographies and markets Businesses acquire companies with strong brand recognition or a large - Synergy-driven Pattern
Predictable problem—gaining efficiency of scale
Approach—focus acquisitions won organizations that are similar in market, product, and value proposition then standardize operations for scale & efficiency - Geographic Expansion Pattern
Predictable problem—risk, time and costs of expanding operations into a new geography
Approach—focus acquisitions on targets with similar products & services, and value proposition in new geographies. Then rationalize products, services and operations - Turnaround (Distressed Asset) Pattern
Predictable problem—growing shareholder value at an acceptable rate
Approach—Acquire struggling or distressed businesses, then apply management expertise and capital to turn them around - Capability Pattern
Predictable problem—risks, cost, and time associated with developing business capabilities
Approach —identify key capability gaps and focus acquisition on organizations that demonstrate the capability, then replace existing organization, process, technology and intellectual property with the acquired capability
These business acquisition patterns serve as known approaches to predictable problems. The choice of pattern depends on the company’s strategic goals and the industry landscape.
We employ these patterns to help with scenario analysis. These patterns represent common business choices used to develop a scenario.
Enterprise Architecture and Agile Engagement Patterns
Together enterprise architecture and agile reduce risk. Architecture is used to lower risk and cost before you start implementing. Agile lowers risk and cost after you start implementing.
We created Enterprise Architecture and Agile engagement patterns while working on Digital Transformation projects:
- Define the Agile Approach Pattern
- Product Pattern
Predictable Problem: Where does Product come from?
Approach: Adjust definition of ‘solutions’ used to fill gaps and work package outcomes to align with self-contained products. Develop an internal product portfolio and set of value measures for internal products. Products should appear on the architecture roadmap. - Platform Pattern
Predictable Problem: When should a platform be used and when should the product be unconstrained?
Approach: Multiple approaches - Service Delivery Strategy Pattern
Predictable Problem: How will your organization deliver agile development?
Approach: Follow the approaches of Architecture to support Strategy. Pose the question how agile development will be enabled. - Major Value Resting Point Pattern
Predictable Problem: Knowing the Value Resting Point to stop or change focus.
Approach: Use architecture roadmaps to explore alternative value delivery points. Create reporting on activity towards transition states.
- Product Pattern
- Guide Backlog in Sprint Pattern
- Roadmap to Guide Product Pattern
Predictable Problem: Having an integrated cross-product roadmap.
Approach: Using an architecture roadmap technique where the product, or product family, stand in place of the Portfolio. Ensure normal product reporting includes activity towards transition states. - Roadmap to Guide Epic Pattern
Predictable Problem: Using epics to implement top-down outcomes and constraints into the product.
Approach: Using well constructed transition states in an architecture roadmap technique where the product, or product family, stand in place of the Portfolio. Ensure normal product reporting includes activity towards transition states. - Enterprise Value Pattern
Predictable Problem: Ensuring the critical success factors included within transition and target states guide agile backlog grooming and epic planning.
Approach: Translate top-down measures and objectives into consumable criteria for agile backlog grooming. Ensure normal product reporting includes activity selection and completion towards stated value. - Constrain ‘Bottom up’ Product Owners Pattern
Predictable Problem: Product owners viewing the entire enterprise through the lens of their product and its direct users.
Approach: Document product and role within the ecosystem. Document constraints that apply to the product. Document assessment criteria. Ensure normal product reporting includes progress towards transition states and activity aligned with enterprise value.
- Roadmap to Guide Product Pattern
- Constrain Sprints Pattern
- Acceptance Criteria Pattern
Predictable Problem: Ensuring software conforms to enterprise architecture specifications and standards.
Approach: Provide mandatory acceptance criteria applicable at the end of epics and prior to release. We have often used Application Architecture Patterns and Data Architecture Patterns to create acceptance criteria. Include mandatory acceptance criteria in all testing reports. - Value (Measures and Resting Points) Pattern
Predictable Problem: Understanding what is valued and how value is measured.
Approach: The enterprise architecture needs to be definitive about how value is described and measured. Value statements require critical success factors (CSF) and measures of effectiveness (MoE). Ensure value measures are included in product, epic, and release reporting. - Greenfield, Evolution, or Revolution Pattern
Predictable Problem: Ensuring the implementation strategy is followed.
Approach: Use product roadmap and release cycles to enforce radical changes in approach. - Constrain Interfaces Pattern
Predictable Problem: Identifying required interfaces and ensuring they are used.
Approach: Focus top-down work on interfaces and shared data structures. Feed requirements in through epic and release cycles. Use acceptance criteria. We have often used Application Architecture Patterns and Data Architecture Patterns to lightly specific interfaces. Include Interface conformance in all testing reports.
- Acceptance Criteria Pattern
- Solve Dependency Pattern
- Unblock the Portfolio Pattern
Predictable Problem: Conflict across the digital product portfolio blocks multiple products progress.
Approach: Use enterprise architecture techniques to find the minimum changes to allow progress. - Identify Real Stakeholders Pattern
Predictable Problem: Identifying the real stakeholder who can provide direction and approval across a complex internal product portfolio.
Approach: Use enterprise architecture techniques to identify stakeholders and stakeholder agents, concerns, and preferences. Use enterprise architecture techniques of alternatives and trade-off to guide the stakeholders to a decision that will direct the product portfolio. Ensure effective digital portfolio governance. - Cross the Portfolio Pattern
Predictable Problem: Locally optimized tactical decisions cannot emerge as an effective and sustainable digital ecosystem.
Approach: Maintain just enough Application Architecture and Data Architecture. Drive organizational priority in that architecture. Application architecture needs to be focused on shared services and interfaces. Data architecture must focus on master data, reference data, and data with high security classification. Requiring meta-data descriptions. Use Architecture Patterns that specify the ecosystems approach. - Release Impact Pattern
Predictable Problem: Just enough architecture means that every contingency, every constraint, every conflict, was not discovered prior to release.
Approach: Put your hands in your pockets and wait to be called during resolution. Unless called, wait to engage during the incident review to find where you failed to identify a predictable problem, underestimated risk, or missed a testing requirement.
- Unblock the Portfolio Pattern
These engagement patterns are used to guide the engagement of EA Teams.
Data Architecture Patterns
Data architecture patterns are techniques for solving common data problems in an organization. These patterns provide a structured approach to data modeling, storage, processing, and integration. Here are some standard data architecture patterns:
- Data Lake Pattern
Predictable problem—turning large blocks of data into useful information and actionable insight
Approach—develop a data lake (large raw data storage, data catalog, data processing, and data access layer) and the data analytics capability to use the data lake - Master Data Management (MDM) Pattern
Predictable problem—improving integration and re-use of data in business operational systems
Approach—develop master data and reference data, data governance, and data quality for end-to-end operational systems - Data Hub Pattern
Predictable problem—integrating data between disparate systems
Approach—centralize data integration and transformation logic, providing a single point of access for data consumers. - Data Replication Pattern
Predictable problem—integrating data between disparate systems with geographic access and performance issues
Approach—copying data from one source to one or more target systems in near-real-time.
These are some of the standard data architecture patterns used in various industries and contexts. Enterprise architects use these patterns to solve their data management problems.
Security Architecture Patterns
Security architecture patterns are reusable approaches for addressing security problems IT systems and networks. Organizations use these patterns to implement security measures that protect their assets, data, and operations. Here are some common security architecture patterns:
- Perimeter Security Pattern
Predictable problem—protect against unauthorized access and cyber attacks
Approach—Establishes a security perimeter around the network or system to protect it from external threats - Zero Trust Pattern
Predictable problem—protect against unauthorized access and cyber attacks
Approach—micro-segmentation network and applications, establish identity and access management (IAM), continuous authentication, and strict access controls. - Immutable Infrastructure Pattern
Predictable problem—protect against unauthorized access and cyber attacks
Approach—treat infrastructure as code and replaces (rebuild) deployed infrastructure instead of patching or modifying them, reducing vulnerabilities. - Data Masking and Redaction Pattern
Predictable problem—protect sensitive data against exposure
Approach—replace or redact sensitive data with non-sensitive information while still allowing authorized users to perform their tasks.
These security architecture patterns provide a foundation for designing secure systems and networks. Organizations can use these patterns to meet their unique security needs.
Infrastructure Architecture Patterns
Infrastructure architecture is designing the technology components and systems that support an organization’s IT infrastructure. These patterns help organizations build scalable, reliable, and efficient technology environments. Here are some common infrastructure architecture patterns:
- Layered Infrastructure Pattern
Predictable problem—modularity, maintainability, and scalability of technology systems
Approach—separates the infrastructure into distinct layers, each responsible for specific functions, such as presentation, application logic, and data storage. - High Availability (HA) and Redundancy Pattern
Predictable problem—system availability and fault tolerance and maintainability
Approach—duplicate critical components and services. - Scale-Out Architecture Pattern
Predictable problem—modularity, maintainability, and scalability of technology systems
Approach—scale by adding more instances or nodes to handle increased workloads - Serverless Architecture Pattern
Predictable problem—modularity, maintainability, and scalability of technology systems
Approach—automatically allocate and scale infrastructure resources in response to events - Hybrid Cloud Pattern
Predictable problem—improve application development and modularity, maintainability, and scalability of technology systems
Approach—deliver infrastructure as automated services through public cloud rand on-premises environments
These infrastructure architecture patterns provide organizations with guidelines and best practices for designing technology environments that are scalable, reliable, and secure. Organizations use these patterns to meet their specific infrastructure requirements and goals.
Application Architecture Patterns
Most classic application architecture patterns are software design patterns. The Gang of Four application design patterns are well known in software engineering. They are featured in the book “Design Patterns: Elements of Reusable Object-Oriented Software”.
- Microservices Pattern
Predictable problem—agility, scalability, and maintenance of application portfolio
Approach—decompose applications into small, independent services that can be developed, deployed, and scaled independently - MVC (Model-View-Controller) Pattern
Predictable problem—code organization, maintainability, and testability
Approach—separates an application into three interconnected components—Model (data and business logic), View (user interface), and Controller (handles user input and updates the Model and View accordingly) - Strangler Pattern / Strangle Pattern
Predictable problem—replacing legacy systems
Approach—gradually replace or “strangle” an existing legacy system by building new components around it to incrementally replace the system
There are three types of Gang of Four application design patterns: creational, structural, and behavioural patterns. Here’s an overview of each of the Gang of Four design patterns:
Gang of Four Application Creational Patterns
- Singleton Pattern- ensures a class has only one instance and provides a global point of access to that instance
- Factory Method Pattern—defines an interface for creating an object but lets subclasses alter the type of objects that will be created
- Abstract Factory Pattern—provides an interface for creating families of related or dependent objects without specifying their concrete classes
- Builder Pattern—separates the construction of a complex object from its representation, allowing the same construction process to create different representations
- Prototype Pattern—creates new objects by copying an existing object, known as the prototype, rather than creating them from scratch
Gang of Four Application Structural Patterns
- Adapter Pattern—allows the interface of an existing class to be used as another interface, making it compatible with clients that expect a different interface
- Bridge Pattern—separates an object’s abstraction from its implementation so that they can vary independently
- Composite Pattern—composes objects into tree structures to represent part-whole hierarchies. Clients can treat individual objects and compositions of objects uniformly
- Decorator Pattern—attaches additional responsibilities to an object dynamically Decorators provide a flexible alternative to sub-classing for extending functionality
- Facade Pattern—provides a simplified interface to a set of interfaces in a subsystem, making it easier to use
- Flyweight Pattern—minimizes memory usage or computational expenses by sharing as much as possible with similar objects
Gang of Four Application Behavioural Patterns
- Observer Pattern—defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically
- Command Pattern—encapsulates a request as an object, thereby allowing for parameterization of clients with queues, requests, and operations
- Strategy Pattern—defines a family of algorithms, encapsulates each one, and makes them interchangeable. Clients can choose the algorithm to use dynamically
- Chain of Responsibility Pattern—passes a request along a chain of handlers. Upon receiving a request, each handler decides either to process the request or to pass it to the next handler in the chain
- State Pattern—allows an object to alter its behaviour when its internal state changes The object appears to change its class
- Command Pattern—represents an operation as an object, allowing for parameterization of clients with queues, requests, and operations
- Interpreter Pattern—defines a grammar for interpreting a language and provides an interpreter to interpret sentences in that language
These application architecture patterns offer guidance and best practices for developing software applications to meet specific requirements and challenges. The Gang of Four patterns are design solutions to common software problems. Architects will specify these patterns as a constraint.
System Acquisition Patterns
Acquisition patterns typically refer to established approaches for acquiring new technologies, systems, or assets to support an organization’s goals and objectives. They are usually used in enterprise architecture strategy and portfolio use cases. These patterns help organizations make informed decisions about their technology investments and acquisitions. Here are a few examples of acquisition patterns:
- Vendor Consolidation Pattern
Predictable problem—complex vendor management, growing costs
Approach—reduce the number of technology vendors by consolidating multiple contracts and services under a smaller set of vendors - Cloud-First Acquisition Pattern
Predictable problem—scalability, on-premises complexity, and flexibility
Approach—prioritize cloud-based solutions and services when acquiring new technology or replacing legacy systems. - Open-Source Adoption Pattern
Predictable problem—innovation, cost, and flexibility
Approach—actively seek open-source software solutions - Modular System Acquisition Pattern
Predictable problem—enterprise agility, integration and scalability
Approach—acquire systems or technologies designed in a modular fashion, allowing for extension and customization - Strategic Partnership Pattern
Predictable problem—risk
Approach—form strategic partnerships with technology providers or other organizations to co-develop or co-invest in innovative solutions
These acquisition patterns offer organizations a systematic way of making technology-related decisions.
System acquisition patterns represent common business choices used in scenario analysis.
Conclusion Enterprise Architecture Patterns
Enterprise architecture patterns improve the productivity of enterprise architects. Architecture patterns also improve the quality of their work. Re-use is the root of productivity and quality. An architecture pattern provides a known successful approach to a predictable problem. Using architecture patterns, you can focus on determining the best change rather than the approaches.
In our enterprise architecture consulting we use our library of enterprise architecture patterns. We consistently work to improve the productivity of our enterprise architects. We have more time to examine different architecture options and assist stakeholders in picking the right one. We have the time to address stakeholder criteria and develop the architecture views that improve decision-making. The most valuable part of enterprise architecture is guiding effective change by improving understanding and confidence in the change.
Architecture patterns exist in all architecture domains. Harness the power of enterprise architecture patterns in your work. Your first step is to look at your enterprise architecture use case and start with the predictable problems your EA Team is designed to address.