Well, have not spoken much about my job, so to lay out the whole soap opera as fast as possible... Wrote a computer program for a local company about 8~9 years ago. I've moved on to other things since, but have continued to accommodate their feature requests and upgrades over the years.
When I lost my flying job last year, the company got wind of it and called me in for a major upgrade they wanted me to develop. Being out of work, I accepted.
The nut of the upgrade was to incorporate my application with a new accounting package they were installing. It was my first experience dealing with a major software development company and I must say I was just amazed at all the bureaucratic steps taken to make the smallest bit of progress. We basically came up with a plan of action in the beginning of the year and it was all documented in the EDD. This EDD what was to become the Holy Bible of what everyone agreed to do, complete with terminology explanations, diagrams, time lines, database structures, etc. Any deviations from the EDD that were not show stoppers were put on the list for a future phase of the integration.
The players in this upgrade was the local company (the customer), myself (representing the application I made), the other developer (representing the accounting software), and the Mediator (a 3rd party software savvy consultant who could call out the bullshit that the other developer or myself may try to pass off).
To make a short story long, things went horrible from about day one. There was issues between the other developer and the company that lead to them using a programmer who lived in India, There were a lot of missed details in their own "gap analysis", the list goes on.
For the most part, I have had it pretty easy in that most of the complications did not affect or impact my software or my databases. I've teased the company that my billing for the last several months has been about 10% programming/development and 90% meetings with the other software company. I've even taken to coordinating with the programmer in India to walk him though the development and debugging of his own code!
Now, in November, we have missed several target "go live" dates, and I think it is safe to say everyone involved is frustrated to one degree or another. We were trying for a mid-month go live by next Friday when I started getting a lot of notices to fix issues with one of my "private" database tables. I advised the other software company to stay out of this database table as it was not part of the "go live" objectives as per the EDD. It did not take long to figure out the source of these notices was not from the other software company, but from our Mediator! What I discovered is that our Mediator had learned how to program and add features to the accounting software and was tapping into my softwares tables for direct access to data. I advised him that his features were unsupported in the EDD, and thus unsupported by the other software company, and certainly unsupported my myself. I liked what he was doing, it was just not the right time to do it; after all, the accounting software was still not online yet! I also advised him that he looses his "neutral" mediator status the moment he enters the programming arena.
Long story short: He was not going to remove his unsupported code from the software, making my future development substantially more complex. So I quit.