| I've been an independent contractor a few periods of my life and if you bill by the hour, that changes the dynamics a bit. You become focused on hours and not what you produce. Doing stuff for fixed price is risky too since it requires you to nail estimates pretty well to avoid ending up with a low effective hourly rate (or screwing your customer). My solution was to charge by the day. You pay me a fixed price for every day I work on your project. Some days I may work 4 hours, other days I may work 15 hours. But it provides me with more flexibility and, at least in my experience, it is easier to end up with a fair price (as long as you don't try to take advantage of the customer). I actually stumbled across this solution. My initial motivation was to reduce the amount of pointless accounting work. But I eventually discovered that this had other benefits. I have a team of programmers working for me (full time, fixed salary) and they all manage their own time and their own projects. If they need to take a week off because they feel tired, they just need to let me know. And I trust them to act responsibly. As long as we deliver what we have promised, I don't care if people take more time off than their contractually stipulated paid vacation.
The only time I may step in is if they do not take time off. (Actually, in Norway, you can get in trouble if your people don't take at least some minimum amount of time off.) And I think the results speak for themselves. I'd be hard pressed to find a team that is more productive in my company. We easily outpace other teams by a factor of 2-3 in terms of productivity within a company of about 25-30k employees. There are, of course, multiple reasons for the high productivity - not only the fact that I don't interfere with how individuals manage their time. I think one important reason is that I often hire people who are older than the average developer. My people are probably 40 years or above on average. One of my most productive people is in his mid 50s. I think the reason the holder people on my team are faster is because they're more experienced, and in particular, they have more experience in attacking problems that they have never been exposed to before. (And that's what 90% of the work we do consists of). |