As a web developer or someone who manages web developers, you need to be able to make money to keep doing what you do. I'm going to assume that you've already landed some projects and you're looking to make more money on that work.
I'm also going to assume that you didn't sell your soul to get this project, but I won't judge you if you did. I've been there - you say whatever you need to say to land the deal, feeling confident that you can get it done - I get it. Hopefully, you didn't give up too much of your bottom line, but I'll show you how you can turn this first project into a long-term customer relationship that can benefit both you and your client.
4 Ways of Making Money
These are the different ways I've seen project work priced and quoted over nearly 20 years in the business. Each has its benefits and uses, but also some caveats to avoid.
Most preferred by customers, this is where you come up with a single number that represents how much you charge your customer for a complete project. Why do customers love it? It means that they can more easily budget this work and sell this project internally. Yes, you read that correctly. There is a person, often referred to as a "champion" in your customer's firm who is accountable for this work. You need to make this person look good, especially on the first project. That means delivering the project on-time and on-budget.
Your most significant negotiating tactic in a flat rate project is timing. If the timeline is an essential factor, you should adjust the price to accommodate that.
Successful flat-rate projects should have 3 clear phases:
- Development Cycle
- Warranty Period. Make it clear to your customer what each phase means, and get customer signoff when each phase ends.
Hourly Rate Pricing
A common approach to web development is the idea of an hourly rate. I've seen these rates range anywhere from around $40-$60 for Junior/Intermediate roles, $100-$150 for Senior Developers, and the $200+ range for Architects and "guru" type folks. You can even come up with a mid-range "blended" rate to make things easy in terms of quoting and budgeting. These rates haven't changed much in more than a decade. Big firms tend to charge more; small firms tend to charge less.
Don't forget to include a rate for Project Management, too. Show your customers how you spend every single hour working on their project. Make it eminently clear how valuable your time is in terms of dollars.
If your client demands a flat-rate quote, you can use your hourly rates to build that quote and lead the conversation towards hourly-rate work down the road.
Block of Hours
Once you've established some trust with your customers, you can consider selling them blocks of hours. That way, your client doesn't have to continually go back and forth with their finance team for you do small updates and maintenance work. These blocks can be fantastic for your cashflow - you get paid for the whole block upfront. In terms of accounting, they need to be accounted for as "unearned revenue" until you actually do the hourly work.
You can consider selling these blocks at a small discount to help push them through. I find that 40-hour blocks are easy to work with, as a customer can consider that roughly equivalent to a week of work.
Most professional consulting firms use this pricing model. Your customer pays you a fixed chunk of money up-front, and your firm burns that money down. It works similar to a block of hours. However, the idea here is that your client has "retained" the services of your firm. Certain expectations come with that, and those can have a significant impact on your relationship with these clients.
I've seen this model work as a monthly support agreement. Your customer pays you X dollars a month, and they are entitled to a certain number of support hours.
In my next article, I review through some of the caveats of each pricing model.
BTW: I'm president of Agility, and it's the fastest CMS out there. I think it should be in every web developer’s toolbox. Use it for free to help you make more money!
Top comments (0)