What monthly maintence fee is appropriate for a 10k software project?
July 26, 2013 2:50 AM Subscribe
I'm a very inexperienced freelance programmer, who recently delivered a completed software project to a client. They liked it, and asked me if I'd consider "a small annual fee for three years to help with technical issues once it goes live".
That sounds fine to me! Except that I have no idea what to charge here - I'd guess 10% p/a but that's pure speculation. Is there some sort of industry standard I could refer to for this sort of thing? If not, what do you typically ask for?
Best answer: Before you look at things like industry standards and typical fees, you need to be very clear on what you're committing to.
Basically, if maintenance is open ended, then you want to cap the fixed fee part at a certain number of hours. After that, they pay a pro-rata rate.
If you go with fixed fee only, you need to be watertight on what is/is not included within that contract and get it on paper and clearly agreed with the client so that they understand it. Bear in mind that staff turn over, expectations change etc.
If it were me, I'd work out my hourly rate, I'd agree with the client what the capped number of hours was and I'd price that into the contract. Then I'd quote them an actual hourly rate for time spent over and above that.
posted by MuffinMan at 3:23 AM on July 26, 2013
Basically, if maintenance is open ended, then you want to cap the fixed fee part at a certain number of hours. After that, they pay a pro-rata rate.
If you go with fixed fee only, you need to be watertight on what is/is not included within that contract and get it on paper and clearly agreed with the client so that they understand it. Bear in mind that staff turn over, expectations change etc.
If it were me, I'd work out my hourly rate, I'd agree with the client what the capped number of hours was and I'd price that into the contract. Then I'd quote them an actual hourly rate for time spent over and above that.
posted by MuffinMan at 3:23 AM on July 26, 2013
Response by poster: Thanks - you're both absolutely right. That's what I'll do!
posted by piato at 3:28 AM on July 26, 2013
posted by piato at 3:28 AM on July 26, 2013
For some software projects, up to 90% of the cost is maintenance. You could also end up with a client that thinks technical issues include everything from 'it's really slow on my laptop', 'we can't do this - can you add it as a feature' to 'the printer isn't working.'
Absolutely limit what you can be asked for - a cap on hours is probably the best idea if you want an annual fee.
Also, consider what you want to say regarding how accessible you are. 3am in the morning? When you're on holiday in Bali? When you're working full time at another job (should this happen in your future)?
posted by Ashlyth at 4:27 AM on July 26, 2013 [1 favorite]
Absolutely limit what you can be asked for - a cap on hours is probably the best idea if you want an annual fee.
Also, consider what you want to say regarding how accessible you are. 3am in the morning? When you're on holiday in Bali? When you're working full time at another job (should this happen in your future)?
posted by Ashlyth at 4:27 AM on July 26, 2013 [1 favorite]
Definitely go with a retainer model that assumes an hourly rate, with a cap on hours and a higher rate for anything over, and if you want to be generous, allow them to roll over some hours not used in one month to the next.
And be very specific about what your hours of operation and expected response time are: if you don't want to be woken up at 3am, then bill emergency hours separately, not from the retainer allotment. If you don't want to have to respond within half an hour, then stipulate a notice period as well. If you're willing to drop everything and work on maintenance, then you can be much less generous in applying credit from one month to the next, because that kind of mental load incurs a service charge.
posted by holgate at 7:29 AM on July 26, 2013 [1 favorite]
And be very specific about what your hours of operation and expected response time are: if you don't want to be woken up at 3am, then bill emergency hours separately, not from the retainer allotment. If you don't want to have to respond within half an hour, then stipulate a notice period as well. If you're willing to drop everything and work on maintenance, then you can be much less generous in applying credit from one month to the next, because that kind of mental load incurs a service charge.
posted by holgate at 7:29 AM on July 26, 2013 [1 favorite]
Hourly +1. Also, You need a Service Level Agreement (SLA). This will protect you from those times when you are 'expected' to run in at 3AM and do a reboot or some shit. It should cover both what you will do *and* what you won't be doing (like working outside normal hours).
posted by j_curiouser at 8:02 AM on July 26, 2013
posted by j_curiouser at 8:02 AM on July 26, 2013
Ha! It is telling that '3AM' occurred literally three posts in a row. Frustrated IT nerds represent.
posted by j_curiouser at 8:04 AM on July 26, 2013 [1 favorite]
posted by j_curiouser at 8:04 AM on July 26, 2013 [1 favorite]
Document. Document document document.
Once you "ship", then everything comes down to whether the "maintenance request" is a new little thing they want (hey, can we make the button blue?), or a bug fix (the button doesn't take me back to the cart when the cart isn't empty). If you shipped a bug, will the client pay for your time to fix it? Or do you owe the repair work for free?
The moment you transition from development to shipped and you're in maintenance mode, both parties should be satisfied that the work is completed. And the only way to do that is if you've documented the software and captured what the code does and DOES NOT do. And you've tested the hell out of it and everyone has signed off that they're satisfied.
Do the work up-front now and save yourself the headaches later.
posted by JoeZydeco at 8:12 AM on July 26, 2013 [1 favorite]
Once you "ship", then everything comes down to whether the "maintenance request" is a new little thing they want (hey, can we make the button blue?), or a bug fix (the button doesn't take me back to the cart when the cart isn't empty). If you shipped a bug, will the client pay for your time to fix it? Or do you owe the repair work for free?
The moment you transition from development to shipped and you're in maintenance mode, both parties should be satisfied that the work is completed. And the only way to do that is if you've documented the software and captured what the code does and DOES NOT do. And you've tested the hell out of it and everyone has signed off that they're satisfied.
Do the work up-front now and save yourself the headaches later.
posted by JoeZydeco at 8:12 AM on July 26, 2013 [1 favorite]
One thing not mentioned, I would not make a 3 year commitment. That's way too long, unless it has a cancel clause. I'd try to make it open ended, myself--you guys keep paying me the retainer as long as you want to reserve a slice of my time, and this agreement locks in the rate for the next X months.
I agree with ruling out 3 AM phone calls. I agree with a retainer that buys a certain number of hours a month that they use or don't. I wouldn't roll over unused hours, that's a bookkeeping headache for you and you're essentially giving away the value of the commitment you're making in that scenario. The act of reserving your time, before you even spend a single minute on their stuff, is a cost to you and a value to them, don't feel guilty about charging for it.
posted by mattu at 11:55 AM on July 26, 2013
I agree with ruling out 3 AM phone calls. I agree with a retainer that buys a certain number of hours a month that they use or don't. I wouldn't roll over unused hours, that's a bookkeeping headache for you and you're essentially giving away the value of the commitment you're making in that scenario. The act of reserving your time, before you even spend a single minute on their stuff, is a cost to you and a value to them, don't feel guilty about charging for it.
posted by mattu at 11:55 AM on July 26, 2013
This thread is closed to new comments.
if they prefer an up-front payment for accounting reasons then have them pre-pay with some discount against your hourly rate and make it clear that their $X has bought Y hours of your time.
posted by russm at 3:22 AM on July 26, 2013 [13 favorites]