How to price your tech services?

I was googling around to see what folks are charging for the range of services software devs offer. Although some humorous sites (a must read) are amongst the top results returned, how to price one’s services is of course a serious question.

One categorisation of services could be as follows:

  • consultancy
  • training
  • software development
  • support
    • ad-hoc
    • packages

For me the list runs from most difficult to easiest, and I charge accordingly.  Consultancy general involves technology recommendations, project specification, business analysis, etc, and the kind of input you can give after say 10 years experience is considerably different to what you might have offered after 5.

Next is training, and the reason I’ve put that higher than run-of-the-mill development is that preparation is involved.  For a 1/2 day or 3 day course considerable prep work is involved.  Subject matter can cover any software or platform you’re an expert on, but ideally you want to be teaching something that you built that you know better than anyone else.

In third position is regular software development; the more I do of this the more I see it as generic implementation – a commodity, and therefore chargeable at a lower rate.  Given a skilled team, whether you do the coding or you direct others, the final result is pretty much the same.  System design, however, makes all the difference and should be charged as consultancy.

And finally there’s support, which is like helpdesk work: the people paying you either couldn’t be bothered to read the manual or they’re on the beginner end of the programming spectrum.  Not to sound negative, support is the bread and butter of many businesses, however anybody really excited about software doesn’t want to be caught doing this.

So I’m curious what folks think of this way of breaking down development services and the rationale for charging?