Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This is probably going to sound messed up, but here it goes.

I've been working on a project for a client for a while now. I wasn't given any details except for "It has to be an XYZ plugin and interface with ABC product". Which was fine, but now we're towards the end (I think) and it's just dragging out. I don't have any time to spend on it and I'm already over schedule by 3 months. Trying to get the client to describe to me how he would like to be able to navigate the data (a UI issue) is just difficult. I've submitted mock ups on what I think he wants but his latest response is "you should look at XXX product", it has similar functionality.

Of course, I looked at it and it looks similar to what I submitted, but I don't think that the way I've built the framework is going to support what he is now describing to me. We've had good communication throguh out the process but he doesn't know what he wants. I explained how I was going to build the framework and he agreed, so it isn't a bad choice on my part about design.

When I go over what I think are finalized modules, he says, "You should have done it this way" which requires me to go back and rework code and UI. Some smaller items could have been better thought out by me, but the big things are how I interpreted his requirements and I've gone over this module several times during development.

I've already received final funds last month so i'm working for free at this point. I no longer want to deal with this project. I've already received payment. I've done other successful projects with this client before and he has a lot of other projects he wants to do.

What the heck should I do? I don't want to work on this project anymore. I don't want to ask for any more money (money isn't really the issue). I don't want to make him mad either. I know it looks like I want to have my cake and eat it too.

If you think I should call it quits, how should I do it given the circumstances?

share|improve this question
7  
What does your contract say? –  user1249 Aug 6 '11 at 7:57

4 Answers 4

up vote 27 down vote accepted

First, you need to get out of the mindset that you are now working for free, just because you've gotten what you believe is the final payment. You agreed to a price and were paid. If you had received all of the funds up front before even starting, would you have been doing the entire project for free?

(BTW this is why I never work on fixed-price projects; I always insist on working by the hour.)

If you can show that what the client has requested goes way beyond what you originally signed up for, then you could ask for more money, but as you indicated that doesn't seem to be the issue. It sounds like you are just tired of the project. Unfortunately that's not a good reason to quit.

If you had a defined specification at the beginning, and have met that spec, then you could ethically walk away from the project but you most certainly will never get any more work from this client again. It would be better to finish up what the client wants, spending as little of your time as possible, and hope to do better next time.

share|improve this answer
1  
good points. I quoted a number of hours but it wasn't fixed. I could invoice for more but it doesn't feel right to do so. –  DustinDavis Mar 22 '11 at 0:38
7  
feeling right is powerful. Up to a point. When you realise you are being screwed you need to do something. Simple example: client changes payment cycle and you get paid 90 days after invoice instead of 30. Solution: higher rate. Even if its only $5 / hour, its a case of: you are trying to screw me to improve your cash flow and make your bean counters happy. So... why do I have to pay for your improved KPIs? In this case, you seem to be the victim of scope creep. Time for a frank talk to the client. –  quickly_now Mar 22 '11 at 1:03
    
@quickly_now thats exactly what just happened with another client of mine and was debating on hiking up the price (same rate for 3 years). Maybe I just need to create a list of what I'm willing to do for this project and thats it. Take it or pay more. Thanks to the both of you. –  DustinDavis Mar 22 '11 at 2:11
2  
I charge different rates to different clients. The more difficult ones pay a higher rate. "difficult" has many interpretations. (And if you have kept your rate the same for 3 years its probably time it went up.) –  quickly_now Mar 22 '11 at 2:32
2  
@DustinDavis, even though I charge by the hour, I am almost always asked to estimate the expected number of hours a project will take. I make it clear this is for budgetary reasons, and the actual hours may go over (or under). If I get stuck on something, and spend way more time on something that I planned, I sometimes give some "free" hours to my client, but I always put those on the invoice and label them as NC (no-charge) with an explanation (e.g. "laptop crashed, had to re-install OS"). You should definitely finish the project, and ask for more some $$ if you can justify it. –  tcrosley Mar 22 '11 at 13:34

I would definitely share my feelings with this client, be honest to him and tell him you are very willing to bring the project to a successful and satisfactory end, but that you can't go on changing the UI/code indefinitely. Try not to say this in a way that sounds like you are fed up with the project, but say it is best for him, because he needs a finished product that goes into production and that his users can use. Tell him "we" need to bring this to a production-ready state, like you're on his side (which, as a good freelancer or company, you should be)

I think you should follow Amelvin's advice. Agree on a set of requirements that will take to project to completion, specify them very well and implement them. Also, make sure you client understands you appreciate your relationship and you are making an extra effort to turn this into a successful project. Be explicit and open about the extra effort you are taking so he will remember it.

This is one of those questions that make me realize again how important it is to make a detailed specification on what is going to be implemented.

share|improve this answer

Here are a few ideas:

  • tell the client you're out of estimated hours and to continue to work, you should arrange additional funding.

But maybe you "kind-of" agreed to a fixed price. So try this:

  • final solution for final funding: tell the client that your hours estimate was based on your solution. If he wants a different one, then you need to put in extra hours which will cost him just a little bit more.

Maybe the client is a leech kind of a client, or he just does not know.

  • deliver your proposed solution with "slight" changes in his desired way. Then say "yes, if you want additional features, we can setup a new project".

Free-yourself solution:

  • Quit the project. Tell the client you feel bad working on this project any more. You'll probably not get additional work from him and possibly get some bad advertising, but at least you're free to go to new clients and projects. It may not be ethically correct. But it may be good for you in the long run.

If it was me, I would go with one of the first two, being transparent. And in future, I would get the client to agree on a solution before I agree on a price.

share|improve this answer

I think the best way forward would be to sit down with the client and thrash out a list of changes that the two of you can agree will complete the job. And if you've been paid and you agree that they are part of the job and you want to work with the client again ... you know you have to complete them.

As to UI you're simply going to have to get him to agree to your interpretation of his design - or get him to agree to another design. But saying 'I want it to look like x' will never work, it needs to be backed up by an agreed design. Set up a low cost design campaign on 99 designs or something similar and get the client to pick the best one - even if you have to split the cost it would at least move the project towards completion.

If all else fails and the client really is stalling then make a reasonable estimate of the hours you've spent, offer a reasonable number of additional hours (say 10%) and say that after that time you're going to have to revert to an hourly paid model.

Be reasonable, but be firm.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.