I think if we would all think rationally before we would do anything, we could within one year turn the financial debt of the US into a surplus or save the Euro Pact… if there is any demand for that 😉 I mean, not that thinking rationally brings our countries back into financial prosperous times… but it definitely would save all companies combined as much money as the debt measures.
And what I am talking about is simply, thinking before asking any developer to do anything. Not because the developer otherwise would screw up… not at all. But most requests for any kind of IT-related development usually happen because of impulse-thoughts.
For example, I think half of all demands of changes are based on that a certain person does not like how a certain piece of functionality works, not realizing that there is a reason why it works that way, because that one action also is related to dozen other things.
It is often like someone asks you to remove the number 1, 7 and 5 from a telephone because those numbers are never used by this person when he uses the phone. And it might save space on his phone. But, as you might understand, first this poor developer might spend a week ‘fixing’ this, then the person requesting the change finds out it was a terrible idea to start out with and requests the change back. So, as you can see, this could have saved the company days of work if this person just thought about his request first.
Sounds like a bit of dramatic example? A figment of my imagination? Ah, you must be not a developer then I assume.
I personally think that about 50% of all income I get is because of requests that have not been thoroughly thought about. But worse… trying to explain rationally why something might not be a good idea and a client’s money might be wasted, usually faces a lot of resistance. And this resistance is often supported by the Chewbacca Defense.
For the people who do not know what the ‘Chewbacca Defense’ strategy is, I would like to forward to the description on Wikipedia.
I try to be honest about my work. When I think something is a bad idea because – in the example of the telephone request, you might need the additional numbers because you might need to call 911 at one moment – I always explain why I think it is a bad idea and not worth spending your money on. Sure, I like the spendola, but even I have a heart. But only a couple of people I work with have the capability to understand the reasoning.
Don’t get me wrong, sometimes the request has a very well funded explanation and I can be convinced, but about 80% of the times this is not the case. And absolutely ridiculous reasonings, complete nonsense, reasoning is dragged into the discussion to explain why the requested change is a good idea.
My personal motto is; it is your project. But I will tell you when I think out of my expertise something is a bad idea. But, you only have to say ‘thank you for your input, but do it anyway’ I will do it. I don’t need an explanation. I will send out a written email with again the explanation written down, so a client might rethink the request. But in the end, if that is what the client wants, I will build it.
But the reasoning is something that most of the time is completely illogical, comic and almost absurd. And I know it is not only happening to me, I know most IT development projects have a huge percentage of unnecessary budget claimed for these kinds of requests. And since IT projects are not the cheapest ones around, I bet we can definitely save a lot of money if anyone would just sit down, take a sip of coffee, and think a bit before walking to the IT department.
And bring donuts the next time…