1

Somewhat related to If I am working on an hourly project with variable hours per week and I am blocked on a task, should I bill for the time spent blocked?, but if you have a corp-to-corp client that needs work done in bulk on a multi-day basis full-time, but at the same time is always responding on a last-minute notice with additional information that they require, and saying that everything's time-sensitive, yet it turns out that you can't start the work until an undetermined future event (e.g., until they resolve their own blockers), how do you handle the billing?

Basically, how do you price availability for uncertainty? Is it just part of doing business, and you eat the losses if they think they might really need you one week from now for one week full-time, without any guaratees, or do you charge premium for being potentially available for a short-term project that may need full-time staff for a few weeks?

What is the accepted practice for this in professional software development?

EDIT: In other words, is there any good way to get paid for the bench time as a contractor?

It seems that the communication is exactly the problem in this situation: it would seem that the client hopes that they'll be able to resolve the issues by themselves, and delay getting external help until the last minute; at the same time, they're leading me on, on a weekly basis, that this matter is urgent, and we need do one "final" step "today" to establish relationship and immediately start working, only to have something else come up and some other change to happen on their side, delaying my onboarding further on.

In the end, I'm mentally reserving my availability for this new client (and I do know it's a serious contract as well, e.g., they do have the money to spend, if required), but, at the same time, they're effective getting me onto their bench without providing the compensation, and I'm getting the impression that they simply need me as an insurance. Which doesn't seem like a beneficial relationship for me, since we've negotiated based on an hourly rate, which doesn't help if there'd be no billable hours. And, as pointed out in the other answer, bench time is usually not billed to the clients, so, there's gotta be some other terminology at place?!

1

If I am putting aside time for the client (even if I'm waiting for them), they get billed. The simple fact is that they are paying for my time and expertise - If they choose not to take advantage of my expertise, and only use my time, they still get billed the same rate.

Obviously, this kind of arrangement needs to have good communication between both parties - in particular, a clause stating when you expect to be able to work, and that billing will start at that time. Explain that you can't work for other clients while you're in your "waiting" mode if they reach the deadline, and haven't produced everything you need.

  • Is there any good way to establish this? Basically, it seems that the communication is exactly the problem in this situation: it would seem that the client hopes that they'll be able to resolve the issues by themselves, and delay getting external help until the last minute, at the same time, they're leading me on, on a weekly basis, that this matter is urgent, and we need do one more step "today" to establish relationship, only to have something else come up and some other change to happen on their side, delaying my onboarding further on. Basically, I'm getting uncompensated bench time. – cnst Dec 29 '18 at 22:39
  • Can you add any sort of comments on how do you word a contract to bill for the bench hours? Because so far I'm getting the impression it's usually considered to be bench hours, and are non-billable to the client for non-full-time work; and part of the reason why consultants are billed at $200/h to the client, whereas the pay is more like $50/hour to the person. The problem arises when you get a client that may or may not use you at all, yet still wants to have you available on the bench, hence, increasing the rate to account for bench time would simply make it less likely to get picked up. – cnst Dec 30 '18 at 21:52
1

When facing this sort of situation, there's always three possible responses:

  1. leave it as it is and hope that the problem will resolve itself - you've tried this, and obviously are trying to find something better;
  2. abandon consideration of the client until future development - asking this question here makes it likely that you want to avoid this option for now, and it's possible that you could just take it up later anyways, which leaves us with;
  3. iterate your pricing structure.

Bear in mind, I'm assuming with this that you are not working for a temp agency (in which case they should be working these things out for you), and can negotiate your own contracts. Also, SOME OF WHAT I'M THROWING OUT HERE I NEITHER HAVE DONE, NOR RECOMMEND, but instead I've just thrown in for some variation on completeness. I'll throw in my suggestions at the very end. I'm not certain what your pricing structure is, and honestly I'm not concerned with that. I am concerned that you improve your pricing structure in an informative way, and that calls for informative grammar. In particular, I suggest considering the addition of the following types of charges:


i) Retainer fees : They're effectively treating you like they would their "family lawyer", so they should pay you like one! As in, through the cost structure, not necessarily the same rate. Upside: you can get guaranteed income, and spend non-used time for whatever else! Downside: you can be forced to drop whatever you're doing at whatever period that's specified in the contract, and there's likely to be details that your government has specific regulations for. Retainer fees are usually a fraction of the expected charge, and the later cost towards the customer is reduced by the same amount as the retainer fee. If the "final cost" would be smaller than the retainer, then the customer usually gets that amount as a refund, which means that you probably overestimated in the first place, and should fix that mistake for if they ask for an extension/renewal. The contract should specify how long the period covered is, AND what portion of the retainer stays with you under what circumstances (if they never call for you during the covered period, then usually all of it stays with you, and no longer counts as a retainer afterwards). Remember to specify ALL of the pricing details too, such as the periods of the day that are charged at double the rate vs normal (hint: make night work expensive), and similar for weekends & holidays. Plumbers, electricians, and other contractors do it (actually, my lot have more levels of granularity, but none-the-less, and we're tied to just a few long-running employers anyways), you should do the same (especially if a customer has already wasted your time, like this one has). Remember to specify if different multipliers (e.g. late-shift + weekend) multiply, add, or simply replace each other (they should usually multiply, but remember to clarify whether the multiplier applies to the TOTAL, or to that TIME PERIOD). Also, the customer either will or should want some flexibility: I'd suggest not charging lunches at all (note: standardize the lunches & breaks, with breaks charged for, and tie them to work-hours per individual day, with a catch-clause in case they have you working aver your contract's change-of-day), only charging while logged-in (so they'll have a verification mechanism), a time period such as 7am - 5:30pm (a 10hr 30min afternoon shift) to all have a 1x multiplier, a 1x multiplier for the first 8 hours of any day (and remember to specify the definition of the day!), a 1x multiplier for the first 40 hours of the week, a 1.5x multiplier for the next 20 hours, a 1x multiplier for five specific days of the week, one 1.5x day, one 2x day, and some mixture of 1.5x and 2x for holidays (do specify the holidays, but for long holidays like Ramadan, Haunuka, and Christmas, find some way to go light on them, like the first 20 hours per day for some of those days the holiday modifier drops down to 1x).

ii) Rush fees : if they want to call you in at the last moment, then they can pay "hazard pay". Specify the time period that you're available, and apply a multiplier to subsets of your charge for that period depending on when they get in touch with you with the required information for that subset. If they want to add a subset, then that requires an addition to the charge, though the contract should probably specify that the timer for that subset starts when the subset is added to the contract. Add some protections in case you aren't able to finish in the time specified, particularly milestones so that you can fall-back to the payment for the "most recent milestone for the subset" instead of just getting nothing, while neither leaving the customer with nothing, nor requiring a full payment from them for incomplete work. Remember to add penalties in the contract both against yourself if you finish late, and to the customer if they get you required info for a subset after the specified period.

