Pages

Monday, 28 February 2011

No more BS, its time for a revolution!

I'm in the mood for a revolution.

Governments are being toppled every week in Egypt and the Middle East, so what better time to topple some of your own oppressors? The good news is you won't need a few thousand people in support and your opposition doesn't have guns. The bad news is that it's resilient, has support in unlikely places and won't go without a fight. Yes, I'm talking about Bad Software, also known as BS.

It may be software bought of the shelf, a bespoke solution, or something created internally. But regardless of the source, its had it's time. It's slow, cumbersome, it's not doing all the things you need it to, it's buggy, it's annoying - but it's doing just enough to hold on to power. And worse still, its corrupted your colleagues and managers in to thinking it's got a place. When you try and get rid of BS, you'll get responses like

"It's too hard to replace. You just have to get used to it."
"It's done it's job for x years, it's good enough."
"It's not the greatest, but it does function x which we really need."

B.S has infiltrated their way of life and made a home for itself. Colleagues are institutionalized. They will even fight to protect the very cause of their problems. But inevitably, change must come. But you'll need a few things to make it come a little quicker.

1. A better alternative
How will you replace Bad Software? Identifying a problem is easier than producing a solution. Sometimes its only when trying to find a replacement that you truly understand the problem. You'll also have constraints such as budget, time allocated and technical issues. Don't choose something just because it's popular. There's too many finer points to just assume what's popular will work for you. Write down what the product needs to do and work from there.

2. Credibility
You can't go far without credibility. Even if you got a great solution, if people don't believe in you it will be very difficult to get your project off the ground. Building credibility takes time. If you're a new engineer you can do smaller projects to demonstrate your capability. Credibility also helps during the project. When you run into difficulties, people are less likely to assume the project was doomed to begin with and will just accept it as work in progress.

3. A Plan
Always make some kind of a plan on how your going to proceed. Your chances of successes will be much greater than if you try and hack your way through. And by plan, I mean something written down that you can show people. Many faults can be picked up on paper saving you a lot of time during the course of the project.
BS is the ruling power and has been there longer than you and has probably seen off a few attempted coups, so be prepared. BS may covertly bring out it's supporters, arming them with seemingly legitimate concerns which are really fears about change. A good plan helps to build confidence and can also help to win over doubters.

4. Patience
You will encounter problems, there will be opposition (justified or unjustified), it will take longer than expected. Keep the end goal in mind and know that replacing a bad solution is a hard but worthwhile job.