Apr 11, 2014 02:12:03 AMEditedOct 30, 2014 07:19:15 AMbyTim C
The developer I hired has reached the first milestone on fixed price app development project and he's done the work satisfactorily, sending me builds via Testflight which I've approved. Unfortunately he's unwilling to share any of the source code until I pay him for the first millstone. Is this common practice?
When I've worked as a freelancer (not on oDesk) in the past I usually had to complete the project and hand over the materials before I received payment. Paying upfront for service I haven't received yet doesn't make much business sense to me and I'm worried about being scammed. Does anyone have any ideas about how I should approach this?
Apr 11, 2014 07:54:27 AMEditedOct 30, 2014 06:43:06 PMbyMargaret P
I would pay a small milestone to show him you are sincere. I actually would have broken the job into milestones for completion of each task. As a client I also would have made them either work on my test machine or send the code to a repository daily.
I would never allow a programmer to work endlessly on the code only on their local machine without ever getting anything. That is just asking for trouble.
As a developer I always test my code on the client's test server and use their database. I understand maybe some programmers in some countries may have internet service that is not so good or charges for ftp but then that is something you may need to consider before hiring someone. It may be better to hire someone from your own neck of the woods.
Apr 11, 2014 08:08:02 AMEditedOct 30, 2014 06:43:08 PMbyTim C
Yes it was broken into milestones and we have reached the first one. He insisted on a 40% payment for the first milestone but now we've reached that point I'm getting cold feet as thought I'd be receiving the code before payment. 40% of the project seems a lot to hand over without any usable in return.
Apr 11, 2014 10:29:49 AMEditedOct 30, 2014 06:43:12 PMbyExp U
Have you tried just telling the programmer you're feeling a bit nervous and asking for something in the way of playables, if not actually deliverables? A little honesty can go a long way. Also the response might tell you a lot about how the end-game might go.
At the moment you're both in the deserted warehouse with guns pointed at each other. It doesn't seem like there's much trust in the relationship because you're both worried about being stitched up. The programmer has already invested trust and time into the project, as evidenced by the Testflight samples. If it were me, I'd pay the milestone.
Apr 11, 2014 02:03:02 PMEditedOct 30, 2014 06:43:14 PMbyTim C
Yes I told him my concerns. I even sent him the link to this forum post so he could understand my side of the story better. I've also told him that I think he's done an excellent job so far.
The main problem I think is that I've allowed myself to be in the guns in warehouse situation you describe. Agreeing to such a large payment for the first milestone has exposed me to too much risk.
Apr 12, 2014 07:40:50 AMEditedOct 30, 2014 06:43:16 PMbyExp U
It's easy to see both sides in this: You're both worried about being stitched up and neither of you wants to throw down first.
Looking at things from the outside, it looks like the programmer has already thrown down, though, with time and samples; and just wants to see a $ign that you are on the level. 40% is a lot, so you know to negotiate terms better in the future. Can't be helped now: That's the agreement.
I'm not saying that because I'm a contractor on here - I do clienting with multiple programmers elsewhere.
On the oDesk forums you get to hear a lot of horror stories; but it doesn't sound like yours is one of them. It might turn into one by poisoning the relationship if it drags on though.
EDIT: oDesk is a unique environment in that they don't really do arbitration, so clients and contractors here have to pay more attention to their own interests. It is entirely possible (seems likely, even) that your contractor has been stitched up before; hence the slight deviation from the 'norm' of handing over everything before being paid. Seems sensible enough to me for any online work. That the developer wants to see cash first suggests to me that 1) There is code to hand over and 2) That the developer values that code. If you have handed over work without being paid before then I would put that down more to naivety on your part than it being 'normal'. In my opinion the programmer appears to be doing things right.
Of course, it could all go horribly wrong and the contractor could be bluffing. The problem is that -according to the contract that YOU negotiated- it's going to cost you 40% to see the other player's cards. Worst case scenario: You lose the money and the subsequent appeal to Support.
Reading between the lines, you are both new to each other and suspicious. Nothing wrong with that; you always take extra precautions with a new client/contractor and trust builds up over time. You've made the bed, though, and -ethically speaking- it's time to lie in it. oDesk terms favour you as the client anyway. This hesitancy on your part will -I think- be making the programmer nervous and won't be doing your long-term relationship (and thus the success of the project as a whole) any favours at all. The more you mess people about, the less inclined they are to go the extra mile.
Apr 12, 2014 12:49:34 AMEditedOct 30, 2014 06:43:18 PMbyMandy D
The small minority of bad guys on both sides make life difficult for the rest of us. Your reasons for being apprehensive are valid; perhaps your contractor has a valid reason for requesting such a large milestone payment too.
Darren is right - holster the gun, stick to the contract.
Have faith this one will turn out well.
Wishing you a very pleasant outcome.