iii) Idling fees: A variation on retainer fees. Charge them at a fraction of your normal rate during periods where you're reserved for them, but you're able to do other stuff for other people in the meanwhile. If you are LITERALLY waiting for the customer to show-up for a meeting at a previously agreed time for 30 minutes or more, then do this. If you are the one who arrives late by 30+ minutes, assess the same fee against yourself. No payment changes for early arrival. The relevant time periods may need to be shrunk for short periods. This fee should be higher than the "per hour" of a retainer, but (because of the fact that you will be specifying that you are allowed to do other work during these periods) lower than your normal hourly fee. I'd suggest half your normal fee or less.

iv) Premiums : They want you for insurance? Then let them buy insurance. But beware (and really, don't go with this model, you'll get over-used for a week and then they'll drop you, plus you'll have to finish everything during that week)! Insurance is expected to "fully pay out" whenever "disaster strikes", and without any further payments, which means that you would both have to complete whatever they needed, and do it without any payment other than the premium! This sort of service is best performed by a reasonably large company that can spread the cost of "random disasters" across a large customer base, which is why "mom and pop insurers" are usually affiliates of large national insurance companies.


MY SUGGESTIONS:

  1. Go for (i), maybe with (ii) and/or (iii) thrown in, but keep it simple. Base the holidays on their company's holidays, + any personal religious variations, + some space for disease (with a doctors note! Do this professionally! And make it up to them by automatically extending your availability to them a matching amount!) and pre-scheduled vacations (a week or two is usually enough). Depending on the length of contract that they want, you might want to drop the vacations (if it's a 1 week contract, don't include vacations; if it's 1 month, include one or two "under duress" vacations, but try not to use them). Match the "1x multiplier" days and hours to their own, + as much as an hour before their start, and up to 2 hours after they close (the trailing hours are likely to be more valuable to them than the leading hours). Adjusting the hours in a work-week is fine, but I'd suggest no more than 60 hours per week at 1x (I've worked 60 hour weeks while single: the first month is fine, but past that is difficult), and absolutely step it up by .5x every 20 hours past.

    Remember that the biggest upside to the retainer is that it automatically makes your cost after they agree less expensive to them than before: it's basically a mind-trick that coincidentally gets you pocket change. Also, think about several different possible time-periods for the contract, and carry notes about changes to make if they decide to change the period (at 1 week you don't care about vacations, at 1 month you kinda do, at 1 year you absolutely do). In general though, try to keep the additions to the contract to less than a full page, preferably no more than half, because simplicity really is best for changes like this.

  2. Avoid (iv) like the plague. That's for "programming disaster recovery" companies, and calls for large teams of relatively elite workers, each of which should themselves probably be on a retainer with the "recovery" company. Not that I know of any such operations.

  3. If they continue to do this, then slowly elaborate on the contract. In particular, make certain that your "downtime" becomes more expensive for them, though you should decide ahead of time on a level at which you will hold it stable. If they keep this going for multiple years and they still mostly don't use you, then maybe you should actually start that "programming disaster recovery" service.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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