I've got a project based contract to build a software app. The planned contract initially stated an aggressive 8 week release plan, and it was stated that the designs and API were at or near completion. Payment was 25% up front, 25% at milestone, and 50% on release.

For the first 4-5 weeks this was the plan except that designs and API were delayed. Not a big deal. At week 5 we were about 80% complete, and the client came back with drastically reduced business requirements that required redoing the product. New designs were issued. Work was started to implement this, reusing some of the previous work but still redoing design requirements.

We're now at week 12, and newer revised documents are issued with further changes. We hope to get them finalized in 2 weeks, but the target release is not for 4 weeks still. The original 6 weeks of work are now discarded at this point, as things evolve.

As you can see, it is a project that has taken longer than expected. The client's budget was pretty fixed and reasonable, but it has taken a longer duration of my time than expected. Some of this is normal software iterative process, however redoing 3 times and constantly changing release plans is difficult.

I'm wondering how this can be avoided in future contract specification, if at all? Is there a way fairly handle excessive re-iterations of work and timeline expansions, and when does this turn from normal project-lifecycle into excessive client expectations?

  • I'm going through this exact same situation myself. A 3-4weeks project has spanned to more than 2months now except in my situation, 100% of the payment will be released on completion so I'm at the mercy of the client smh
    – AndrewL64
    Commented May 13, 2015 at 10:47

4 Answers 4


At the bottom of all my quotes I have this wording:

We are here to provide an excellent customer experience. Because of this, we encourage input from the Client during the entire process. However, any major or significant changes requested during development, will carry along with them a renegotiated fee based on the new scope of the changes. We understand and encourage you as the client to voice your opinion and request to make any and all changes that you feel is in the best interest of your project. However, you as the client must also understand that in doing so, this may mean a considerable amount of work for us to make any major changes to the layout and design of your project.

To recap, please note that our agreement does not include a provision for “significant project scope modification” after the Client has signed off on his/her chosen design. Some examples of significant project modification at the request of the Client include: developing a new structure to accommodate a substantial redesign at the Client's request, recreating or significantly modifying the company graphic at the Client's request, replacing more than 75% of the text at the Client's request, creating a new navigation structure or changing the link graphics at the Client's request, or significantly reconfiguring the Client's shopping cart with new product, shipping, or discount calculation if an e-commerce enabled site has been selected by the Client.

Then the challenge is to recognize when a major scope change is happening, and stop to renegotiate. If you're like me...you're just focusing on your work and suddenly you realize you just did a bunch of work for free and you're like "Face Palm!"

I use a project manager on large projects to help with this. :)

  • Can I use this for my quotes too Maguijo??
    – AndrewL64
    Commented May 13, 2015 at 10:49
  • 1
    Sure! @AndrewLyndem
    – Maguijo
    Commented May 13, 2015 at 14:16
  • Thanks so much for posting your wording. I am always wondering how other people word things.
    – Emily
    Commented Jun 20, 2015 at 4:18

What I do with my clients and all the firms I've worked with is:

1) You need to first get a plan approved. This is what you did and it's the scope of the project. It must be separated in different steps (ex. design of template, final texts, script behavior and goal, etc.)

2) At every step of your project, you should make your client officially approve that step with a signature. You require this in order to be able to start the next step.

3) In your contract, you should specify that once a step has been approved, any changes will be charged at X amount (usually hourly rate). These charges should be paid as they are done or even pre-paid, otherwise you will have some issues at the end of the project and it will also mess up the payment agreement for the rest of the project.

Don't forget that in the end, you're the one who has the power to stop the work until you get paid for this since it's not included in the contract.

This should make your client think twice before moving back and making changes. The way to make them understand it's a fair process (and it is) is to explain exactly what you just explained here; each time the client comes back and make changes, you need to re-do work that has already be planned, calculated, and done. There is also more margin for errors when you need to quickly go back and re-work your files since your plan was not made with these data in mind.

At the beginning of a project, you can also include some specific type of revisions that you will do without any charge and give clear examples (ex. typos.)

All this is very efficient and might even make you enjoy the revisions as you will make extra money on this! It's also less frustrating. Some clients don't mind paying the revisions, they want the product done as they wish and want a freelancer to simply do what they ask for. Some clients are not very organized... So that's why you need to have some strategy like this for for the ones who don't mind paying and the ones who need an incentive to be more organized! What I also noticed is that some will try to get some free revisions because they're used to get what they want from others and not meeting any resistance from freelancers; but usually when you start mentioning the extra charge with a smile, they either compromise on the changes or they accept to pay for them.

Don't be afraid to act more "business-like" and set your terms. They will respect you for this and will also appreciate to know what to expect if the projects requires some adjustments. It's not always easy for them either to know all the details about the work required for a project and the best way to have a good relationship with your client is to always make sure everything is clear.

  • That is really smart to say you can't advance to the next step until they sign off on the current one.
    – Emily
    Commented Jun 20, 2015 at 4:19
  • Thanks, and yes very useful. It makes things more official. If you can't have a real signature because you work by email, you can simply ask the client "is this step approved?" and get them to say in a written way "yes". As long you really get an answer yes/no type, it's fine. Print that email and keep it! Some people are resistant to officially sign or approve and just step over your question, but you simply need to ask back with a "Alright, so is this last proof approved and can I get on the next phase?", they'll say yes. That's a simple neuro-linguistic trick I guess!
    – go-junta
    Commented Jun 20, 2015 at 4:38

In my web developers contract to me they specified that they would submit X number of designs for me to choose from, and do X number of revisions to that design. I knew that if I went beyond that with change requests, it would cost me.

I do computer programming and in my proposal I say x number of free revision hours (usually 5 or 10) are included. I know it's very typical that people submit flawed samples of what they want to me initially and I think this puts the client's mind at ease but also puts them on notice that if they are changing their request, at some point it is a change in scope.

If they start to get out of hand with wanting changes or start coming up with ideas for new features that aren't part of the original scope, I say "sure, I can do that but it's going to take some programming hours." Then I send them an estimate.

Where I get in trouble is when they catch me off guard in person - I am in "nice" mode and want to make them happy and start offering to do all kinds of things for them. I've learned to say "let me get back to you" so I can answer later in email when I've thought about it (and I'm stronger by email). I always screw myself when I give an estimate off the top of my head in person.

BTW, I take a 50% deposit on development, then bill for 25% when I deliver and the final 25% a couple months later when they've had time to work with it. No one has balked at the 50% deposit so far. I also do a project price, but say in my contract that if they cancel the project they owe me for any time worked so far based on an hourly rate. So far that's not come up though.


1 You must also include in your quotes and in any contract wording to effect: "We ( reserve the right to stop work or 'hold work'and immediately bill for all work done to date which is immediately payable, where a major change is requested to allow for full and considered effect of the requested changes and only after full commercial impact of both price, duration and delivery schedule to the 'adjusted scope of work' is agreed between our organisations is the hold released and work completed under the revised scope and payment conditions. No unreasonable minor change is effected, but major changes to scope, duration, complexity of original project nulifies our original mutual agreement and purpose.

2 This is effectively a 'negotiate and agree to extras' or we terminate and bill clause. It does mean you need to walk away from that client, if no agreement possible , but at least you get paid or can bill up to date I find it usefull. Many variations on this wording are in most of my contracts.

  • This is good. However if being paid on a project basis, what reasonably fits in the scope of a project? One round of designs and iteration? I think the issue faced here was that the terminology used for my thus far indicated the payment was for building and completing the project per client specs; giving him the power to define and change the specs until completion as needed. 50% payment was on completion, meaning he holds you until the end.
    – Miro
    Commented May 14, 2015 at 14:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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