5 thoughts on “Goldilocks software

  1. This seems true of writing in general—not just code.

    Of course, a lot depends on what you do during the rewrites.

  2. Paul A. Clayton

    “Second over-engineer” sounds reminiscent of Fred Brook’s second system effect. (The Wikipedia article seems to use Eric Raymond’s claim of causation. From what I remember, Brooks attributed it not as “due to inflated expectations” but a desire to put in all the cleverness that came to mind for the first project into the second and not having the experience to show restraint.)

    The second system effect concerned the maturing of the system designer not of the project, but it makes sense that each project could have a similar learning pattern.

  3. I have a similar 3-pass process:

    1. Figure out the hard parts. (Proof of Concept)
    2. Kluge things together and fill in the gaps to make the rest of it work. (Prototype)
    3. Rewrite/refactor before showing it to anyone else. (Rev. 0.1)

    Goldilocks is further down the road for me. My software development maturity level must be regressing. I’m amazed how often I stop at step 2.

  4. there may or may not be a connection, but I have theory that the third edition of textbooks are often the best ( in Calculus I’d cite Thomas and Salas & Hille).

Comments are closed.