One Step Forward and One Step Back

The ArchitectAnother section of the Fredrick Brook’s The Mythical Man Month seems to resonate with software development today:

“Lehman and Belady have studied the history of successive releases in a large operating system. They find that the total number of modules increases linearly with release number, but that the number of modules affected increases exponentially with the release number. All repairs tend to destroy the structure, to increase the entropy and disorder of the system. Less and less effort is spent on fixing original design flaws; more and more is spent of fixing flaws introduced by earlier fixes. As time passes, the system becomes less and less well-ordered. Sooner or later the fixing ceases to gain any ground. Each forward step is matched by a backward one. Although in principle usable forever, the system has worn out as a base for progress. Furthermore, machines change, configurations change, and user requirements change, so the system is not in fact usable forever. A brand-new from-the-groud-up redesign is necessary…”

“Things are always at their best in the beginning” – Pascal.

“That is the key to history. Terrific energy is expended – civilizations are built up – excellent institutions devised; but each time something goes wrong. Some fatal flaw always brings the selfish and cruel people to the top, and then it all slides back into misery and ruin. In fact, the machine conks. It seems to start up all right and runs a few yards, and then it breaks down” – C. S. Lewis

Maybe we are meant to throw our original ideas away and pave the road for its successor? Its not a failure, its just the next step. When we implement a project, we do the best we can with the tools and knowledge we have at our disposal. But at some point, the original project becomes so outdated because of changing functionality, or demands that its time to start over.

I would love to see us make progress on the next iteration of our project with all of the knowledge we have garnered from the sins of our current Portal. We could make something truly viable and revolutionary for its constituents. Its just a matter of time and energy. Lately, it seems that the mindset is to continue monkey-patching our current system and pray it helps. I am a firm believer that if something is broken enough, its just time to move on. We can only be as good as the limitations that are imposed upon us allow.



  1. Johnathon says:

    First off, it’s about time I had some new content to read on this website. It has been almost a month. I like this post. I’ve never actually read The Mythical Man Month, but from the quote, I can see it’s something that would be quite interesting to peruse.

    I can’t help but agree with your thinking here. It’s human nature to patch and patch and never really ‘innovate’ – ‘as long as it ain’t broken, don’t fix it’ is the mentality of the day, especially in computer science. We have some systems that are probably comparable to your Portal in our office too, so I can definitely relate.


  2. John says:

    I have to say that this is a double edged sword. On the one hand you have a production system that is required for everyone at work. It has it’s flaws and may be broken, but it is a production live system. To not patch it and have it running would give no credibility to any future versions in the minds of the users. To create disloyalty for your project is easy, but repairing that image is an uphill struggle.

    Now that all of that is said, I have to agree with you. Ditch the beast and move on. He is too slow and temperamental.


  3. Ben Simpson says:

    My God – comments again! Is it a sign of the end times?

    @Johnathon I initially refused to read the Mythical Man Month because I associated it with the shit that was the rest of our System Analysis and Design course. It is an interesting read (though a little outdated now – a whole chapter talked about the space requirement for their module needing to stay under 120KB)

    @John I think the solution here is to get the vendor to step up to the support plate, or us drop the idea of a Portal until the replacement is ready. You are right that running a half broken system for another year is going to be damaging to our reputation. Its probably hurt our image already more than we like to think…


Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.