There have been numerous reports in the last year of “issues” with Twitter, Facebook, Seesmic and other “web 2.0” sites (I put that term in quotes because I have lots of issues with what it means since I don’t think it means anything – but that’s just me personally). I keep thinking back to the days of the dot com boom where anyone could get a job – even if they didn’t know how to code. And companies were so interested in getting cool new features out that they didn’t realize they didn’t have the basics down.
Basically the problems that we see with these new sites are the same problems we saw in the dot com boom era – unstructured processes, not well understood source code and a lack of quality assurance. Now granted, this isn’t the case everywhere but it isn’t limited to these newer websites either – sites like Google and Microsoft are also prone to errors (for instance, my latest favorite error with Google is Error #102. This is helpfully addressed by this message from Google if you go to look it up:
You’re encountering a known issue with Gmail. Our engineers are currently investigating and working diligently to find a solution.
In the meantime, please try signing in to Gmail through our secured interface, available via https://mail.google.com or by clicking here.
If you continue to experience difficulties, please access your mail from the older version of Gmail by clicking Older Version at the top of any Gmail page, going to http://mail.google.com/mail/?ui=1, or clicking here.
Not very helpful).
Anyway, the issue that I see in all of this is process which provides structure and control. IT organizations which dive headfirst into writing code without thinking of the consequences of not having an adequate structure and processes to support their business are looking for trouble. Some people may disagree with me and say that the “glitches” that I mentioned above are just growing pains of working with new technology. Well, if the technology isn’t ready yet, why is it being used to support $100 million+ size businesses? Doesn’t that seem kind of irresponsible? Wouldn’t you test out new technology before using it on mission critical applications? Or is it just me?
Many people have said that process gets in the way and they point to Agile development as a better way of doing things. I hate to mention it but Agile (what does that word really mean), no matter which methodology you use, is highly structured. And process never gets in the way – unless you have the wrong process. And there-in lies the problem with most IT organizations. They may have process, but it isn’t the right one so no one uses it. Good processes help support and nurish both IT and the business that IT supports. There really is a better way to do things…
Maybe I’m just ranting, but I would like to hear your thoughts.