Here are some laws of IT based on years of observation. Some of these have very real and practical consequences.
1. IT infrastructure decays over time if left to itself – a sort of entropy sets in. This is sort of counterintuitive insofar as people know enough about troubleshooting a problem to ask “what changed.” Sometimes the answer is nothing at all, or nothing you would ever think of. For example, I once had an application server start to fail when “nothing had changed.” The cause, found after mny hairs pulled out? The log file it wrote to tried to exceed 2 GB on a 32-bit system. It couldn’t write to its log any longer and the app server just froze up.
1.1) Corollary to 1. Neglect works great in the short term, but the way to go is judicious maintenance! Neglect leads to a 2 GB log in the first place!
2. Things will always go wrong at some point. It will usually not be for the reason you suspect.
2.1 Corollary to 2. Effective monitoring is critical. If you build something critical, build a means to monitor it. Monitor foundational components as well so that when you need it, you can see what all was working when one thing went south.
3. Software support from large vendors is abysmal. Most small and mid-sized vendors are no better. The premise of almost all support I’ve encountered is The customer did something wrong. The most relevant metric is How quickly can the case be closed? If in that rare case the customer can prove fault by the vendor, Justify doing Absolutely Nothing about it for as Long as Possible. And NEVER do somthing immediately useful like let the customer speak to a software developer who actually knows what he/she is talking about.
3.1 Corollary to 3. An IT Professional quickly develops all the skills possessed by front-line engineering who responds to support calls, and can solve most of the problems on his/her own, our of necessity, since the assistance given won’t take the problem further anyways.
Laws are universal. The following are key observations that are generally true.
1. The more an IT person thinks about a problem, the better the solution. Better means cheaper, faster, more elegant, even moving the category from impossible to the possible (and actually this happens frequently believe it or not).
2. Even a brilliant IT professional won’t think up all solutions alone. Creative problem solving occurs best when there’s a couple brilliant IT professionals bouncing ideas off each other, with a few others at the ready to contribute for specialist opinions.
3. How to estimate the amount of time for an IT project:
2 x (extimate from experienced IT professional) + constant
If many groups and external partners are involved, the multiplier should be increased to 3 or even 4.
This sounds facetious but it is not. It is the unfortunate truth of the nature of our work and the unpredictability of the showstopper moments which always occur.
4. All a seasoned IT person needs to decide the impossible is possible is to hear that someone else is doing it! The creative juices start flowing at that point. Maybe it’s a competitive thing at that point.
5. Large IT organizations contain a large number of people who actually know surprisingly little about IT. Small IT organizations are also not immune from this.