Another lesson by Sameer Paradkar
Reference architectures are standardized architectures that provide a frame of reference for a vertical domain or sector. Reference models or architectures provide a common vocabulary, reusable designs, and industry best practices. They are not solution architectures (i.e., they are not implemented directly) but used rather as a constraint for more concrete architectures. Typically, a reference architecture includes common architecture principles, patterns, building blocks, and standards.
A reference architecture in the field of software architecture provides a template solution for an architecture for a domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality. A software reference architecture is a software architecture where the structures and respective elements and relations provide templates for concrete architectures in a domain.
Many domains have defined their reference architectures. The key ones include:
- BIAN service landscape for the banking industry;
- ACORD Framework for the insurance industry;
- eTOM business process framework for the telecommunications industry from the TMForum;
- Different government reference architectures, for example the US FEAF or the Australian AGA;
- Defense architecture frameworks such as NAF, DODAF and MoDAF;
- Reference architectures for manufacturing and supply chains such as ISA-95 and SCOR.
Most of these reference architectures includes common business building blocks, business capabilities, and business processes for a specific vertical domain. They may include, for example, common data models, communication standards and exchange formats, and sometimes even common software building blocks and mostly reusable assets and models.
A reference architecture provides a template, often based on the generalization of a set of solutions. These solutions may have been generalized and structured for the depiction of one or more architecture structures based on the harvesting of a set of patterns that have been observed in a number of successful implementations. Further it shows how to compose these parts together into a solution. Reference Architectures will be instantiated for a particular domain or for specific projects.
Drivers for Reference Architecture & Frameworks
Frame of Reference: Reference architectures provide a frame of reference that help one get an overview of a domain while they provide a starting point for your own enterprise architecture effort. They provide you with basic structures so you do not have to reinvent the wheel. Reference architectures are most valuable for those aspects and elements of your organization on which you do not compete with others.
Interoperability: In our increasingly networked world, organizations need to connect and cooperate with all manner of other parties. The standards and building blocks provided by reference architectures facilitate these connections. A related benefit is that using standards improves flexibility because it is easier to exchange building blocks that connect via standardized interfaces; vice versa, it is much easier to develop standards if the building blocks themselves are standardized. LEGO is a perfect example (as my colleague Bas van Gils described in his blog recently).
Mergers, acquisitions and outsourcing: If two parties speak the same language, use the same standards, and recognize the same boundaries between functions, processes and/or systems, it will be much easier to recombine their elements in new ways.
Benchmarking: Using reference architectures is to facilitate benchmarking within your industry. Often, the differences between companies are not in the design of, say, their business processes, but in their execution. Using reference designs makes it much easier to compare those execution results.
Regulatory Compliance: Often, reference architectures are prescribed (or at least strongly recommended) by regulators. Accounting principles, practices, and processes, for example, are increasingly standardized and mandated. This leads to business reporting standards, even down to the level of exchange standards such as XBRL.
Benefits of Reference Architecture
Adopting a reference architecture within an organization accelerates delivery through the re-use of an effective solution and provides a basis for governance to ensure the consistency and applicability of technology use within an organization. In the field of software architecture, many empirical studies have shown the following common benefits and drawbacks from adopting a software reference architecture within organizations:
- improvement of the interoperability of the software systems by establishing a standard solution and common mechanisms for information exchange;
- reduction of the development costs of software projects through the reuse of common assets;
- improvement of the communication inside the organization because stakeholders share the same architectural mindset; and,
- influencing the learning curve of developers due to the need of learning its features.
Reference Architectures vs. Architecture Frameworks
Architecture frameworks, such as the Zachman Framework, the Open Group Architecture Framework (TOGAF), and Department of Defense Architecture Framework (DoDAF) provide approaches to describe and identify necessary inputs to a particular architecture as well as means to describe that architecture. So, architecture frameworks give enterprise architects the tools they need to adequately describe and collect requirements, without mandating any specific architecture type. Architecture frameworks describe an example taxonomy of the kinds of architectural “views” that an architect might consider developing, and provides guidelines for making the choice for developing particular views.
Reference architecture goes one step further by accelerating the process for a particular architecture type, helping to identify which architectural approaches will satisfy particular requirements, and figuring out what a minimally acceptable set of architectural artifacts are needed to meet the “best practices” requirements for a particular architecture. Reference architectures emphasize the “template” part of the definition of a reference architecture. Both frameworks and RAs provide best practices, and while it might be argued that RAs provide more of a methodology than a framework does, RAs are still not really characterized by their methodology component. Most can be characterized by their template component, however. From this perspective, patterns are instances of templates in this context. In fact, multiple reference architectures for the same domain are allowable and quite useful.
To expand the catalogue, download here.
The use of a reference architecture in an organization also requires governance to enforce that organizations commit to its use. Reference architectures are only valuable if people use them as intended and follow their guidance—otherwise the whole idea of reusing industry best practices breaks down.
For example, the business functions of a typical insurance company are largely similar to those of its competitors, as are many of its business processes. Competitive differences will most likely be in its products, pricing, customer segments, and customer relationships. Reusing industry best practices provided by reference architectures ensures that you are not behind the curve on these non-competitive aspects. We also see this in the implementation of many IT systems, where vendors such as SAP provide reference processes for large parts of an organization.
Reference architecture should be community-based. Users, not vendors, should decide on best practices, and the architecture should be actively maintained by the user community.
Finally, your reference architecture of choice should provide true, actionable guidance. General architecture principles are not enough. True structure, for example in terms of business functions or processes, building blocks and standards, is needed to provide a beneficial backbone for your own architecture efforts.
About the author
Sameer Paradkar is an Enterprise Architect with 15+ years of extensive experience in the ICT industry spanning across Consulting, Product Development and Systems Integration. He is an Open Group TOGAF, Oracle Master Java EA, TMForum NGOSS, IBM SOA Solutions, IBM Cloud Solutions, IBM MobileFirst, ITIL Foundation V3, COBIT 5 and AWS certified enterprise architect. He serves as an advisory architect on Enterprise Architecture programs and continues to work as a Subject Matter Expert. He has worked on multiple architecture transformation and modernization engagements in the USA, UK, Europe, Asia Pacific, and Middle East Regions to present a phased roadmap to transformation capable of maximizing the business value while minimizing costs and risks.
Sameer is part of IT Strategy & Transformation Practice in AtoS. Prior to AtoS he has worked in organizations like EY - IT Advisory, IBM GBS, Wipro Consulting Services, TechMahindra and Infosys Technologies. He specializes in IT Strategies and Enterprise transformation engagements.