Another 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.