The Customer Is Always Right?
Even the customer of your worst nightmares apparently. And I mean that literally. This particular customer is giving me nightmares. I have dreams about him. Like now. I went to bed at 3:00 am last night & I had this horrible nightmare about him & his project so here I am - awake at 6:00am even though am off today. And it's Ramadan so I can't even have a cigarette.
The project started at the end of July. For me personally it was a bit of a challenge because it was my first time dealing with someone who is not in IT. In all my previous projects the user is the IT department of the organization. They're IT people themselves but they don't have the resources or the people to handle the project so they outsource it to us. This means that you're dealing with people who know what they're doing & what they want.
In this case though - the contact am coordinating with is not in IT. This is not a problem in itself. After all we're supposed to be able to help everyone - not just people in our business.
But this guy is one of those people who don't seem to get the difference between technology & magic. Explaining that something he wants is not viable because he doesn't have enough technical resources for it for example is an incredible challenge. Explaining that he can't change the entire design of the system & expect that there will be no delay is an impossibility.
We have 6 programmers working full-time on his system. He has succeeded in making them all hate me.
The story goes something like this. I have meetings with him where we have tortuous discussions about what his requirements are & what is the best way to implement them. Finally when am ready to have a nervous breakdown, we appear to reach an agreement. So I go & type up a requirements document & send it to him, asking him to confirm that this is what he wants. He makes me chase him for a couple of weeks then he finally sends it back approved.
So I sit & work on a design, have meetings with my colleagues & we decide on everyone's share of the workload & we get started. When we're ready for a demo, I call him to set up a date. He says oh yeah I was going to call you. And proceeds to explain all the parts of his process that he forgot to tell me about but he wants the system to handle. Even worse, he seems to see himself as some sort of expert in IT because he subscribes to a couple of IT publications. So he reads an article somewhere describing some new revolutionary feature & decides he wants it but doesn't remember to tell me that until the project is almost done. Of course trying to explain that his system doesn't have the scope for the feature he wants - or that it's redundant or that is too expensive in terms of resources, etc...is a waste of time. He's very rude. Will usually tell me that he's much older than me & more experienced etc...& finally will tell me that if I don't like it I can have my management contact his management.
So I go to my manager - who essentially takes the attitude that the customer is always right. If the customer wants us to build a pyramid every morning, tear it down by end of the day & build a new pyramid tomorrow, then we'll do it - provided he's still paying our fees. We don't want our customers taking their business elsewhere.
Basically the answer from my manager is always get him to put it in writing, that he has changed his requirements & that he is responsible for any delay, set a new deadline & do what he wants.
So I go back & fight with the customer about the proposed new deadline. He will usually refuse to accept the time I say is needed. And he will have his management contact my management like he loves to say. And my manager will ask me if I need more people to meet his deadline. Everyone knows that involving new people when the project is already so far advanced is creating more trouble. I have to babysit them until they know where we're at & where we're trying to get etc...They will fall all over everyone's feet. And all this will mean time wasted. In the end I'll get about half the time I need.
Then it's up to me to break the news to everyone in the team - that they basically have to do everything all over again & it needs to be ready yesterday. I know am being unreasonable so I don't blame them for resenting this. They're getting bored & demoralized. It's supposed to be my job to keep them motivated. As far as they're concerned it's my job to get the requirements straight & if they keep having to work extra & redo everything then am not doing my job. They don't know about all the pressures am getting from the customer or from management & it's not really their problem or their job to know. Sometimes I feel so bad for all the hard work they did I end up doing some of the changes myself just because I don't have the nerve to ask them to.
We've been through the above 3 times already. This project is starting to haunt me. Everytime I think I see the light at the end of the tunnel this happens & we end up pretty close to square one. Even worse, it's exploding - it's becoming so bloated & over-loaded with garbage that I know it's going to be a nightmare to maintain later no matter how well we try to document it. I hate this project. It's not the quality of work I feel I can be proud of. Too many patches. Too many shortcuts. It's not efficient. Everything it does can be done much better using a fraction of the resources & in a fraction of the time. I've worked on similar projects in less than a month which worked much better. Now I find myself forced to slave away for 3 months to create this monster. It sucks to find yourself getting zero satisfaction from that much work. But the customer wants it like this. I think the customer should be shot.But am sure my manager would give me some nonsense about shooting customers not being good for business.