From 99b1ae896cd216a37e6c0ac22851e3cfca5bf103 Mon Sep 17 00:00:00 2001 From: Robert Barbour Date: Mon, 18 May 2026 14:56:58 +0100 Subject: [PATCH 1/2] feat: add Second-System Effect --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index 214a624..cab3e45 100644 --- a/README.md +++ b/README.md @@ -760,6 +760,31 @@ See also: https://www.amazon.sg/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 +### The Second-System Effect + +[The Second-System Effect on Wikipedia](https://en.wikipedia.org/wiki/Second-system_effect) + +[The Second-System Effect in _The Mythical Man-Month_](https://pages.cs.wisc.edu/~param/quotes/man-month.html) + +> The second is the most dangerous system a man ever designs. +> +> (Frederick P. Brooks Jr.) + +The Second-System Effect describes the tendency for a successful first system to be followed by an over-engineered or bloated second system. Frederick P. Brooks Jr. introduced the phrase in _The Mythical Man-Month_, where he argued that a first system is often built conservatively because its designers are still learning and proceed with restraint. + +After that initial success, deferred ideas and increased confidence can make the second system more ambitious. This is relevant to rewrites, major version 2 projects and platform rebuilds: a replacement system can be useful when the first version has taught the team what the real problem is, but it can also become harder to build, understand and maintain if it attempts to solve too many speculative future needs at once. + +See also: + +- [Brooks' Law](#brooks-law) +- [Gall's Law](#galls-law) +- [The KISS principle](#the-kiss-principle) +- [YAGNI](#yagni) + +Real-world examples: + +- [OS/360](https://en.wikipedia.org/wiki/OS/360) - Brooks used IBM's OS/360 as a key example of the Second-System Effect in _The Mythical Man-Month_, contrasting its ambitious scope with earlier, simpler IBM operating systems. + ### The Spotify Model [The Spotify Model on Spotify Labs](https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/) From 5dbf732618fae1a578a04e007d92f7db058663d7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 05:48:15 +0000 Subject: [PATCH 2/2] chore(main): release 0.6.0 --- .github/CHANGELOG.md | 8 ++++++++ .github/release-please-manifest.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index b2e7134..f130547 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [0.6.0](https://github.com/dwmkerr/hacker-laws/compare/v0.5.0...v0.6.0) (2026-05-19) + + +### Features + +* add Second-System Effect ([040453d](https://github.com/dwmkerr/hacker-laws/commit/040453d1f7b5c34ffa5229384039974052d6a28c)) +* add Second-System Effect ([99b1ae8](https://github.com/dwmkerr/hacker-laws/commit/99b1ae896cd216a37e6c0ac22851e3cfca5bf103)) + ## [0.5.0](https://github.com/dwmkerr/hacker-laws/compare/v0.4.0...v0.5.0) (2026-02-06) diff --git a/.github/release-please-manifest.json b/.github/release-please-manifest.json index f1c1e58..bcd0522 100644 --- a/.github/release-please-manifest.json +++ b/.github/release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.5.0" + ".": "0.6.0" }