Architecture Refactoring: The Road Ahead

On September 3, 1967, Sweden made a switch from “left-hand traffic” system to “right-hand traffic” system. Sweden relied primarily on American made cars with left-side drive. Further, other Scandinavian countries (Norway and Finland) used right-side driving. These mismatches led to accidents. Hence Sweden decided to move to “right-hand side driving”.

Continue reading »

Software Architecture Refactoring: Case Studies

Written with Hari Kiran. What is software architecture? An interesting and useful definition of architecture is from Grady Booch: “Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change”. The process of creating architecture (and later evolving it) involves making a series

Continue reading »

When to Make Architecture Decisions?

The process of architecting a system (and later evolving it) involves making a series of principal design decisions or architectural decisions. In fact, architecture itself can be defined as a set of principal design decisions: “Architecture is a set of principal design decisions about a software system” – Richard N.

Continue reading »