While in Austin, Texas, working on a PKI project I decided to compose a rant about bad software. I don’t normally get annoyed. But, it seems over the past couple of months I have had to deal with an increasing number of poorly written applications. In some cases these applications were so badly developed that it was just purely mind boggling they were even released. Up until now, I’ve been putting up with it. But, after hearing a friend of mine tell the story of his adventures with a defect management application. I was nearly rolling on the floor in laughter and thought it might be an appropriate time to write about some of the items that really drive IT Pros insane with bad software. So, after a furious few minutes of thought (yeah, my head sure did hurt afterwards). I came up with the following list of items that annoy me the most: Note: I’m not trying to start a war between IT Pros and Software Developers. I like Software Developers, and I have many that are my friends. Instead, I’m merely trying to relay my frustration with what has been a status quo for way too long in the name of quickly cranking out bad code. Please, follow standards… This is a classic complaint of mine. If an application is going to utilize an existing well known standard (LDAP, DNS, X.509, XML, SMTP, … all the RFCs). Then by all means it should attempt to follow that standard. Standards are developed for a reason. One of the most important of these reasons is that a standard allows you to “standardize” functionality across software. Instead, developers of a bad application tend to bastardize a standard in the name of:
- Re-inventing a standard that already exists.
- Implementing a standard that exists without really understanding it.
- Making “improvements” on a standard.
Please stop… Your application is not unique. At some point, “we IT Pros” need to integrate your application into our environments. If your application doesn’t play well within our environments we pay the price. Please, handle your errors gracefully… Almost as common as a Windows blue screen a bad application more than often just can’t deal with errors in a graceful manner. Instead, if any little problem is encountered the resulting error causes an application or task you are performing to crash in some horrible fashion. For an IT Pro this type of behavior is just plain maddening when taking my next complaint into consideration. Please, give me an error message that makes sense… “Error Unknown” or “Error = 0x0101” More and more it seems like software is written to either use a default error trap for all errors or some cryptic and complex internal coding system for the messages. Over utilizing the first method is just laziness in my opinion. Yes, I realize that there is no feasible method for understanding every single reason for an error to occur. But, 99.99999% of errors shouldn’t fall into this trap. With the second error handling method I have mixed feelings. On one hand this method is ok, provided the meaning of the coding system is well documented and I can quickly access that documentation without having to contact a support department or pure over thousands of pages of documentation. But, I would be living in a utopia if it didn’t typically take considerable effort to decrypt each software vendor’s error handling classification system. Please, give documentation that is valid and makes sense… This now brings me to my biggest pet peeve with bad software, the documentation or lack of documentation. Why is it that when documentation is provided. That documentation tends to read like it has been written by aliens? Granted, it might be really cool to meet an alien and learn their language. But, at this current point in time I don’t speak alien and trying to decipher alien at 2:00 AM while also trying to figure out why a CRM application upgrade failed is not very fun. Putting the alien jokes aside. Another complaint I have with documentation is that tends to be incorrect. If I have to run a command to perform some action and the documentation fails to mention the correct parameters and arguments that are needed in order to run the command successfully. Or better yet, provides the incorrect parameters. Then you tend to always get a sinking feeling in your stomach while further relying on the very same documentation to help you complete all the other management tasks associated with that application. Ok, this is the end of my rant. As I stated before, my goal was merely to shine some light on the frustration that bad software brings to into my “IT” life. Hopefully, I have done that. Please feel free to share your stories about how bad software has affected your “IT” life. For all of today’s Microsoft news, visit Microsoft Subnet.




