"I’m as mad as hell, and I’m not going to take this anymore!"
–Howard Beale, Network (1976)
Well, I think that captures the essence of my pain.. Sorry, but I’m really at a loss to explain the sudden – but measurable – drop in the quality of products (notably software) in the past twelve months.
You might have noticed a number of posts recently about Madden NFL 2008 by Electronic Arts. Normally this game in the past (whilst not entirely bug free) has lived up to a fairly solid reputation yet this year the game has fallen down in a number of key areas some of which have been so blatent that you have to wonder if anybody at EA actually played the game at all!
Microsoft’s Windows Vista operating system has, out of the box, failed to deliver. There is talk on the ether(net) that perhaps Microsoft should scrap it and move on. I don’t support that sentiment, but you kind of get the feeling that the industry is dropping the ball in a number of areas, especially quality assurance. Just recently I experienced a sneaky update to my Windows Vista machine that rendered the CPU at full throttle without any visual interaction with the user. When did this become an acceptible practice?
What can *we* do about it? As consumers, be wary with your dollar. As software engineers, we need to step up and voice concern when we feel that the quality bar has dropped too far. It’s time that (big) business realised that to make a quality product it takes time, money and patience.
Building good software is like constructing a building. It takes architects, labourers, electricians, quantity surveyors, project managers, engineers, surveyors and a host of other folk. Most construction projects don’t skip safety reviews, risk reviews and few skimp on the essentials, like frameworks and blue prints. Why do we (as an industry) allow this to go unchecked in our own backyard?
Is it because, as an industry, we don’t self-regulate? If something isn’t built here, it is outsourced to somewhere cheaper where mistakes will be made, but the bottom line looks better? What will it take for people to understand the value of correct diligence in building software?