I was about to introduce this, my first ever real blog but in simply attempting to type "Aloha!" I have made a discovery! I have discovered that the # key on my keyboard is located on the right of my right shift key. And that means that every other time I try to use the shift key I end up hitting the # key as well as, or instead of, shift. So that "Aloha" came out "Aloha#1". Oddly I'm not sure which one I prefer more. In the spirit of keyboard/user error therefore I would like to wish you all an Aloha#2.
So why can't IT be better? Well, hell, of course it can be better. But why isn't it? Let's start with software.
Luckily there are loads of very clever and very creative people making amazing and exciting software. Some of the software is so good you might even get to see it or use it. But there is plenty of good software and good ideas that just don't make it, just don't do it in time, sometimes for the best of reasons and sometimes for all the wrong reasons. By all means invest a few of your hard earned cash
The sad news is that there are many more people making bad software than there are people making good software. Why? Because it's just harder to make good software. You have to really make an effort with it. You have to really really try to get it right and make it the best it can be; you have to take care, time and effort to iron out all the bugs in it; you have to write, build and design it so that's it's robust, easy to grow and change; you have to understand what your users want, how they work, which features make sense and which will never get used; and you have to make it a memorable, compelling and fulfilling experience. Are you prepared to invest the time, energy and commitment you need to do that?
Maybe you are and if so, then fantastic, you have a real chance of making great software. But maybe you're not prepared to. Or maybe the guy who pays your salary isn't prepared to. Or maybe the lady sponsoring the project doesn't want the costs too high. And so, inevitably, corners get cut. And for every corner you cut you pay the price in terms of the quality of your software. Cut too many corners and the square you set out to build ends up a circle. And what happens when you build bad software? The guy with the budget might thank you - at first. The users might be glad their software got to them real quick - at first. Your boss might give you a big pat on the back and throw you a party. But don't get too used to the accolades. Because that baby is going to fail. It'll fall flat on its face. It won't quite do what you intended. It won't quite be what your users wanted. It will have bugs. It will fall over. It will cause untold problems for your support teams. You will have to patch it. Then you will have to do a whole new release. At about that point you'll discover that you're going to need to totally re-write it because what you did the first time is horribly compromised. So now you're starting again. Which means now you have a choice. Will you cut all those corners this time?
Incredibly many people seem to do exactly that, falling repeatedly into the same old mistakes and entering what I'm going to term the Never Ending Cycle of Software Despondency.
Don't do it! Use all powers at your disposal to educate the decision makers around you and prevent your piece of software following so many others down this path. It's like the old truism around software testing, where every minute of testing you do while coding time saves you 100 minutes post release. That applies to every bit of effort that you put into doing all the parts of your software development the right way. Can you convince them? I think you have to try.
Aloha #3

No comments:
Post a Comment