There are a couple of “standard spiels” I have been giving my engineers for decades at this point. It’s about time I wrote them down and made them more widely accessible. This is the first of them!
S everal years ago, I was in an engineering meeting where we were trying to organize our system. We realized that the system had three natural layers in it — and in the months and years that followed, we realized that this three-layer partitioning wasn’t just good for the one project, it was an extremely useful language for talking about engineering systems in general. Not only does it give names to things, but it lets us talk about their possible relationships, identify common problems, and identify common solutions. In retrospect, it’s been one of the most powerful engineering architecture tools I’ve found during my career.
Today I’d like to share it with you: first the basic idea, then how things work out when everything is going well, and finally the four most common problems and how to get out of them.