nirav February 22nd, 2007
I went to my regular hair salon last saturday. Went into the take the first chair on my way, but the hairdresser asked me to sit on the next one. This was a new guy, I have never seen him before. I have a little apprehension about how good a cut he will give me, but I go ahead.
Once I got in the chair comfortably, I asked the guy, what kind of haircut will look good on me? Given that I have a large forehead and am losing hair northwards. But he replied: You know better. You tell me the cut you want and I will do it for you. Now, am I the barber or is he the hairdresser? So who knows better? I was asking for his advice, but arguably he did not have any. So I asked for my standard cut and he started.
Getting a hair cut is not something you have to focus on yourself, so I started thinking about other things. Suddenly I noticed some bumps around my right ear. Ahh.. this guy was trimming the side burns, but the way he was moving the razor, was bumpy. This means, he is a novice. What if he cut my skin somewhere? I don’t like to see blood, especially not my own! I controlled myself though, and he continued. I grabbed the arms of the chair to secure myself, and started consoling myself, it will go alright. What if he is new, he is doing an ok job, and he can pull it off. The razor shaves are not smooth, but I haven’t got hurt so far. So it will be ok.
And it hit me! Software development is so similar to getting a hair cut. Go read the above description once again, thinking about your software project, instead of my hair cut. And you will find it yourself.
If you are lazy like me, let me summarize a few things:
- Client wants the first and the best. Developer points to something that’s convenient to him. Without any explanations.
- Client expects expert advice from the developer. Developer says give me specs that are cast in stone, and I will give you code.
- Client gets comfortable after the initial interactions, and gets busy with something else.
- Suddenly something bumps. Failed delivery, bugs, attrition, incorrect project understanding… And the client is scared.
- Client prays the project gets done without cutting his throat. Developer works as he likes and gets it over.
- Customer pays the bill, is not happy. But may come to the same shop again, because there are others which are even worse! Or pay higher and go some other place.
Or gets inspired and blogs about it!