Why Your Ambitious Sequel Will Likely Fail
Click each system to see how complexity evolves:
The architect knows they don't fully understand the problem yet. Fear of failure leads to restraint—only essential features make it in. Ideas get saved in a mental "next time" list. The result is often spare, clean, and surprisingly successful.
This second is the most dangerous system a man ever designs. The general tendency is to over-design the second system, using all the ideas and frills that were cautiously sidetracked on the first one.
Experience the second system effect yourself! Add features until you're ready to ship:
Humble. Cautious. Every feature is questioned. "Do we really need this?" The lack of confidence becomes a superpower—only the essential survives.
Victory! But during development, the architect accumulated a mental wishlist: "Next time, we'll add X, Y, Z..." These ideas feel validated by success.
Confidence is high. The floodgates open. Every deferred feature, every "wouldn't it be cool if..." gets added. Scope explodes. Complexity compounds exponentially.
Late. Over budget. Buggy. Users confused by features they never asked for. The second system collapses under its own weight—or limps to release, unloved.
First: IBM 1410/7010
Second: OS/360
Brooks' own example. OS/360 was late, over budget, memory-hungry, and initially buggy. The team's previous successes bred dangerous overconfidence.
First: Windows XP
Second: Windows Vista
Crammed with features, resource-heavy, poor compatibility. Microsoft learned: Windows 7 was a focused, refined "third system."
First: Netscape Navigator
Second: Netscape 6 (complete rewrite)
The ambitious rewrite took 3 years. By release, Internet Explorer dominated. The perfect is the enemy of the shipped.
First: Duke Nukem 3D (1996)
Second: Duke Nukem Forever
15 years in development hell. Constant engine rewrites to add "the latest" features. Finally shipped to mediocre reviews.
The second system effect is a perfect storm of cognitive biases:
Your product shipped successfully!