Your cart is currently empty!

From Agile to Radical: system and software architecture
Fixing the architecture as we go may work in pure software systems but fails in systems that include mechanics and electronics.
When I wrote my first book in the 1990s, it was on software architecture. The central tenet at that time was that we had to be careful and intentional about the initial design of the architecture as subsequent changes were considered to be impossibly difficult. So, as a community, we developed techniques to assess architectures, determine the impact of design decisions, predict maintenance costs and so forth.
With the advent of Agile, the focus on software architecture was intentionally removed by the proponents as the notion of upfront architecture design went against the Agile principles of working software every sprint and responding to change in a fast and agile fashion. And lo and behold, we realized that it’s entirely feasible to undo and replace architecture design decisions in systems that have lots of functionality implemented already. Out of this grew the architecture technical debt community and the focus on architecture refactoring as a continuous process for every software-intensive system.