This is part 2 in the pricing series, part one was about charging a fixed price for client projects.
Let's say you charge $125 per hour.
Great, that sounds like a fine amount of money, right?
And you win a new project you estimate will take 2 months to deliver, at a fixed price.
Everything is going well, until you find an unforeseen issue in the 3rd party API you are integrating with. It can’t handle the scale you need - so you have to rebuild it yourself. It’s a really large problem and adds an extra 4 weeks to the project schedule.
So the project is now a bunch over time, but because you committed to delivering this project at a fixed price, your profit margin has been halved.
This is not an uncommon scenario.
Sure, you might have been able to mitigate the risk by doing more detailed research up front, maybe even a prototype, but no matter how diligent you are unforeseen issues occur.
Now we’ve all heard that prevention is the best medicine, but we can’t prevent all issues in a software project. So how do you not screw yourself over?
This is one of the reasons people move to a time and materials pricing method.
What is time & materials pricing? 💵
“Time is money, so I went and bought a rolex”
– Wiz Khalifa, Rapper
You charge your client for all the time you spend on their project, and pass-on any material costs you incur. By material costs I mean things like domain registration, or a third party software component you purchase. Your client pays for all of this.
You might decide to charge per hour, per day, per week, or per month - it doesn’t matter. The point is you charge for your time. All of it.
Using this pricing method you provide the client with the same detailed scope and estimate, and put in the same amount of effort you would for a fixed price project.
However unlike fixed price, the estimate you provide your client is really more of a ballpark estimate - not a fixed quote.
If the project takes ten hours longer, that’s ten additional hours you charge. If it takes ten hours less, that’s ten less hours you charge.
Software projects always have changes.
New features, tweaks, misunderstandings etc. It’s not easy building a great product while keeping a great client relationship - especially on a fixed price. Time and materials can help with that.
Say your client tests a sprint and asks for new feature ABC? No problem, it’s around X hours work, and we can start it in the next sprint. You don’t have to say “no sorry you never mentioned that in the original scope”.
However it’s important to educate your client about how you work at the start of your relationship. This way they understand that cost is flexible right at the start, and they also understand scope is flexible. And that ultimately this can mean a better outcome.
The key to staying within your (ballpark) estimate with a time and materials project involves flexibility on both sides.
Your client needs to be flexible. If a new feature cost more than they expect, they may need to remove or simplify some other features.
You need to be flexible because things might change… a lot. You need to embrace the agility, and allow your client to make the changes they need (and time and materials allows them).
And those pesky unforeseen technical issues that crop up? Well they are no longer a huge loss to you like they are with fixed price. Time spent researching and rectifying these issues is all chargeable.
However it’s still your responsibility to build a technical risk buffer into your estimate just like you would with fixed price. Best case scenario your client saves money by not needing this, and you should communicate that to them. This is another example of the benefit of this pricing model.
But just because you get paid for any additional hours doesn’t mean you don’t have risk.
Strong long term client relationships is the key to building a great business – and if your projects go wildly over time then you will never achieve this.
Benefits of charging time & materials? 👍
- Your profit is based directly on the margin you build into your rate (hourly, daily etc)
- Risk is no longer all on you (as it is with a fixed price project)
- Clients get more flexibility to add, remove, or tweak features
- All additional features and changes are paid for
- You can invoice regularly based on work completed that period
- Easier to spin into an ongoing retainer (see Recurring revenue)
Negatives of charging time & materials? 👎
- Your reputation is reliant on your estimation skills
- You can’t just throw a made-up number out there - your pricing is more transparent (you should have never have done this anyway though!)
- Some clients demand fixed price, and will not do time and materials (e.g. government)
- If you don’t communicate the project status regularly, you are at risk of giving your client invoice shock (a larger invoice than they expect)
- If the project goes over time and the client isn’t happy, you risk losing the client
- Increased project management overhead compared to fixed price. Time must be tracked, aggregated, compared to the plan, schedules adjusted etc..
- Even though you are paid for it, a large time overrun on technical issues can be demoralising for you and your team, and costly for the client
My experience with time & materials 📖
“Quality is remembered long after price is forgotten”
– Aldo Gucci, Chairman of Gucci
Where I eventually found fixed price projects too rigid and not agile enough, I found time and materials provided the flexibility needed for a great project to evolve.
I no longer had to say “no” to my clients.
“No we can’t change that as it’s not in the original scope”.
“No we can’t add in that great new feature suggestion”.
All that went away with time and materials, and instead the onus was on the client to decide the outcome they wanted.
If they want it all, they have to pay more. If they need to stay within a budget, then they have to compromise. And they understood that.
It also allowed my clients to clearly understand how my agency priced. It wasn’t a mystical big number anymore, it was simple, hourly pricing. This meant raising our prices was easier too - as we grew larger and stepped away from competing on price, and towards competing on quality.
However as my agency grew, we won larger and longer projects - and often in corporate and government sectors.
Now that’s all great, but the issue is these projects involved a tender process, and the tender response needed to include, you guessed it, a fixed price. And they hold you to it!
So whilst time and materials worked well for us, as we grew, the larger projects we went after required a fixed price. This seemed like a step backwards, but after some experimentation I found a middle ground approach, a hybrid, that worked really well.
In the next article I'll talk about a hybrid approach that worked great for me - mixing fixed price with time and materials.