Sunday, October 07, 2007

Why Time Sheets are Lame ...

Programmer time vs. Quality Software Score. Totally uncorrelated!

Actually time sheets are worse than lame:
* they demotivate developers
* 10-15% loss of productivity is the minimum
* developers have to fake the time to fill them out properly
* erroneous data is used for reporting and management makes bad decisions
* customers are deceived
* they have nothing to do with quality code production
* they focus the whole organization on phony data instead of production

Nevertheless, this is not enough for many managers to give up time sheets. Just like the waterfall process, there is a psychological dependency so strong, it is as if they are on drugs.

However, the situation is even worse. Most management has completely wrong information in their head and thus continually make bad decisions. One of my students recently said to me, "You mean everything my manager told me is wrong!"

Yes, Jose, everything your manager ever told you is wrong:
* there is no correlation between developer time and software production
* there is no correlation between time spent and quality of code
* there is no relationship between "quality people" and code production

The only correlation between developer time and quality production code is the quality story points measured as a deliverable for a specific team.

Research over many years at Yale University provides some of the best data on this topic - see Joel on Software
* for a single project worst/best coding times are 1/10
* across many projects worst/best coding times are 1/25
* the ratios above are the same for the worst and best Yale students
* the quality of the code produced is completely independent of time spent

For some reason, many development managers makes decisions without any data at all on this issue and their assumptions are completely out of reality.

Tom Poppendieck told me recently a competent manager actually did some research on his XP teams to see what number of hours per week produced the maximum amount of quality production code. After trying shorter weeks and overtime weeks, the best number of hours for teams to produce the most quality code was a 16 hour work week!

Trust me, you need to dump those lame time sheets and get focused on real software production before an Agile competitor puts you out of business!


Blogger The flee said...

Hi, i totally understand what you mean.
I'm forced to submit time sheets daily and the actual hours i spend working on project don't reflect what i submit. I'm sick and tired of making time sheets because i'm constantly feeling watched/managed .

One more thing that i hate (besides geting a sorry excuse for a paycheck ) is that if you are trying to create code that your actually proud of you will be put down because you spent 10% more time developing it, all they care about is that the code works and runs with no hiccups and never give a tought about how the damn thing is built ( and of course if something goes wrong it's still your fault because you didn't realize you had to spend the extra 10% ).

Sorry if i sounded extra aggressive in the comment, but i have to deal with people that have no idea what their talking about and the worst part is that 60% of those people are my own team.

My biggest problem is that everybody in management sees quick money to be made from fast crappy code pushed uppon a client that says yes and fail to see the big picture. The thing i never hear for a manager is "HEY lets just build something offer it for free and take credit that we wore the first to come up with" and "sure , spend an extra 5 hours on that, be proud of it".

Bottom line management takes the decisions , your just a flee constantly struggling for a breath of air and playing a game you cant win.

1:34 PM  
Blogger Dave Newton said...

When working at a company with multiple clients I had to submit timesheets so our clients could be accurately billed.

It didn't cost me 10% of my time to fill out the timesheets because I'm capable of telling time.

Anything else would have been a disservice to the clients and, at a minimum, passively dishonest.

9:19 AM  
Blogger James Curran said...

Every one of the companies I've worked for (as a full-time employee) has made me fill out a time sheet, and the craziest thing is -- EVERY ONE OF THEM wanted me to LIE on it!

Every time sheet I filed was expected to read 8-hours-a-day/5-days-a week. If a left early on Monday and made up the time on Tuesday. Nope, the time sheet had to read 8hrs Monday, 8hrs Tuesday.

This hit it's zenith at my current job, which has an official company policy of "summer hours" -- work 45 minutes longer Mon-Thur, and leave at 1PM on Friday. Nevertheless, the time sheets has to say 8hr a day M-F.

3:31 PM  
Blogger Roy Phillips said...

Dave Newton: fair comment, your company is billing clients for the time you spend on their projects (irregardless of what you might be doing).

But what I take away from Jeff's post, is that you should be billing the client for value added, and that is something different altogether, and unlikely to be measurable in time.

11:45 AM  

Post a Comment

<< Home