Puakma: Under the hood

I'm Brendon Upson, jack-of-all-trades, master of one or two. I'm talking about life running a small ISV tackling business issues and leaping technology hurdles in a single bound.

webWise Network Consultants is based in Sydney, Australia and develops the groundbreaking Tornado Server technology.

Consulting part 2: Fixed price work

Filed under: by Brendon Upson on 2008-08-10

As a consultant there are two basic paths to travel. Hourly rate work and fixed price work. Hourly rate is simple, you work for 8 hours and get paid for 8 hours. Fixed price work is a whole lot more complicated.

Newbie mistake #1 is to look at the job decide on how many hours TECHNICAL effort is required and supply a quote based on that. When you've been around the block a few times you realise the technical effort is only one part of the overall solution. Techies regularly forget the 8 hours it took to do the technical design, then the estimate based on that design. Those are 8 hours you'll never get back so they need to be loaded into the project estimate.

Then there's the multitude of hour long phone conversations with your customer as the project progresses. While your talking to your customer you won't be doing the "technical" work. More lost time. Again, this time needs to be allowed for in the overall project sum.

There's also an overhead for "managing" the project. This is why full time project managers exist. The project manager's role is to ensure the client is happy, deliverables are being tracked and managed, and the project team is happy and productive, amongst other tasks. Again, this requires time to make sure the project is in order, and much more time to put it back in order if it's not. More time to be loaded into the overall project sum.

Newbie mistake #2 is to completely ignore risk. Sometimes we're asked to do things that we've never done before. We know pretty much how to do them, but there's always some bits and pieces that leave us wonering if the project is even possible. There's no way to know for sure until you actually do the work, but if the client only wants a quote for what it will cost it doesn't make sense to do the work first! So there's a risk that the project is going to have some catastrophic speed hump that will kill all in its path. So to mitigate the risk, a lump is added to the project sum for risk. More risk, more dollars. If the client complains about the price, explain the risks to them and they'll either change the brief to remove/reduce the risk, allow you to perform that part on an hourly rate or absorb the project sum. There is always risk in all IT projects simply due to the vast array of software and hardware that has to work together and each piece can be configured in 101 ways. Work out which parts of the project are a bit scary and add some dollars just in case you have to do extra work (or rework) to meet the project brief.

Newbie mistake #3 is not having any cashflow. So you've given your client the perfect quote you know you can deliver, it's four million dollars and will take two years to complete. Awesome. When do you get paid? Four million bucks at the end when you've finished? What if your client goes out of business? What if your client doesn't like what you've done and won't pay? What if your client has an internal restructure and funding for your project is pulled? This is where you may need to negotiate a little. The client would obviously prefer to pay the bill at the end, you'd rather they pay it all up front. In practice you should have a schedule of deliverables. These deliverables mark major events in the project and have a payment amount attached to them, for example:

Project acceptance 10%
Technical design document  10%
Signoff on the UI 40%
Ecommerce linkages built 20%
Final project delivery 20%

This serves a number of purposes. First, you get paid for your work as you go - congratulations you can eat this month! Secondly, the client becomes integral to the project process (very important) and they are checking and signing off on the project progress as you go so at there end there should be few surprises. Finally if the project falls terminally ill at any point, you can walk away with compensation for the work you have completed or conversely if your client wants out they can use the work they have paid for. Ideally you will want to try to push for more payment up front and smaller payments toward the end just to cover yourself. Include enough milestones to ensure you have a steady stream of cash coming in.

Be sure to make the milestones non subjective, that way there is no question that they have been met. Don't be afraid to insist on payment before continuing, with old clients who have a good payment history this is not an issue, but new clients may like to play some payment games. You meet the miestone, issue the invoice and merrily begin on the next phase while your invoice disappears into the ether. Keep an eye on where payment is at and don't be afraid to ask why you haven't been paid yet - just because you seem to be working for a large company doesn't mean that don't have cashflow issues of their own! If you don't get paid STOP. You'll be amazed at how quickly cash will materialise!

Next time: Tracking your work. "I've got 5 customers and 11 projects all running simultaneously. Where are we up to?"

So you want to run your own consulting business?

Filed under: by Brendon Upson on 2008-08-01

I have been asked a few times by various people on how to be a freelance IT specialist, so thought it was time to write about it.

The first question you need to ask yourself is: Why do I want to do it? If you answer is "for the money", beware. Consulting is a services based business which means you have two natural constraints, time and the amount people will pay for your service. There is a limit to what you can earn and it's actually not that high. If your answer is "for the money" look at selling some kind of product, or turn your service into a product if possible. This is all beyond the scope of what I'm going to talk about here.

The biggest mistake freelance consultants make is not charging enough. We've been conditioned to think in terms of cheap. "If XYZ Co charge $2000 a day, then I'll charge $1000 a day and I'll be flooded with work". Wrong. First, the amount you charge creates a perception of quality. Second, XYZ charge this amount for a reason. They have calculated training, annual leave, sick leave, down time, overheads (office rent, phone, payroll admin, ...), basically, in order to run a sustainable business this is the amount you NEED to charge.

How do you work out how much to charge?

It's actually quite easy. First is your salary. If you're leaving a $60,000 a year job to start a consulting company I assume you want to earn at least as much. The formula is basically: Your salary (or rate) + Overheads + Profit margin = your rate to a customer. Overheads are those bills that roll in every month whether you are working or not (sometimes called fixed costs). These include office rent, computer equipment, phone costs etc. The profit margin is the premium you add for being in business. Businesses are about making a profit. This can be whatever you want, youcould use around 10% as a base line.

In the previous example, we'll assume monthly overheads of $2,000, your gross monthly salary is $5,000 and you want to make a 10% profit. The formula is:

(5,000 + 2,000) * 1.1 =  $7,700 per month.

Now that we have the monthly figure it's easy to work out an hourly rate. There are about 160 working hours in a month, so 7,700 / 160 = $48.12 per hour.

Sloooow down skippy, we're not done yet. 

It is pretty unlikely you will bill the full 160 hours every month so we need to load in a contingency factor. Let's assume you'll be paid for 70% of the time. Those 160 hours now fall to 120 hours but of course your overheads and gross salary remain the same, so 7,700 / 120 = $64.16 per hour. 

At this point STOP. Compare that rate to what you can get as a contractor or permanent employee. They get paid for the full 160 hours every month! If the numbers don't add and you really want to run your own consulting business, look at which overheads you can cut, then re-run the figures.

Now you know what you need to make as a minimum just to stay in business. Now compare that figure to your competitors. Are you high or low. If you're too high, abort, the numbers don't stack up ;-) If you're too low (great!) increase your rate to that of your competitors to maintain your level of perceived quality.

Next time we'll talk about fixed price work. That's a whole different can of worms!