Even since I had engaged in freelance work at the end of 2002, I never lost a single deal and always manage to collect my reward. Today, I lost a deal due to differences in expectation. A lesson to be learned in business dealing.
J contacted me few months back to develop a customized software for his company. I agreed as I have the skill and experience in his business domain. J is a IT graduate who no longer works in the IT line. He happily drafted me a specification and asked me to work on it. Since I already own a product similar to his requirement, I decided to modify the product to suits his requirement, while offering him more features and smoother operational benefit which already exist in the product.
After more than a month working on the project (I was late in delivering, my fault), I delivered the 1st version to him. Somehow he doesn't seems quite impressed with my work, and have lots of complaints. This is understandable, as 1st version usually is quite rough. Usually we would go through a few cycles of changes and bug fixing to get the system up and running smoothly. Though I could sense his dissatisfaction, but he is a patient guy. He uses his QA (Quality Assurance) skill to come up with a long list of bugs and modifications. He is a very perticular guy, wanting changes in even the smallest way to suit his likes and dislikes. From here, I should have known he is a person of strong personal preferences and can't be persuaded easily. I gave in most of the times as he gave some valid reasons, and I also have gave up debating and reasoning with him after sometime (he is even more stubborn than me). He doesn't like the way I deviate from his original design (his design is more like for a console system, while I am developing a Windows system). Though I think the deviation is for a better design, but perhaps I have unconsciously undermined his design which might offended him indirectly.
When I first quote him my price, he said I am not cheap (hinting I am expensive? good. Quality stuff doesn’t come cheap). I believe I charged a reasonable price, and I am ready to offer you flexibility and compromisation in return. The original specification does not covered all that is required for the product (as usual), and most of the time he would ask for something extra. I already anticipated that, thus ready to give a bit of extra to him without charging more. Most clients don't know what they want, or can't visualise all the things they want at one time. My job is to anticipate what they want and factored them in my original price, so I don't have to hike it up the price at a later stage and make them unhappy. Some people out there can charge you a very cheap price, but will charge you extra for every single modification and enhancement which is out of the original scope. While some charge you a cheaper price because they doesn't know how to estimate properly, thus suffering losses at the end or abandoned the project for something more profitable. I have the experience and skill, charge reasonably, flexible, willing to compromise, produce good quality product and provide prompt online support (much betta than most local software house who charge astronomical price for slow support).
Anyway, after a few rounds of bug fixing and modification, we are finally there. Somehow I could still feel he is unsatisfied, probably he is expecting more value for his money. This is a problem of people with IT knowledge who doesn't work in IT anymore, applying the age-old knowledge and experience in the new fast changing IT world. Perhaps he thinks he could do it betta than me, and I am overcharging and under deliver. Or he could find someone else who could do it cheaper and better. If you want me to recommend someone who could do it cheaper and reasonably well as well, I have no one in the list. But I have someone who could do it more expensive.
J is a very safe guy as well. With just a small project, he wants to guarantee his investment (sounds reasonable). Just in case I died or stop doing freelance, he wants my source code as well. Thus he wants to appoint a trustee to safeguard the source code, and pass it to him once I died. I was like, huh? If this is a multi-million investment, I could probably understand and agree. But this is a just peanut, and you just pay for the product and not source code, okay? To satisfy his needs, I quote him for the source code, which he is not ready to pay for it. Source code is Intellectual Property (IP), definitely more expensive that the product itself as it is my bread and butter after all. So, you want guarantee for a peanut project but not ready to pay for it? Then he starts talking about how a professional software house should be and how much safer it would be. Professional Software house don't charge you peanut as I do, and they charge you for every modification you ever raise up (probably 50 times more expensive than my offering, and not guaranteed betta). Then they give you an inferior product, charge you for compulsory support which does not exist and put you through eternal hell, muahahaha. I try my best to convince him with some logical analysis and reasoning, but does not prevail. Perhaps he thought there would easily be a better deal out there, thus not willing to compromise on his demand. Perhaps I could just give in and appoint a trustee for my source code, but I felt there are too many unforeseen complication, risk and unproductive work. He turned down all my suggestions and reasoning, thus NO DEAL. Since I am a kind soul and it is partly my fault for implying I might agree with the Source Code Trustee thing in the first place, I won't charge him for the work (although the work is almost complete).
I had lost this deal, either he found a better deal out there or not. The hardest part of freelance work is not coding itself, but managing the project scope and customer expectations, a.k.a Managing the People. I had seen worst, and J is still an okay case (he is quite patient in certain sense). If only he could believe in his decision in picking me and have more faith in me. But confident is earned, not asked for. We have to satisfied the client's needs (emotional needs as well), while not hurting ourselves. I hope I made a right decision. At least I have less work now, a bit less money to be earned and somehow happier.