Rebecca Herald’s recent post “Are you Prepared for the Unexpected” got me thinking about an architecture seminar I gave last month in Mexico. I was describing some of the values of architecture, including preparing for the future. Someone from the audience asked “How can we prepare for changes when we don’t know what they will be?” Certainly a fair question.
The answer (or at least my answer) is architecture. One of the most fundamental principles of architecture is separation of concerns. What this means is that we identify things that should be independent, figure out how to separate them, and create an interface to formalize the isolation. Potential or likely changes is one of the many criteria we use to identify concerns.
Does this really work? Well, in the mid 1990’s, a client of mine introduced the classic separation of concerns into their architecture; the separation of presentation, from logic, from data. Initially, this was done as part of a new interface for call center representatives. This worked great to solve their immediate problem (and by the way didn’t cost anymore to implement). Then, when the disruptive technology of the internet came along in ’97, they were able to not only accommodate it, but to take advantage of the disruption (basically, just a different presentation layer) and beat their competition by as much as 12 months with new capabilities. They’re still ahead by the way.
So, I can’t help it. I’m an architect and I’ll continue to promote the benefits of an architectural approach over short term thinking in this blog and elsewhere. Why? Because…nobody expects the Spanish Inquisition.