Agile consulting - hours or tasks?
Published October 21st, 2005 edit replace rm!
Now I am starting back doing consulting on a freelance basis, I really want to reexamine the business model of consulting.
I have always felt that the hourly charging is a pain. I don’t think it is fair for neither the client nor the consultant. The agencies of course like it as that is their main way of making money.
Let say there is a task. Build up a simple CRUD web page to go into a database. If you put a inexperienced guy on it you will probably end up paying less of an hourly rate, but more hours.
If you put an experienced guy on it he will charge you more per hour, but do it in fewer hours.
So who is cheaper? An inexperienced guy is at probably at the maximum going to be 1/3 the hourly price of the experienced guy. If you are talking the same regional area probably its more like half the price.
An inexperienced guy though may not know the short cuts or may have to spend an awful lot of time in google, where the experienced guy can do it quicker.
With something simple like a CRUD system like we mentioned above, an experienced guy can probably do it around 5 times faster than the inexperienced guy if we are talking something like Java.
With Rails the difference on CRUD wont be as much (can you spell scaffold ??), but in other areas the 5 times faster is probably also true.
So in other words the client ends up paying more if the client choses the inexperienced programmer and the experienced programmer probably is not paid his worth if he gets picked.
Iterative development to the rescue
My idea is that if you are developing using agile methods anyway you have a nice iterative process you can use.
An iteration is such a small complete task that a developer should be able to estimate how long it would take him. How about if one or more developers bid on each iteration? If accepted he has to do the iteration for that price.
This gives the client a certainty and makes it easier to budget. It also lets the experienced consultant push himself and do the work quicker.
It’s obviously not everything that can be done this way. There are certain more traditional consulting tasks that are better suited to hourly rates.
I would like to work with a client with maybe a couple of other developers on a rails project using this method. Have a look at my Bio for more info about me. You can also email me at [email protected] for more.
Also if you would like to be part of a small team of rogue agile coders with Rails, Ajax, CSS or other applicable skills that could work on projects together, send me a shout out as well.