My position on architecture is different from most peoples’. My view works really well at scale (much better than the traditional view, in my experience), but it is very different.
I start with one traditional definition of architecture: any decision that would be costly to change. However, I also know that I (and those on my teams) learn quickly. Every problem that I found difficult at some point has later been found to be easy…once we learned more. This gets me to my final definition.
Architecture is any decision you make that you are not yet smart enough to be able to change on a whim.
The best large systems have no architecture, under my definition, at all. Continue reading “Architecture – Scaling Design”