IT is hard, really hard, so hard that in a career that at this moment spans almost 17 years I'm yet to see it done well. I've heard of it being done well but seen it? Never. I have friends and acquaintances who apparently work in places where IT is done well but I eye them with suspicion while pondering if I can throw them under passing traffic for the smug contentment. I have of course occasionally glimpsed IT done well, small passing moments where fleetingly I have been at work and people get it. Normally the good ideas meet bad management.
The road to hell is paved with good intentions they say, I find in IT and I expect many other places it's more often paved by arse covering and cowardly poorly educated management that already knows everything. The problems tend to chain right the way up and get more otherworldly the closer to the top people you get.
So we've all been there, we've had a good or sensible idea, "Let's update our java JRE to X" for example, the developers go "Sure that's a good idea, let's do that." Infrastructure goes "sure that's okay." I go "cool, let's get to it." Tickets raised, people working in the same direction, everything is fantastic. Now at some moment in the next few days a manager of some sort appears and goes "So about the Java migration project." at this point it dawns on you, it's all over. Someone has mentioned that they were looking at updating Java for the application (or maybe a management sort has actually looked at the ticket boards or read a report) and this person has gone and talked to other "leadership players", they have in turn had a meeting, in this meeting they talked about it, probably with little to no understanding of what a java is, maybe it's coffee or something? It's decided a project manager must be assigned, but none are free for a month. So anyway the new project manager sets up a kick-off meeting in three weeks time.
Of course, by this time the dev working on the ticket has ported everything and is ready to go. Now you sit down people are asking about costs, whose budget, how many hours work, why do we need to update? What are the pros and cons, who needs to be notified etc... Before you know it 2 years has passed and you're still running JRE 6 on tomcat 6. The sad thing is if left to engineers and developers the piece of work could have been finished and deployed to production within a month, but once the mechanical grinding death gears of omnishambles begin it's all over.
On some level, I think it's intentional if you do nothing at all you can never do something wrong. Also after a while, people will give up on having ideas. A perfect circle to create an ideal world where management can fester for all time.
If like many of us you are trapped in this hellish neverland of miserable pointlessness, just know, it never gets better.
So below is a diagram of how it all goes to hell. Enjoy.