[2/2] Complexity and modularity are two sides of the same coin - Vlad Hononov - ArchDays 2023 (Category Architecture)
Continue. posture Vlad Hononov's report on ArchDays 2023I’ll talk about using the integration model to evaluate the quality of architecture. For evaluation, Vlad suggests using 2 parameter: the distance between the interacting components and the level of this interaction (intrusive coupling, functional coupling, model coupling, contract coupling). We get the relationship between the cost of change and the distance between the components that affect these changes. In order to display the available options, Vlad suggests using the standard approach of consultants with a matrix. 2 on 2where the axes are the distance and strength of the connection. In the end, we're doing it. 4 variant (2 first preferred and last preferred 2which should be avoided)
- High distance, low strength This is a standard loose coupling, when the components are far apart and they use contract coupling.
- Low distance, high strength This is a standard high cohesion when the components are close and the connection between them is strong.
- Low distance, low strength It's a local complexity, where we don't have a connection in the nearby components, and when we change, we have to try to remember why these components are even placed together.)
- High distance, high strength This is a standard story with global complexity, where changes in seemingly unrelated distant components lead to special effects like an explosion in a pasta factory. I attached a visualization of this 2x2 matrix.
The main equation in this approach is
Modularity = Strength Xor Distance The only problem is that this equation is rather a heuristic for engineers, but it has not yet been used to automatically analyze the quality of architecture.
#Software #Architect #SystemDesign #SoftwareArchitecture #Processes #Management