"dispute" at work today. Not really a dispute, but
We have "teams" at work. I work on the guidance team. Another team is the application core team. App core provides common services to the applications, like a file storage system, look-ups of common information, things like that.
Part of my responsibility is to get information from a part of app core. Because we are on two different teams with two different schedules and there are some rather severe communication issues in the company, I have requested and received the authority to create an interface document, which spells out in great detail the interaction between my piece and Developer V's piece. We met several times to reach an agreement, and we did, and I published the interface to our document control server.
This was over a month ago.
I am at the point where I am coding to this published interface. However, the header file that I need to use does not match the interface in several ways, including one error that makes it so that my code will not compile.
In a month, I have requested that these corrections be made three times. I even went so far as to make the corrections to the files, zip them up, and send them to Developer V at the request of his team lead.
Today, I went to reload the updated files, and they have all been changed. Class names were changed including the core interface class, header file names were changed, types in accessor methods were changed, methods were removed. None of the fixes that I requested were made.
After I fixed the easy problems, I e-mailed Developer V, his team lead, and my team lead with the problems that I have encountered:
1.) The interface class does not match the published interface.
2.) The defined types are obsolete, and need to be replaced with the current types (provided).
3.) Because of a name conflict in this file, my code will not compile with it.
4.) The methods for retrieving data do not retrieve the correct type of data, and methods that were in existence are now gone.
Now I can work around these problems to a point: meaning that I can check out a local copy of the problem source code and modify it for my own use. The problem is that this is a really dangerous practice. The industry standard is to comment this code as TOXIC very visibly; code that is so marked should NEVER be in a release version.
I received an e-mail from Developer V. His response was that somebody else had worked on the code while he was away and wanted to clone the data types, and that there wewre some changes that were coming and he wanted to make those changes before making any big code changes.
I responded by asking first why somebody wanted to clone data types. That is a horrible practice, because if you change one type and you don't change the other, you end up with really screwy hard-to-find problems.
And I asked for a date that this would be done, because I am coding and the only way that I can continue is to use my local toxic code.
Developer V responded. He blew up. He told me in no uncertain terms that his project was on time and compiled fine, and that his development schedule was not beholden to my schedule, and that it was only a couple of interfaces and why was it such a big issue anyway? And what did I mean by calling his code toxic?
Then his team lead stepped in and chastised us both for being unprofessional, and told us that we should be more understanding because we are all under pressure. And he got HIS boss involved in the fray.
I am simply floored.
I'm fully expecting to be called into the principal's office tomorrow for a stern lecture. I'm thinking that may not go as planned.
Have I mentioned that I have very little patience for asshats lately?