The essence of architectural work - Part 6
In the previous article, we introduced the concept of the 4E framework and explored the first two "E" components. Today, we will delve into the remaining two "E" elements to complete the framework. The third "E", called Evaluate, involves assessing the trade-offs of various solution options. This requires identifying both the advantages and disadvantages associated with each option.
It is crucial to acknowledge that there are typically multiple viable architectures, and exploring more than one solution can lead to a clearer understanding of their respective pros and cons. Remember, the goal is to determine the most suitable solution overall, rather than striving for perfection in every aspect. This evaluation process is essential as it directly contributes to establishing the "Why" and adhering to the first principle of architectural work.
It also serves as a prerequisite for making informed decisions. To conduct a thorough evaluation, it is necessary to consider the perspectives of all relevant stakeholder groups. What may be important for one stakeholder could be of little concern to another, and vice versa. Balancing these differing perspectives is a key aspect of the evaluation process.
Once we have completed the evaluation phase, we are well-equipped to move on to the next "E" component: Execute. The Execute stage builds upon the insights gained from the Evaluate step, as it relies on a solid understanding of the trade-offs involved in each solution option. With this knowledge, we can better support other stakeholders in making sound decisions.
However, there remains an important activity that has been overlooked thus far. This leads us to the second "E": Examine. Examine is all about understanding the problem space holistically. It is the most critical and often neglected activity in architectural work. Without a comprehensive understanding of the problem, our efforts are misguided and lack context.
We risk acting in the wrong direction or outside the established constraints. In other words, we would be "shooting in the dark" with our architectural endeavors. A common mistake is to rely solely on personal opinions or hastily defined architectures without proper requirements. This approach is unwise both in terms of creating meaningful architectures and in terms of professional work practices.
To ensure a reasoned architectural approach, it is imperative to invest sufficient time in Exploring the problem space. This exploration should result in a diverse set of viable architectural options, enabling us to assess them effectively. While some may argue for Big Design Up Front (BDUF), it is essential to remember that the relationship between the activities is causal, not linear.
There are various ways to address these dependencies, which we will discuss in greater detail in subsequent articles. Understanding the problem is not a trivial task and requires a significant investment of effort. Architects often mistakenly believe that they are not responsible for gathering the necessary information. In certain settings, other roles may be designated to collect this data.
However, for an architect to excel, they must actively gather the required information themselves. This may involve conducting workshops, interviews, analyzing existing documents, and examining code. The goal is to build a comprehensive picture of the problem space. It is crucial to note that this information gathering is not about BDUF, but rather about equipping ourselves with the necessary knowledge before making architectural decisions.
By following the four essential activities outlined in the 4E framework - Evaluate, Execute, and Examine - we can approach architectural work with a structured and thoughtful methodology. These activities foster a holistic understanding of the problem, facilitate informed decision-making, and ultimately lead to the creation of robust and impactful architectures.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.