[A picture of private offices at Fog Creek Software] Alert! This ancient trifle retrieved from the Joel on Software archive is well-past its expiration date. Proceed with care.

Joel on Software

Amnesia

by Joel Spolsky
Wednesday, December 10, 2008

Mysteriously, about a week ago, Dan, the program manager designing most of the new features in FogBugz 7, came to ask me what features I thought should go in the timesheet reporting plug-in.

The timesheet reporting plug-in? What’s that?

It sounded dangerously close to a feature that could be used by managers to see reports on developers’ timesheets. Like, something a weak manager would use to figure out who is the best developer on the team or to make sure everybody is pounding away at the code at a suitable pace.

We have a theory, here, that this is a bad idea. Using timesheets as a performance metric can lead to only one thing: bad data in timesheets.

The first time your boss comes into your office and gives you grief because it looks like you only did 7 hours of work yesterday, you’re going to make sure that never happens again. And then, suddenly, behold, the timesheets show everyone working 12 hour days, and all the data in the timesheets becomes instantly bogus. And EBS, our statistical technique for predicting ship dates, suddenly stops working, because you’re feeding it data that is meant to get your boss to stop bugging you, not accurate data.

Now, this theory may be completely off the wall, but it is our theory, and until we hear something better, that’s the one we’re going with.

So our policy has been that if you want to get the timesheet data, well, yes, you can, we’ll give you a way to get it in CSV format or XML format or something and then you can abuse it all you want... go ahead, hang yourself, but we’re sure as heck not going to make it easy for you with a pretty report all tied up with a bow that you might click on by accident, as you browse around, because thou shalt not put a stumbling block before the blind.

Anyway, I said to Dan, “What the heck? Who on earth approved that feature?” and walked down the hall to the FogBugz team to beg them not to do it. Correction: I razor-scootered down the hall. It’s extremely undignified; I’m way too old for childish toys; but jeez it’s like a whole city block from my office to the FogBugz team’s office, so, OK, it’s pathetic, but razor scooting is the fastest way to get there.

I am not sure what the FogBugz team will decide... it’s their call, not mine. Apparently nice people email us and ask for that exact feature and offer to give us little green rectangular things that can be exchanged for other goods and services if we do the feature. So it’s a dilemma, and I’m the one who knows the least about it, so I hope they won’t listen to me. Well, secretly, I hope they will, but don’t tell them that. Sometimes they do and sometimes they don’t.

But anyway... that’s not the point of the story. The point of the story is that today I was reviewing some video footage to see if there was anything worth including in the next documentary Lerone is making about software development. And the footage I was reviewing was of a meeting several weeks ago to go over the final list of features for FogBugz 7 and make sure they all had the right priorities assigned to them.

And there, on the video, I had to watch myself listening to Babak explaining the timesheet reporting plug-in, and the record shows that I appeared to understand what was being said to me, and, I’m afraid to admit, I appear to have given my tacit approval to the feature.

AHEM.

In short, I’m turning into one of those crazy bosses that approves things, and then gets upset when you do them. This keeps happening. I must be driving people crazy.

In my defense, usually what happens is that the thing is described to me in general, vague terms and it sounds great, and I say, “sounds great!” and then I see the thing a little bit closer, and it’s awful, and by this time, I’ve forgotten about the time I said it sounds great. Just assume I have amnesia or something. I can’t form new memories. Did I tell you about the razor scooter yet? OH IT’S FUN.

The solution, of course, is what I’ve been saying all along. STOP FRIGGIN’ LISTENING TO ME. I don’t know what I’m talking about. If you work for me, you’re welcome to get my advice, but you have to make your own decision because chances are you’ve thought MUCH MORE about the issue than I have and in fact we probably hired you because you’re smarter than I am.


Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.



About the author.

I’m Joel Spolsky, co-founder of Fog Creek Software, a New York company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make Trello, easy web-based collaboration software, FogBugz, an enlightened bug tracking and software development tool, and Kiln, a distributed source control system that will blow your socks off. I’m also the co-founder and CEO of Stack Exchange. More about me.

© 2000-2014 Joel Spolsky