Same Old, Same Old
I've got a client who intentionally keeps the internal hierarchy vague. Whenever they want a project done they generally have two or three people working on it with no one specific in charge, no one seems to talk to anyone else, no one asks questions and most are making decisions that make no sense at all.
The only person who kind of knows what's going on is the Big Boss, but he delegates as much as possible. Sending an email to the Big Boss always results in "don't talk to me about this".
They asked me to setup a B2B online store that integrated with Quickbooks for them to replace their current system, sending out excel files and then manually entering the results. I was told to work with three different people, with no one in particular in charge. Every time I met with them they'd have a new list of features that they hadn't talked with each other about. My concerns were completely irrelevant. I would say things like "This is a bad idea, it will be very hard to do, will take a long time and the end result will be pointless.", to which I would be told "do it anyway."
Finally we were ready to go live. The Big Boss came over to check the thing over. Immediately he said "the accounting integration is completely wrong. We need this and this and this and this and this and this and this and this and this and this and this changed."
More time passed, last weeks crazy features removed to make room for more crazy features. We were finally ready to go live for the second time, but we didn't because there were new crazy features to add.
Initially I was trying to keep the code clean and maintainable. Eventually the new features I added resembled bowl movements. Doing things properly seemed pointless as everything was just going in the garbage anyway. At one point I went to implement one of the new features of the week, went to the position in the code where I figured the feature should go and found the feature already implemented, by me, 7 weeks earlier and commented out, by me, 6 weeks earlier.
5 attempts to go live and 3 complete changes in the people I reported to later the company hired a "shopping cart expert" who immediately had me cancel the project and then implement a B2C site. I pooped out a B2C site in three weeks, the "shopping cart expert" took credit for it and she went off to make the B2B site on her own. This was about three years ago now, to this day there is still no B2B site and several attempts to replace the B2C site have failed. I know this because every once in a while I find some new Quickbooks connector connecting to some automated "shit a shop" site on the internet pops up. Currently there are five connectors running on the server (which is a terminal server), two of them have an instance for every single user who's connected to the server. The only one that actually does anything is the one I installed for the B2C site.
After B2B was canceled they needed something to fill the gap, so they had me write a program to import the excel their clients had filled out into Quickbooks. Since it was just a "stop gap" that would only be in use for "a month or so" I have to admit that I didn't do a very good job. Years and thousands of dollars later the turd has been polished to the point where it's almost kind of okayish not really. There is still no B2B site and the B2C site is still the festering turd that I threw together in three weeks.
The terminal server has needed to be replaced for a looooong time now. When I told them this I was basically told "make up a proposal so that we can reject it". It's really easy to procrastinate on because I always have other work to do and working with those people is hell.
A few months ago I was told that the company went through a hostile takeover by its very vertically integrated supplier. They are taking possession this month. I'm expect that they will throw *all* the IT stuff in the trash, install their own stuff and fire me. At least, I hope that's what's going to happen.