It's a bible story that I learned as a kid growing up in Catholic school. The premise is that Jesus claims that if the Jewish temple would to be torn down, his Father, God would raise it up again in three days.
I don't know if it's because I was raised a Catholic but I think this is a powerful idea that I see to be true in my information technology life and even in the content of this website. As humans, we build systems based on a baseline set of requirements. As time goes by, new requirements come along. We try to patch systems to meet the new requirements. After a while, you have an inefficient system that has been patched several times to meet all the requirements. If you were to recapture all the requirements and rebuild the system, you surely would have a more elegant solution.
The problem is that as humans, we can be slaves to money. Tearing down a system that costs many man hours/dollars to make would be out of the question for most managers. Another teaching in the bible of Jesus says that we can not serve two masters, God and Money. If we change the word God for "Elegant Solution", we see that more often than not, we never get to the elegant solution because we are afraid that it will cost too much to rebiuld something again.
The truth is that there is a point of inefficiency in a system where it costs you more to run the system as it is than to rebuild it.
In your own systems career, have you ever accidentally deleted a lot of code you've written or some documentation you've done? I've found that sometimes when this happens, the rebuilding of the code ends up much better than the original code that I lost. I'm currently working on reporting against a few islands of systems that don't talk to each other very well. It's is taking me forever to get to the right answer for reporting. I'm building some convoluted logic to work around the bad communication between these systems. Unfortunately, there is nothing in place to help determine the costs of rebuilding these systems and human bureacracies as they are move so slow.
Perhaps the next generation of programmers will do it better. It seems programming now is globalized. These above mentioned dinosaur practices will hopefully disappear when there are 20 fold more eyeballs working on the solutions to these issues. I believe this to be so as long as there are a few leaders out there who recognize this as a problem and build out a science for identifying costs or rebuilding new systems in parallel to replace existing systems at the point where they are more costly to run than to replace. An organization that can embrace this attitude will surely outrun 90% of the companies out there today.
I will try to work on embodying this idea in my other life, my open source code writing life and the content of this website. Who knows, I may replace a good deal of content on this site to reflect the whole of the ideas I've documented in this blog over the past year.


