
In the ever-evolving landscape of technology, the necessity for adaptability within architectural frameworks becomes increasingly critical. At WebExpo 2024, Robin Pokorný delivered an enlightening presentation on “Evolutionary architecture: Agile meets software design,” addressing the nuanced relationship between agile methodologies and architectural integrity.

The challenge of agile methodology in architecture
At the outset of his talk, Robin addressed the dichotomy inherent in agile methodologies and traditional architectural practices. He posed an intriguing question to the audience: “Who here works in an organisation that is agile or claims to be agile, or is aspiring to be agile?” This inquiry underscored the widespread adoption of agile principles. However, Robin revealed the tension that arises when attempting to integrate architecture into agile frameworks. He articulated this struggle succinctly: “Agile, which should be objective, is responding to change over following a plan, while architecture is often described by stuff that’s how to change.”
Robin illustrated this complexity through relatable analogies. Driving, for instance, exemplified agility. Navigating the road. Adapting to dynamic conditions. In contrast, architecture resembled building the highway, a methodical process requiring extensive planning and resources. “You go to the plan, you draw it, you build it for enormous money. And then it’s there,” he explained.

Architectural choices in an unpredictable landscape
As Robin got deeper into the intricacies of architectural design, he drew attention to the importance of flexibility and extensibility in architecture. He emphasised the challenges of predicting technological shifts, such as the rise of containerisation technologies like Docker. “Imagine that 20, 30 years ago, you had an idea, you came to your IT guys and said, I have this great architecture, I call it microservices and I need 50 servers, 50 always licenses and I need like a lot of networking between them and they would, you know, like, scream at you and it’s like, ‘that’s not possible, so expensive!’” he remarked.
The discussion highlighted the inevitable architectural decisions organisations must make that can yield long-term consequences. While leaning towards ‘last-minute’ architectural choices may appear agile, Robin warned that such impulsive decisions could lead to complications down the line. He noted, “Even with that, you still make a lot of architectural choices that can bite you later on.”
The essence of evolutionary architecture
The introduction of evolutionary architecture, as described in the book “Building Evolutionary Architectures” by Neal Ford, Dr. Rebecca Parsons, and Patrick Kua, formed the crux of Robin’s argument. He defined evolutionary architecture as one that supports “guided incremental change as a first principle across multiple dimensions.” Robin elaborated that this approach allows for continuous adjustments and strategies to address unpredictability while minimising risk.

He introduced the concept of fitness functions, crucial indicators that measure how closely a design aligns with set objectives. These functions, akin to unit tests but applicable to architectural decisions, allow organisations to assure consistency in quality and performance. “It can be seen as a fitness function, that P99 response time has to be below 500 milliseconds,” he stated, presenting a concrete example of how these measurable metrics can guide architectural choices.
Making architecture actionable
Equipped with these concepts, Robin expressed the need for architects not merely to document structures but to ensure that these practices become ingrained in processes through actionable metrics. He explained, “You can solve almost any architecture problem by one more layer of indirection,” but “these extra abstraction accumulates… and creates immense complexity.”
Robin highlighted the importance of discussing architectural characteristics with stakeholders and decision-makers, elaborating that prioritisation and clarity regarding architectural outcomes are imperative. He noted, “What is the priority? This is the discussion where you really define what is important.”
The comprehensive view of complexity
Robin also encouraged understanding systems within broader contexts, as he introduced the Cynefin Framework by Dave Snowden, which categorises problems into complex, complicated, clear, chaotic, and confused domains. He stressed that addressing the complexities of social technical systems is essential for successful architectural practices. “We are dealing with complex systems… because there are social technical systems,” he mentioned, pointing towards the dynamic interplay of technology and human factors.

As he wrapped up his insights, he reiterated that a successful evolutionary architecture fosters incremental change, guided by fitness functions, while remaining aligned with overarching objectives. “Outcomes, fitness functions, forget,” he concludes, encapsulating the need for architects to remember the bigger picture while refining their approaches.
For those keen to explore Robin Pokorný’s enlightening exposition on evolutionary architecture and its potential to redefine agile practices, check out the video including the slides from the presentation below.