About the Declaration of (In)dependence, Tightly Coupled Architectures and When not to use Swiss-Army-Knives
Who doesn’t know about the famous Declaration of Independence? Stolen by Nicolas Cage in the movie National Treasure. What is the relation with this post? And why did I title it the declaration of (In)dependence? It’s because I want to make clear that traditional (ICT) architectural choices we still design nowadays in fact have very little to do with independence but everything with dependence! Many of these architectures are in fact tightly coupled which makes it very difficult for customers of these architectures to change them. There just are too much dependencies built in. Many of the architectures behave as if they were swiss-army-knives. Overloaded with tons of possible future features. Because they were designed to fit almost any (future) scenario they have become needlessly complex. The more complex, the more unstable such an architecture becomes over time. Because all of the swiss-army-knive individual components are “glued” together using a common backbone (platform infrastructure) you cannot easily get rid of it. It seems the only sensible way of overcoming this needless complexity, overprovisioning, inflexibility and overloading of features is by building partial, simpler, fit-for-purpose architectures around it.