SECRET OF CSS

Evolutionary Architecture: Supporting Constant Change | by Philip Starritt | Jun, 2022


Through continuous improvement, technology adoption, and not being complacent

0*2o6EMCKDcaMTOOjH

The first principle of an evolutionary architecture is to enable incremental change in an architecture over time — Thoughtworks.

To support constant change, architecture and assumptions must be continuously challenged. Repeatedly building on top of a working solution will eventually produce an unexpected result. Then there are scaling issues.

Moving forward sometimes means changing an architecture that was once the best solution.

In reality, sometimes the reflective solution is unattainable.

This can be due to time-dependent factors such as a skills shortage, priorities, or costs. And that is okay, provided the reflective architecture is known. The team can then plan to correct the temporary impulsive solution.

This can be due to time-dependent factors such as a skills shortage, priorities, or costs. And that is okay, provided the reflective architecture is known. The team can then plan to correct the temporary impulsive solution.

The world is in a state of rapid development. Markets are evolving and sectors are being disrupted. Static organizations that only fix problems will find themselves in their competitor’s shadows.

Proactive organizations rethink and evolve working processes. As they are aware that the current working solution may soon be outdated.

The more you experiment, innovate, and essentially fix the things that aren’t yet broken, the more you will find yourself on the cutting edge. The way you find yourself here, on the cutting edge of innovation, is by adopting the mindset that anything can be rethought, worked differently, and fixed. “If it ain’t broke, don’t fix it” is rooted in ignorance. If we dearly followed these words, we’d still be cavemen. If it aint broke, break it.

0*yy sODpgPYOYBt6W

Technologists have the responsibility to timely identify, filter, and adopt game-changing technology. This has become ever more challenging, due to the number of frameworks, languages, and services available. Navigating the technology landscape is a critical skill.

Do you adopt the latest and greatest, or value a stable framework? Or balance the best of both worlds?

0*fn2uWgjsHwCbAo9Y
Source: Synk JVM Ecosystem Report & Stackoverflow

When prior technology choices have worked well, it is natural to become complacent. This often leads to a feeling of assurance. As a result, these technologies are applied to new components.

This dangerous pattern limits the ability to identify better-suited alternatives. We must challenge our successful choices to ensure they are still the best going forward.

But, there are some clear winners which continue to grow, without any signs of slowing down.

0*DTNU0VBy IbRkBgj
Source: Datadog — Container Report — Kubernetes
1*sBfPTr3YfH6EJO0uITmd3w
Source: Datadog — The state of serverless



News Credit

%d bloggers like this: