Computers, Science, Technology, Xen Virtualization, Hosting, Photography, The Internet, Geekdom And More

Avoiding ‘scope creep’

Posted on | December 6, 2007 | 4 Comments

Anyone who has worked as a consultant knows the dreaded phrase ‘scope creep’, a euphemism employed to describe a situation where a customer is (usually) attempting to get services for free.

Scope creep can be rather difficult to spot, usually a consultant does not realize the amount of services that they’ve provided for free until the end of the job when they divide the amount they were paid by the number of hours that they worked. When your time is your product, you must be careful to not give it away.

I’ve been going over everything that I did in 2007, quite frankly, I’m shocked. My typical hourly rate is $45/Hourly. After averaging everything out, I’ve made only $7 on average. Most of what I could call profit has to go directly into paying for the co-located sandbox networks that I use to design and build large scale solutions. After paying all expenses, processing fees, other consultants working with me, I’ve lost money. At least taxes will be next to nothing this year.

How does this happen? How can you lose money when your selling what can be classified as a ‘cost-less’ product, your time? The biggest mistake most consultants make is buying into the fact that their time is indeed a cost-less product, you cost money, you must be paid for your time.

This is what really got me into trouble this year, hopefully this little list serves as a warning to others:

Instant Messengers – I will no longer be providing my instant messenger details to clients, unless the client agrees that every conversation that we have is metered and billed. If you call a lawyer, they bill you, as does nearly every other kind of professional that you deal with. Tech consultants are no different.

Sure, the client may just have some questions that take a few minutes to answer, however if that happens on a regular basis, you’ve given away hours, not minutes. On large scale projects, this can often mean giving away a week worth of your time.

Bad Data Centers – If I’m not hosting it in my racks, I have no interests in working on it. I spent a combined total of 2 1/2 weeks in 2007 waiting on replies from data center technicians regarding support requests. Servers were built wrong, had bad hardware, networks configured incorrectly, all kinds of things that prevent me from doing my job.

This is an ancillary expense, something that can’t (usually) be passed to your customer, as it was not your customer’s fault. If your working on computers in a remote facility, get a guarantee that someone will be on-site to work with you, or an agreement that you will be paid to wait for responses to your requests.

If you schedule a block of time to work, your doing so because you expect to earn money for each of those hours. Clients don’t often realize that you can’t just instantly start working on something else if their project stalls, especially if you must wait for responses to requests. You can and should bill your client for down time, even if the down time is not (directly) your client’s fault.

Paid to argue? – Would you believe that people pay me $40 – $50 per hour to argue with everything that I suggest or tell them? This often results in stalls, which results in down time and they almost never agree to pay for it. Some clients hire consultants, get advice, then feel the need to research what you recommend while sending you links to forums that say there may be an easier way.

If a client wants a broad recommendation, meaning that a consultant produces a list of possibilities listing pros and cons with a final recommendation, they can pay for one. Don’t get ‘challenged’ into justifying yourself for free.

A client asking “Would this work?” is different than a client sending you a link to an amateur Linux forum where inexperienced people have hashed out very bad ideas then demanding that you explain why your solution is better. Often, clients want you to teach them the fundamentals of TCP/IP while you explain your solution. Don’t fall for it, just remind them that the meter is running.

Too Many Changes – When a project changes 4 or 5 times, its time for the solution to be re-designed. What ends up happening is you, the consultant, end up donating time to make things work around changes that the client made. Usually, the client will insist that your configuration is bad, you must insist that your configuration was great until they re-defined the laws of physics.

Get a clear cut scope of work and keep a journal of every single change (just a notebook works well). Require that all changes be sent to you via e-mail, do not accept change requests made over the phone or via instant messenger. If you make the client put it in an e-mail, they’ll be less likely to try to get 10 changes for the price of one. This goes back to those evil instant messengers.

Partnerships – “I have this great idea and a little bit of money, I’m looking to get it going, when it flies, you’ll make a fortune … “, no thanks. While I’m not in a position to denounce the ideas of others as potential business blunders, I’m also not in a financial position to assume the risks of others. Do not offer a discounted or ‘pay later’ rate to someone based on the promise that there will be larger payments ‘down the road’. Either they can afford your help or they can’t.

Does this stop you from being a nice or charitable person? No, not at all. If you want to help someone get going, do it, just understand that your doing it for however much they are willing to pay you at the time, don’t count on future income.

Non-disclosure Agreements - Unless someone is willing to send you 2/3 of your money up front, do not sign a NDA or non-compete agreement, period. A NDA is not as bad as a non-compete, a non-compete says that you can’t employ any tricks that you devise during a project on future projects in that industry, or it may flat out say that you can’t work for anyone else in the industry. This is typically the case in web hosting.

Unless a client is willing to pay you the several hundred thousand dollars that you could make without signing a non-compete agreement (and not promising ‘more down the road’), don’t sign it, its financially stupid to do so. How can a client expect you to give up thousands based on what their business ‘might’ do in the future?

If you do negotiate the deal down to a simple NDA, be sure that the client knows that the NDA does not apply if they don’t satisfy their obligation to pay you for your time.

If a customer asks you to sign a NDA before being given access to source code covered under the GPL or other popular OSI approved licenses, they have (usually) just violated the license. Be careful of the company that you keep.

Warranty work - Service is part of every solution, design your support packages wisely. Being pulled out of bed at 3:00 AM should cost a bit more than handling a problem at 2:00 in the afternoon.

If you were paid hourly to create something, you need to be paid hourly to debug that something (within reason). If you were paid a lump some to create something, fixing bugs or configuration issues is on you (within reason). Do not get bullied into treating usability issues as bugs, this goes back to the scope of work. Very often, a client sees a solution working one way, you deliver it, then the client realizes that its not working as they anticipated. Lack of planning on their part is their financial liability, not your’s. Know the difference.

Be sure your scope of work specifies, clearly the demands that will be placed on whatever you create or configure. If the scope of work says 10 users at a time will be using your creation and bugs evidence themselves at 100 users, its up to the client to pay for improvements.

Get an attorney to help you draft a warranty agreement that specifies what you will or will not be responsible for rectifying, including ‘damages’ resulting from your solution failing, for whatever reason. In order to make a profit, you must manage your cost. Your liability can and should be managed just as you would manage the cost of your time.

If I had a thousand dollars for every time a client told me to ‘make it work or else’ (implying a charge back or lawsuit), I’d be rich. If your client likes to get things done by threatening you, dump them.

Loud and abusive people – If a client can not talk to you in a collected, professional, civil manner, dump them. You need only to look at the fact that your income depends on your creativity and the fact that their behavior prevents you from feeling and being creative. Therefore, being insulted, threatened and pressured daily costs you much more than they are willing to pay you. If this becomes standard operating procedure for one of your clients, simply stop answering them.

Hopefully, this little list of gripes is useful to others. What amazes me is that all of these things are common sense, so easily overlooked in day to day things. Only after writing (and reading) the list did I realize just how much I gave away this year.

We all need to be a little flexible, however that must remain the exception to the norm. I hope that other freelance consultants start taking a firmer stance, I think these problems have become commonplace because people are just too easily bullied.


4 Responses to “Avoiding ‘scope creep’”

  1. Molly
    September 25th, 2008 @ 6:18 am


    I am in negotiations to test a public website and create a usability report. When we started out they wanted me to sign a contract where I could not compete with them or solicit or work for any other client they have now or have had in the past indefinitely. I was alarmed. We went back and forth negotiating and now I’m down to issue where they want me to sign a non-compete for three years while I believe I am being very gracious by saying I will sign one for one year. My reason is I am testing a publicly accesible website and I will write them a report. I am not a programmer or any other back end person where I will get their proprietary information that I can use for another company. I’m very wary of them because they initially started with a “choke hold” contract and I have invested too much time going back and forth that now I don’t mind walking away. As a tester/usability to report writer, should they be asking me to sign a contract with a non-compete clause?

    Please let me know what you think on what’s right. Thanks.

  2. tinkertim
    September 25th, 2008 @ 11:12 am


    I would not sign such an agreement for several reasons:

    1 – I could not accept similar assignments for at least a year. For example, if this company has a site that sells bicycles, I could not accept work from another company in that industry. Unless they were willing to compensate me for all of the work that I would be giving up, its simply not worth it.

    2 – Depending on the wording of the agreement, the company could assert ownership of the methods that you use to analyze their web site. This means their choke hold could extend far beyond the scope of the agreement, into a patent that they, not you, own and profit from. Additionally, they may use this patent and effectively curb any kind of innovation in your field, be careful. You don’t want to pay them a patent license fee to do your work! Sure, you have prior art, but can you afford to assert it in court? Especially if you have to fly to their home state in order to do it? Check your agreement.

    3 – If you have wasted this much time just getting details ironed out prior to starting work, imagine how much time you’ll waste while doing the work. Unless you really need this job, I’d tell the company that you are simply too small to deal with these kinds of issues. As a freelancer, signing an agreement that would inhibit your growth and ability to pay your bills for a ‘one time deal’ would be senseless.

    A non-disclosure agreement if properly worded is o.k. You agree to not disclose any of their trade secrets learned during the course of your work.

    However, since you are analyzing a web site that is available to anyone, simply for usability … the whole idea of a non-compete seems senseless and paranoid.

  3. Wade Coye
    September 12th, 2009 @ 2:58 am

    This happens quite often to us consultants, and really, any one in the service field. The only way to prevent it is a lengthy detailed contract, which sometimes in itself can take more time to put together than the service itself!

  4. tinkertim
    September 12th, 2009 @ 4:20 am

    @Wade Coye

    Now .. enforce the agreement internationally :) I agree, the only strategy is to present an agreement that (at least) tells the other party they’d need a lawyer to defend.

    Its more the idea that “this person will cost me a lot of money if I default” than the threat of an actual ruling, but yes, they work.

Leave a Reply

  • Monkey Plus Typewriter
  • Stack Overflow

  • Me According To Ohloh

  • Meta