Note that there are some explanatory texts on larger screens.

plurals
  1. POThe Three Systems of Man - How do you build a Third System?
    primarykey
    data
    text
    <p>I've been thinking about the story of the Three Systems of Man from the book <a href="http://rads.stackoverflow.com/amzn/click/1555581234" rel="noreferrer">The UNIX Philosophy</a>. For those of you who aren't familiar, it goes something like this:</p> <ul> <li>The First System of Man is the one he builds when his back is against the wall. It's klugey, hackish, and doesn't it lend itself to new features.</li> <li>The Second System is designed by a team of "experts" who insist they're going to do it the Right Way this time. The resulting system is slow, bloated, late to ship, and over budget.</li> <li>The Third System is built by people who have been burned one too many times by the second system. It is robust, scalable, and maintainable.</li> </ul> <p>Obviously the goal in software development is to write The Third System. The author's premise is that you cannot do so without first writing the other two systems. From that we get concepts like "Plan to throw one away" from <a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month" rel="noreferrer">The Mythical Man-Month</a>. In my limited software engineering career, I've worked on one second system and two first systems that both became The System due to inertia. It feels like there's never enough time or budget to do it right, but always plenty of time and money to do it over.</p> <p>Has anyone here ever built or maintained a Third System? What steps did you take to get there? Can you really "plan to throw one away" in practice?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload