O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 67. Understand the Impact of Change

Doug Crawford manages a team of middleware developers for a telecommunications company in South Africa. He spent the last 10 years fitting square pegs into round holes, and has been intimately involved on application integration projects in a range of industries: advertising, corporate banking, insurance, and education.

Doug Crawford
image with no caption

A GOOD ARCHITECT REDUCES COMPLEXITY TO A MINIMUM and can design a solution whose abstractions provide solid foundations to build upon, but are pragmatic enough to weather change.

The great architect understands the impact of change—not just in isolated software modules, but also between people and between systems.

Change can manifest in a variety of forms:

  • Functional requirements change

  • Scalability needs evolve

  • System interfaces are modified

  • People in the team come and go

  • And the list goes on...

The breadth and complexity of change in a software project is impossible to fathom upfront, and it's a fruitless task trying to accommodate every potential bump before it happens. But the architect can play a crucial role in determining whether the bumps in the road make or break a project.

The architect's role is not necessarily to manage change, but rather to ensure that change is manageable.

Take, for example, a highly distributed solution that spans many applications and relies on a variety of middleware to glue the pieces ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required