Architecture – Scaling Design

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”

Architecture That Doesn’t Make Arlo Sad

Layers make Arlo a Sad Panda. They result from, and reinforce, thinking of the product in terms of technical components. They make it hard to vertical-slice the problem.

So what pattern is the architectural correlate for planning and building in vertical slices? Continue reading “Architecture That Doesn’t Make Arlo Sad”