24 ms·
That's actually a fairly well-known thing. Look for "Second System Effect" (See "Mythical Man Month"). Basically, v1 sort of gets the features working, but has
by groby_b 14y ago
That's actually a fairly well-known thing. Look for "Second System Effect" (See "Mythical Man Month").
Basically, v1 sort of gets the features working, but has lots of work-arounds. v2 is trying to solve all the issues you got wrong in v1, and wants to be the most beautifully architected solution.
As a result, it's almost always completely over-engineered and in danger of collapsing under its own feature weight.
v3 is the one that gets it right.
- charlieflowers 14y agoI have heard of that (and also, unfortunately, experienced it), but that is not what I was talking about. The second-system effect is a product of naiveté. I've made that mistake more than once, but I believe I know better than it now. But this practice of rebuilding from scratch I'm describing is not that. It is more a matter of practicing craftsmanship. It's like a sculptor who sculpts a wolf, sees its good and bad, then gets the exact same size block of wood and sculpts it again -- but differently. And again. Not out of naiveté, but out of a patient determination to get better.
- SatvikBeri 14y agoI used to do the exact same thing in Math classes. Iterate on proofs, until I got the perfect one. It vastly enhanced my understanding and gave me these really pretty proofs to look at! In one class where I was especially obsessed, my (rather famous in the field) professor told me I understood the subject better than he did. That was pretty awesome.
- charlieflowers 14y agoThat is what I am talking about. Thank you for supplying another example that helps articulate it.
- groby_b 14y ago"second system effect" is not naiveté, in my experience. The extent of it might be controlled by experience, but the 2nd one always learns from the first one and overshoots. It's similar to "bracketing" when you fire artillery. You need one in front and one in the back of the target to be able to hit with the third one.
- greenyoda 14y agoBrooks does talk about this topic in "The Mythical Man Month", but this isn't what he calls the "second system effect". The "second system" is the second significant system you build in your career, not a re-write of the first system. Brooks' "second system" was OS/360, written after he had worked on an operating system for an earlier machine.[1] The idea of building a prototype and then re-writing it is what Brooks talks about when he says "plan to throw one [version] away; you will anyhow."[2] [1] https://en.wikipedia.org/wiki/Second-system_effect https://en.wikipedia.org/wiki/Second-system_effect [2] http://www.robelle.com/smugbook/manmonth.html http://www.robelle.com/smugbook/manmonth.html