In today’s business landscape, effective transformation is critical for enterprises to stay competitive. By definition, transformation happens over time.
Enterprises (or some subsection thereof) have a current state which needs to change for the better. That change – however small or large – results in a different future state. With the widespread adoption of Agile working practices and DevOps-based continuous delivery, these changes can be very small and very frequent.
With ever-accelerating changes in the market and the imperative for enterprises to become more adaptive, the desired future state changes more frequently too. In other words, as soon as you start travelling from current state A to desired future state B, B has already change to a new desired future state C.
On top of that, A, B, and C are probably not enterprise-wide either. This means there are multiple future states at different levels of detail and scope, which are all constantly evolving in parallel. There are also interdependencies between these future states.
To add to the complexity, digitization of the enterprise allows for real-time operational data and KPIs to inform architectural decision-making. For example, the number of incidents of a service, the capacity of an API, and the vulnerability of a technology component may all contribute to architectural decision-making.
Putting all this together, it’s not hard to see why traditional architecture methods no longer suffice. The days of “boiling the ocean” (modeling the entire enterprise in the hopes of answering any question that arises) are long gone. Modeling all current and future states, as well as roadmaps, and manually keeping them all up to date with all the small, frequent changes is simply too much overhead. This is especially true if you need to keep a disparate community of stakeholders informed of the bits in which they are interested in a timely manner.
The challenge for modern architecture, therefore, is how to manage a “stateful” architecture, where you can reliably keep track of the current and future states of the architecture with all this change going on in multiple parallel streams.
A lean approach to architecture – often described as “Just Enough, Just in Time” – is essential to minimize time-to-value and to deliver frequent, iterative return on investment in EA.
Architecture frameworks have traditionally focused on sets of stakeholders and the viewpoints they need at different levels of detail, covering all of the (traditional) architectural domains. With more modern lean approaches to architecture, we don’t want to cover all the domains across the entire organization (“boiling the ocean”), but rather take an adaptive approach that enables specific stakeholders to get the specific views they need in real time. These organizations also need an architecture solution that is flexible enough to accommodate new stakeholders and new views as they are needed.
Fortunately, the world of social media has been grappling with similar challenges for some time and has come up with some pretty cool technology to deal with it.
LinkedIn needed to deal with a huge number of incoming user updates (“writes”) and a huge number of users consuming updates about connections and topics they follow (“reads”). The problem of maintaining a current state of all the data that was valid for everyone forced LinkedIn to think differently about how to keep things in sync.
They came up with two key innovations that solved their problem and enabled a whole new approach to system architecture:
In changing the focus from the current state of the data set to focusing on all the immutable changes in the data set, the very concept of change becomes became central to the system.
You can build as many views as you like for as many purposes as you need, using any technology that best fits the purpose, such as a document-oriented database for search, a graph database for network analysis, or a good old relational database for reporting and pivot table analysis. Think of it as unbundling the database or, in EA terms, unbundling the architecture.
This is why we are taking a radical new approach to the architecture of architecture management.
At BiZZdesign, we have built our new-generation product around the event stream in order to enable an adaptive, flexible, and powerful platform that can adapt faster than traditional systems.
This approach, based on modern, cutting-edge technology, allows us to turn the database inside-out and change our rate of innovation in new functionality by orders of magnitude. The concept of event streams has wide applicability, from integration with external data sources to personalization of news feeds. The paradigm shift is from request-response to subscribe-notify. This is a mind-shift, and has radically changed our application development approach.
This offers a number of benefits to our customers, including:
This is why you will continue to see new functionality added to the BiZZdesign platform at an ever-increasing rate. Stay tuned…