I think about IT, and how things are done, quite a lot.
How things could be done better, why IT is a bit of a mess, things that should be improved.
For example, why are contractors paid per hour? I have been on several contracts where… I finished everything I had to do, to a high quality, in the first couple of hours in the day. But I had to stay there while the other parts of the team caught up (their stuff was much more complicated). Why?
The answer is quite simple, and I have discussed previously. There is no measure of quality in IT. No method of saying “Greg completed his work well so he might as well go home early with the same pay”. No way of saying “Our contractors finished the project 6 weeks early, so we will still pay them as if it had taken 6 weeks more and they can have a holiday”.
In the task based IT world of 2008, workers are rewarded using 19th century methods, of dollars per hour. Note, not dollars per unit of productivity, but dollars per unit of time. Regardless of the contribution.
I think it might be time for a new way of viewing the world. Of rewarding workers for their contribution, not just how much time they spend in the office. Id rather pay someone for what they achieved, not just how much older they got in my employ.
But how? How can we measure “achievement” particularly in IT? What is our measure of achievement? Is it possible to incentivise contractors to finish early, without suffering the penalty of having to find a new job right then? To incentivise and assess it in such a way that quality of the code does not suffer?
I know this is how it should be, but… i just can’t come up with how… my problem for 2008!