Last month, I shared an overview of the Enterprise IT Architecture structure and methodology implemented at my company.

In this article, I will provide a more detailed description of the principles, which are a key part of the methodology and target all IT employees.

alt text

NOTE: Every company will have different goals, limitations and inertia, therefore although many of the principles are likely transferable, it is certainly not one size fits all.

With an aggressive focus on simplicity, we maintain just four principles for each domain, covering Information, Application, Technology and Delivery. A “Domain Facilitator” is positioned for each domain, with the purpose of helping to coordinate conversations and decisions regarding the specific domain.

The goal of the principles is to ensure that they can be easily consumed and remembered, therefore hopefully triggering the right solution architecture conversations and steering the enterprise towards a unified north star.

The diagram below provides an overview of the principles and acts as a “cheat sheet” used to help drive adoption.

alt text

The principles are designed to complement each other, often reinforcing specific themes. For example, “Minimal Viable Product” supports “DevOps”, which is highly “Automated”. The same can be said for “API-Centric”, which puts an emphasis on “Service Orientated” and facilitated by “Open Standards” such as Swagger.

Behind each principle is a description (outlined below), as well as reference materials that include examples and declarative statements.

Information Principles

  • Governed: Information is an asset that demands lifecycle management, stewardship, and ongoing investment. This requires a defined business processes to create, change, retain, and share the information.

  • Known Provenance: Protecting the integrity of information requires a relentless pursuit of tracking its flow and lineage. This means knowing its origin, the owning system of record, where it is used and how. The number of systems in the middle must be minimised.

  • Timely and Accessible: Information drives our ability to make decisions. Stale or latent data can result in bad decisions being made. Information systems must strive to be real time. Information must be accessed as close to its source as possible, discoverable and easy to consume.

  • Quality and Value: As an asset requiring investment, information must have metrics to measure the business value, quality and integrity. Continual pursuits to enhance the context, meaning and impact to the consumers are required.

Application Principles

  • UX First: User Experience is a key part of application design and driving value for the customer and ultimately the business. It focuses on an individual’s behaviours, attitudes, and emotions about using a given solution.

  • Separation of Concerns: Separate the application into distinct components (micro-services), such that each section addresses a separate concern. This enables a consistent core, focused on reuse, as well as agility and speed of change for the ever-evolving user experience.

  • Device Agnostic: Ensures applications and services are compatible with any end-point, not just today (apps, web), but tomorrow (wearable technology, etc.) Enabling the right tool for the right job.

  • Minimum Viable Product: A minimum viable product includes the core features that allow the product to be deployed, and no more. This improves quality through iterative testing and drives speed to value.

Technology Principles

  • API-Centric: APIs are the digital glue that connect all services through a commonly understood (standard pattern) contract. This approach simplifies the exchange of data, exposes reusable capabilities, reduces integration complexity and increases agility.

  • Open Standards: Open Standards are non-proprietary, focused on industry accepted practices. Using open technologies enables flexibility, simplifies support and reduces the risk of vendor lock-in.

  • Automated: Automation reduces or removes human (manual) intervention, which drives improved speed to value and agility, as well as security and quality through consistency.

  • Cloud First: Cloud First emphasises the use of SaaS and PaaS, abstracting the service from the underlying infrastructure. Cloud First enables elastic scale, portability and reduced infrastructure support overhead.

Delivery Principles

  • Multi-Speed: Delivery focused based on appropriate methodology. Agile is non-sequential, emphasising agility and iteration. Waterfall emphasising, scalability, safety and accuracy.

  • DevOps The separation of Delivery and Operations as distinct, disconnected functions is resolved by the fusion and creation of DevOps. DevOps shortens communication, increases accountability, as well as inherently promotes quality and security.

  • Service Orientated: A mind-set focused on services, not technology. Services must be treated as a product, not a project, delivering an end-to-end lifecycle.

  • Time to Value: Time to value drives a focus on business outcomes, ensuring that each component of a solution works towards the business need and can be clearly measured.

Conclusion

Overall, the principles are designed to provide a consistent foundation, ensuring a clear direction for all IT employees when buying or building new technologies.

It is important to note that 100% adherence to the principles is not an expected outcome, knowing that many legacy technologies will fail to comply. However, leveraging the principles proactively as part of design decisions can help to highlight relative strengths and identify where you will incur technical debt.

In a future article, I will provide a more detailed description of the positioning and patterns, which complement the principles, directly supporting the architects and solution engineers.