Update 12/29/2009
Some folks kindly pointed out to me that the tone of this blog post, written in June of 2009, comes across harshly and does not show the appropriate level of respect for our clients' procedures and protocol. I debated whether or not I should delete the post but decided to leave it as it is a record of an important moment in time for our company. It was a mistake to post this, and it is not something I would write today. I should have taken several deep breaths, done some pushups or something, and moved on. There is a process of maturity in learning how to deal with difficult situations with clients and for better or worse this post is a record of me showing a bit of immaturity.I just got off of an INCREDIBLY frustrating conference call with an end client. As is frequently the case, we were contracted by the contractor that contracted with the end client. Got that? Client > Company A > Anova.
Last year Anova was tasked to build a small portion of the site that was beyond the capabilities of Company A; the component required interfacing with a web service and doing some moderately complex queries against the database before rendering data back out to the user.
A few months after the site when live, a new version of the site was spawned...and lo and behold there were "problems" with our component. Turns out that our component didn't have a problem; rather it exposed the fact that when the new site was spawned, several records were duplicated.
Clearly this issue is outside the scope of what our component did. It wasn't the problem, it just pointed the finger at it. However we agreed to assist the company in solving the problem.
This started at the end of March. It's June. There are lots of details, but I'm just going to get to the point: the issue was pretty simple and could have been easily fixed within a couple of days. But because the end client is a corporation with all of these draconian security procedures, it's taken almost three months to run the four DELETE queries to fix the problem.
I just got off the conference call with SIX OTHER PEOPLE where I was not given access to the databases, rather I had to give the queries to a DBA who ran the queries. I then sorta just had to refresh the site to see if the queries did what they were supposed to do. Which they didn't because the copy of the database I'd been given back in March was different from the current versions, even though it had been sworn to me that nothing had changed.
I've been on the clock for over 11 hours at $125 an hour, most of which has been telephone time talking with various PHBs to get access to talk to the DBAs to get work done.
Including the conference call today, I figure that over $4K has been wasted on this issue, not to mention the fact that site users have had to deal with a substandard experience.
How would trust have made this different? The corporation could have given me access to the database and we could have knocked this out back in March. Hell, even if they wanted to be reasonably security conscious, they could have poked a hole through the firewall, limited access to my IP, set up specific credentials for access with limited privileges and let me get it done.
And most importantly, the people that do business with the end client wouldn't have suffered in the meantime.
So just invest in some trust, corporate America. You'll deliver better products, cut costs, and have happier customers.