This post is part of a series of posts with my personal notes about the chapters in the book “The mythical man-month” by Frederick P. Brooks. I write these posts as I read through the book, and take notes on the concepts I find more relevant. I do, however, advise reading the book to get the full benefit out of it.
The most dangerous points of our career are the ones when we are, undeservingly, extra self-confident in our knowledge and experience. At that point, we think we know it all about the problem at hand and how to solve it…
But how do we detect those moments and how can we avoid them?
Our first go at doing something is always the least knowledgeable try. When we finally accept it as finished, we look back at it and we see a whole list of things that could have been done better.
When it comes to building a whole system, the same happens. So when we have a second go at building the same, or similar, system again we will have the temptation of doing all the great embellishment ideas that came u to us when looking back at our first try. This will end up in a tendency to over-design the second system, adding to its complexity and building obsolete and unneeded functionality.
After building a system for the second time, we will have learned our lesson and we will be better at keeping the focus on creating a system with the functionality it needs, no more, no less.
This second [system] is the most dangerous system a man ever designs.
The mythical man-month pg. 55
But how do we avoid the second system effect?!
- The Architect needs to be especially aware of the dangers of this second system effect and exert extra self-discipline to avoid functional ornamentation;
- The management must strive to hire an Architect who has at least two systems under his belt.