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 »