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.

We've been put in a bit of a difficult situation and I'm trying to figure out the best way to deal with it and how to charge for it.

We've built a custom web app for a customer and I've been maintaining it for the last 1.5 years. They sent email an email a couple weeks ago saying they've hired a developer and would like to take the project in house. (Nothing had been mentioned regarding taking it in house before.) I was of course surprised as I had expected to be working on the project for another year or more.

I met with the developer a week ago and went over the basics of the site. After my offer (including suggestion of a different rate) and follow-up email, they asked me if I'd be willing to do some training on how to continue development of the app using the libraries/techniques currently used. (The developer is experienced with the language, but not with the libraries.)

I'm wondering how much I should charge for 1-on-1 training tailored specifically for the site and the libraries (libraries which are reusable)? I'm thinking the training would between 3 and 6 hours, depending on how much the developer's skill level.

Here are my difficulties in coming up with the rate:

  • We're going to be loosing 10s of thousands of dollars by not having the client and project any more (not to mention future opportunities). So in part, I'd like to replace some of this income through training.
  • I'm essentially training someone to do what we do and giving them the opportunity to compete against us. They are a reasonably large company that has the possibility of competing against our company directly, although it's not likely our 2 companies will be direct competition.
  • We've spent years learning the libraries (50% external and 50% ours) and the technology behind them (which we haven't been paid for directly).
  • I'm not sure what the going rate for training is the area, specifically for 1-on-1 training.
  • I want to do the right thing because there is a slight possibility of affecting other business relationships.

My first thought was to to charge something around 5 times the rate we're charging them currently, but I have a feeling they'll think this is high.

(We're not terribly concerned with getting the contract to do the training, but it would be a unique opportunity where we could learn as well.)

Thanks for your suggestions and ideas. I know this is a bit of a subjective question, but I'm just looking for suggestions or something I'm not thinking of.

share|improve this question
1  
How much does the application rely on your library and what are its licensing terms? Are they intending to take on in house maintenance of your library as well as their application and is that permitted by the license? If not, could a contract to provide maintenance on that library also be in the works? –  Mark Booth May 3 '12 at 12:43
    
All the libraries are open source. –  Darryl Hein May 5 '12 at 4:28

7 Answers 7

up vote 5 down vote accepted

Charge your standard fee for the training and the time it takes you to prepare for the training. Let them know that you are open to answer any further questions beyond the training as a consultant. Beyond that, it sounds like it is time to move on. The well has dried up and no amount of training is going to replace this source of revenue. You will only lose those 10s of thousands if you do not find work to replace it.

share|improve this answer
1  
Thanks for all the suggestions. I've gone with this thinking and action. I think my biggest reason is that I don't want to walk away feeling angry or resent them. Putting all in the open allows them to respond and hopefully we can go forward on the best terms possible. –  Darryl Hein May 10 '12 at 4:19

If the client has been reasonable, you can just lay out the situation and ask them how they think you should handle it. They probably realize they're going to need help going forward. You've got some negotiating power, they don't want you to cut them off.

share|improve this answer

5 times your current hourly rate seems like a realistic ballpark assuming you are going to have some sort of deliverables (documentation, presentations, etc.) simply on the grounds that it's likely to take 30 hours of work to put together 6 hours of good, solid training. Figuring out the lesson plan, prioritizing what you have time to cover, figuring out how best to organize, explain, and illustrate the various libraries, etc. is not trivial. And the documentation, presentations, etc. that you get with training is invaluable because no one is going to absorb everything you're saying in a 6 hour training class the first time around. When you present it to the client, make sure to point out that what they're paying for is primarily the development of the curriculum, not the delivery of the material.

If the intention is for you to show up cold and answer questions or try to "wing it" for 6 hours, that is likely to be penny wise and pound foolish. The developer you're training is going to absorb far less because you're not going to be as organized as you would be had you gone through the effort of putting together the training material. And he's not going to be able to refer to documentation when he actually starts working on something a few weeks from now and can't quite remember some important bit of information.

From a client relations standpoint, you're far better off ensuring that the new developer is successful. You may lose some future maintenance work, but you're far more likely to get future development work if the client is confident that you're going to make the transition as smooth as possible when they decide to bring an app inhouse.

share|improve this answer
    
-1 : You will never get work from this person again, and won't be able to use them as a reference site. –  mattnz May 3 '12 at 2:01
1  
@mattnz good point regarding the reference. I don't agree with your reference to Justin Cave's answer, but it is a good point. –  Darryl Hein May 3 '12 at 2:29
2  
If he is charging the client on an hourly rate, then his proposal should include the time that it will take to put together the training program. Rather than charging 5 times the normal rate for 6 hours, you charge double the normal rate for 30 hours. The individual numbers look smaller while the total is larger. –  briddums May 3 '12 at 14:44

Look at the cost of other paid training in your area. You may be able to charge 2 or 3 times the price.

Frequently if you want to attend a one day training class for technology X there is breakeven point of around 5 people where they will come to your location for training. Less than 5, students travel to the trainer, 5 or more the trainer comes to the student. Use this as your justification to your client.

Yes the rate has to be beyond your normal rate to pay for the time it will take to develop the class.

You will not be able to get a rate high enough to make up for all the lost hours for the next year.

Another option is to setup a consulting fee and a retainer. So that you can answer questions when they occur after the transition.

share|improve this answer

you should charge your normal rate for the training and bill them for all time used in planning the training. You or your client is grossly underestimating the time its going to take to train their developer, 3-6 hours to get them up to speed on the libraries and site is off by a lot, unless this is a very small and simple app.

Also you are going to have to work out if they own all the code/rights to use libraries and can actually do this, which is a separate manner.

share|improve this answer
    
I told them right from the start that any code I write specifically for them is fully theirs. The libraries we've used or have written are open source, so fortunately that issue isn't part of the whole situation. –  Darryl Hein May 5 '12 at 4:26

You could charge an annual license fee for your libraries.

Also recently we were charged £750 per day for training our accounts people on a new accounts system. For more specialist stuff I'd say you can charge more. I've seen course fees in the £1950 a day range for some things.

share|improve this answer

I would consider charging them for two things:

  1. Training on a time and materials basis (doesn't need to have arbitrary x-factors).
  2. A lump sum for handing over control of the application to them.

That lump sum is going to be what they'll try to negotiate. IMHO it should, at least, be a significant fraction (>1/2) of the amount you'd get for maintenance for that remaining year.

share|improve this answer
    
A good idea on the handover fee. –  Darryl Hein May 5 '12 at 4:27
    
Charging a "handover fee" that covers more than your actual costs (ie, your standard rate for the hours of work it involves to handover the application) is ethically questionable. Especially if you've always told them that the code if fully owned by them. –  TZHX Sep 14 '12 at 10:40
    
@TZHX, of course, these kinds of things can/should be spelled out in a contract. If not, then whatever the parties negotiate is fair game. The contractor will risk their reputation and future work opportunities if they try to gouge. The company is getting a nice chunk of value out of such a deal and cannot reasonably expect that it will merely "cost" the time/materials of the training alone. –  Angelo Sep 14 '12 at 12:38

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.