So far in my career, I've been fortunate enough (where "fortunate" is in the eye of the beholder, it's got its good points and bad points...) to not have to worry about accounting for my time on a project-by-project basis - the IT organizations I've worked in have been funded either as part of overhead (just an "internal tax" that everyone in the organization pays a share of), or under some kind of equitable distribution where our costs are spread proportionally across the teams that we provide services to. So I've never had to worry about tracking my time against individual projects. Though I'm wondering how much longer I'm going to be able to avoid that...
In thinking about this, I'm wondering about something. Let's suppose a client needs something done - like, maybe they need something restored from a backup (just to pick an example). You mount the tape/CD/DVD/whatever, and start the restore. It takes a while, so you wait. In the simplest case, this is easy - I look at what time I started the restore, I look at what time it finished, and I book that time against the client's project.
But now, what about the following... Same scenario as above, client needs something restored from backup. But, there's also a second client on a different project, and they need a backup restored too. So you start the first client's restore. Then in a different window, you start the second restore for the second client. Eventually, they both finish, and both clients have what they wanted.
So, how do you account for the time you spent? Do you split the time down the middle? Do you double-book the time (that is, to you bill both clients for your time between 2:00pm and 2:30pm, or whenever you were doing the work)? If you don't double-book the time, why not? (Seeing as how both clients got their service during the same time slot, and you used essentially the same amount of time and got the same result as you would have if you weren't simultaneously working on a second project?) Do you use some predetermined formula to decide what to do? Or do you simply not work on more than one project at a time, just to avoid this kind of issue?
Fundamentally, the issue is that a lot of things you do in an IT job have signfigant delays built into them (like in my example, the amount of time it takes for the tape/CD to be read, and the backup to be restored). If you are doing project-based billing, how do you account for that? Do you only bill for time you personally spend "doing stuff"? Like, it takes 5 minutes to mount the backup tape and type the command, 5 minutes at the end to put the tape away and verify that it was successful, and 20 minutes in between where the tape is reading and you don't need to do anything - do you bill for 10 minutes of time and consider the remaining 20 minutes to be "non-productive" time? Or do you bill the entire 30 minutes to that one project?
What's typical? What's ethical? What would you do in this scenario?