Yesterday I talked about how I think you should price your services.
Weekly pricing rocks and long ago I wrote about why it rocks.
On episode 97 of the Freelancer’s Show I answered question on weekly pricing from my co-hosts. I think that you should go listen to the episode but I’m going to hit some highlights here.
1 week sprints
If you’re coming from an agile methodology then weekly pricing is basically 1 week sprints. You and the client together decide what can be done in a week. Yes non-technical clients will need hand holding on how long things take but it’s a collaborative process.
Brennan Dunn has a great sreencast that shows using PlanScope to do this. I don’t love showing how many hours you expect something to take to a client since it should be about value not butt in chair time but it’s one way to do it.
What about when you don’t hit a milestone in a week? At some point on some project it’s simply going to happen.
Just before Christmas 2013 I hit a bug on Monday that took a whole day to track down. That took a 2 hour feature on Monday to something that got done on Tuesday.
Back when I worked based on project pricing (flat rate fixed features) I would just have to try and make up the time and still hit the deadline. Despite the fact that bugs happen in custom software development. They are simply unavoidable and you need to make it clear that bugs come up and are paid time when you talk with your clients.
So dealing with this starts with client education and your contract. You contract should talk about bugs and how it’s dealt with. Mine says that we are all humans and bugs happen that may affect the project. It’s a simple fact of custom software development.
Once your contract is a first line of defence it all comes down to your communication. Did I wait till Thursday to tell my client that we were off track for the week?
Hell no! They got an email at the end of Monday saying that the day was spent working on a bug and the features for the day didn’t get accomplished. I told them it was likely that the week would be behind now and I wanted to let them know right away so we could deal with it together.
Don’t expect your client to be happy about a bug though. Experience software shops and clients will understand but they may also ask you to work extra hours to get back on track. My answer is no. I work a reasonable amount of hours each week and take care of my health.
I don’t wear overtime like a badge of honour. It’s not and you’re an idiot if you think it is.
The key take away is to let the client know right away not in 2 days. Then deal with it together.
Maybe a later feature can be moved to a ‘nice to have’ item instead of a must have item. Maybe the project needs to extend a week.
Prepayment and being a hack
What if the client decides your a hack? They’ve already prepaid for a week haven’t they?
What if you decide the client is terrible and don’t want to continue?
Again the first line of defence is a contract and mine says that either of us can leave the project if it’s not working. There is no penalty and the work done so far is paid for in full.
Yes that means that if a client books an 8 week project and pulls out after week 1 you just lost 7 weeks of work.
That can seem like it like it sucks and on some level it does but would you rather try and stick with a client that doesn’t want to work with you?
I know I wouldn’t it’s going to suck on both parts and I don’t want to work on things that suck.
That ability to walk away is also a trade off you make for getting pre-paid. In most projects you pay 50% up front then get the rest at completion. If the client (or you) decide that the project sucks after week one then you’re stuck trying to figure out how much of the 50% deposit is due back to the client.
I simply have no time for that crap and don’t have to deal with it now.
My pricing thoughts also extend to getting things done faster. I have finished a project a week early because some of the technical hurdles turned out to be nothing. Yes I lost a bit of cash, but man was that client happy to see a lower bill than anticipated. I’ve had another client love that we could get to some of the features that they didn’t expect.
What if a client calls me today and wants me to work with them next week but I’m booked out for 6 weeks?
The obvious answer would be no and it’s easy to say that when you’re scheduling weekly. Simply look at your calendar and see how many weeks you’re booked out. Then tell them you can start after that.
Working on many projects at once easily gets you to a place where you say yes to projects and start next week when you should have been saying you could start in 6 weeks.
I did it. You’re doing it and you will do it.
It’s easy to forget about the hours, or think that we can manufacture extra hours out of thin air when we don’t schedule things out weekly.
When it’s weekly, you have a stop date and that’s that.
What if it takes longer?
So what if a project takes longer? What if we want to add features?
When I book things out I take any 3 week project and leave a free week at the end. A six week project would get 2 blank weeks at the end.
Those blank weeks are for the feature extensions and things that didn’t get anticipated.
Yeah I hear you, what if they aren’t needed?
I’ve found that on a 3 week project you have a good idea at the start of week 3 what will be happening by the end of the week. You’re either neck deep in features still and they might need some clean up the following week or you’re already on the cleanup phase.
If I’m already mainly cleaning things up then I just get in touch with the next client and tell them I can start a week early. 99% of the time they are ecstatic that I can start early and they are ready to go when I am.
If I decide I want a week down, I take a week of downtime.
You should be pricing your weeks so that a 3 out of 4 weeks meets your minimum earnings for the month. Yes that figures 12 weeks off a year which is a lot of time off and you probably won’t take it.
It also accounts for any slow months that happen.
Anchoring weekly pricing
Yesterday I talked about price anchoring which sort of sounded like you just charge a bit less than the value you can provide. That’s not what I do though.
My current weekly rate (January 23, 2014) is $3k. I don’t do different rates for different people since I’d never be able to keep track of that. What I do is anchor my weekly pricing against the value provided.
For a recent WordPress app build our goal was to get a prototype out so that the client could show it off and get a bit of investment. Our investment numbers were in the range of $30k and we planned for a 3 week project.
When I presented the project to the client I anchored my $9k costs against the $30k investment that he was going for.
Any other questions about weekly pricing?