Slashdot Mirror


Accurate Project Time Tracking?

Uhh-I-think-I'll-stay-anonymous-this-once asks: "I'm really rubbish at tracking the time I spend on things. That's bad for me, because I bill clients by the hour and almost always have to under-bill. I've tried a few bits of software for tracking, but none of them have suited me. What do you use? And why do you like it? If you've got suggestions, I'd love to hear them. I can't give a spec of what I want, but I can describe my habits and hardware. I use several computers, sometimes I don't use my own. I've got a short attention span when I'm not programming, and hop from task to task like an insane jack-rabbit. I'm not always on my network. I've got a couple of servers that could be used to run a web-based system. Mining my e-mail is often a good way of finding out what I've been working on. I'm rubbish at adhering to routines. I like OSS, but it's not an absolute-must-have. I'm comfortable with both Linux and Windows, but spend most my client life in Windows."

12 of 64 comments (clear)

  1. Overcharge by n1ywb · · Score: 5, Funny

    The simple solution is to estimate how much you're undercharging using standard estimation techniques and then overcharge for that amount.

    --
    -73, de n1ywb
    www.n1ywb.com
    1. Re:Overcharge by Equis · · Score: 3, Interesting

      What's so funny about this?

      I estimate my architecture, web development, and print graphic design projects by multiplying my hourly rate by the time I think it's going to take. Then I add a contingency (common in building construction), because it always takes longer than you think. I also mark up my consultants a bit--I have to spend my time managing them, too.

      If you go over your estimated time, you have a bit to spare. If not, you get a bit of a bonus. If you need to go over your estimate and contingency, was the overage included in your scope? If not, tell the client why you need to charge more. If so, simplify the problem and create a simple solution.

      If the client balks at the original estimate, you have a little cushion to adjust the price. We call it "the blink test." Raise your prices until the client blinks. Things are only worth what someone will pay.

      As for the actual time tracking, I've used everything from note cards, steno pads, PDAs, PC time tracking programs, and spreadsheets. Try them all. Use whatever works. I have been doing less and less on an hourly basis. Clients seem to like knowing firm numbers up front.

      Lately, I've been issuing the final invoice for slightly less than the original estimate. I tell them the project went smoother than planned and they enjoy the savings! Under promise and over deliver. :-)

  2. uhm, a stopwatch? by Anonymous Coward · · Score: 3, Informative

    I use basecamp for my project management. It has a simple and fast time entry feature with CSV export.

    On the corner of my desktop I have a little stopwatch program called Watch It (actually I'm still using v0.5, I just realized). Nothing particular special about it, you could probably find a different one that you like.

    When I start some work, I start the stopwatch, and when I stop working? RIGHT, YOU GUESSED IT! :-)

    Sure, I often forget, and have to check my shell history or whatever to come up with an estimate (I'm a unix consultant) but over the years I've gotten good at remembering.

    I enter the time into the appropriate project and task in Basecamp, and then each month I use a Perl script to download the CSV from Basecamp and import into my ancient (as in, pre-web!) time tracking app and take it from there.

    If I'm not near a web browser, I just scribble the time in a special green sheet (green == MONEY) in my hipster PDA and then enter it in basecamp later (don't do this often though, best thing is to enter the time ASAP or it becomes a chore).

    You could probably use a spreadsheet or something instead of basecamp or a dedicated time-tracking app (but I really recommend basecamp, it's super-simple and responsive via Ajax goodness). Or you could use a real physical stopwatch instead of a computer program. Etc.

  3. Spherical Timesheet by mikeburke · · Score: 5, Interesting

    A couple of mates of mine wrote a software product that addresses this problem. So feel free to take this post with a grain of NaCl.

    http://www.spherical.com.au/timesheet-software.asp

    It's a Windows app that runs in your system tray, watching what you do (browsing, email, word processing) and tracks the application and document name. You can then review the log of what you've been doing and assign applications + individual documents to projects and clients - obviously it learns as it goes so you only have to tell it about each thing once. You then set up hourly rates and stuff so that can come up with the numbers for your invoices.

    If you're constantly on other machines it may be a problem, but I would note that it can sync with a Pocket PC Outlook calendar - you log time spent in meetings, etc in the calendar and sync up when you're at your 'master' PC.

    Undoubtedly not a 100% fit for what you ask for, but it sounds like it could be a reasonable fit.

  4. Outlook Journal by Geoffreyerffoeg · · Score: 2, Informative

    Before I get started, let me say that I use mailx more than I use Outlook.

    There's one feature of Outlook, though, that I used to use: the Journal. If you're in Microsoft Office, it automatically tracks the time every document opens and closes in a little timeline. If you're not in Office and you remember to use the feature, you can add arbitrary items to the Journal much like you would add address book entries. It's a great way of watching how much time you spend on documents.

  5. Don't bill actual hours by Evro · · Score: 3, Insightful

    You're probably better off coming up with better up-front estimates on how long a project will take and then billing against that, or just billing on a per-project or per-milestone project.

    As for a way to keep track of how you're using your time, I don't think there's any software that can possibly help you. You just need to discipline yourself to stay on task for a given period of time. If you don't like working in an 8-hour block then do an hour on and 20 minutes off or something like that, and just note your start and stop times.

    All that said, I find looking through the svn (or cvs) log is frequently the best way to get a record of what you've done. If you see an entry in the log for Nov 18th that says "rewrote the entire shopping cart module" it will do a lot to spark your memory and you'll likely recall that it took you 6 hours to make that change. Between that and your email history you can probably piece together your work on a project pretty well.

    --
    rooooar
  6. Ultra-low tech solution by toddbu · · Score: 4, Insightful

    I don't know how much you're underbilling by, but if it's any large amount then you might want to hire some help. Let's say you're underbilling just 5 hours per week and you bill at $100/hr. That's $2K/month. For that kind of money, you can easily hire a secretary to help you record your time. You'll get the added benefit of someone to do the actual billing (so that you can work more), and get other things done as well (filing, messages, answering phones, collecting on deadbeat accounts, running errands, etc.) It's well worth the cash to have someone around to help.

    --
    If you don't want crime to pay, let the government run it.
  7. go to staples by way2trivial · · Score: 2, Insightful

    buy a cheap timeclock, and some time cards... set it on your desk.

    punch in, punch out, per job.

    --
    every day http://en.wikipedia.org/wiki/Special:Random
  8. too much coffee? by mikeburke · · Score: 4, Funny
    I've got a short attention span when I'm not programming, and hop from task to task like an insane jack-rabbit. ..... I'm rubbish at adhering to routines.

    Switch to decaf. Meanwhile, I'd hate to see your code..

  9. A different approach by gregwbrooks · · Score: 3, Insightful
    Not to ignore your question, but the best answer may be to switch away from hourly rates to flat-fee pricing or retainers.

    As someone who sells their time, your ability to succeed (beyond your technical skills, of course!) comes down to:

    • Your ability to win work;
    • Your ability to price work; and
    • Your ability to manage projects.
    Going to flat-rate pricing or retainer models introduces risk, but it also dramatically lowers your overhead and increases your inventory of time available to sell. You get back the time you currently spend tracking time, tallying it up for billing purposes, etc. You'll find that customers like both flat-rate pricing and (for extended work) retainers because they give them solid numbers to budget against.


    --


    "It was a summer's tale: Just a boy, his Linux, and a head full of dreams..."
  10. gtimelog by heanol · · Score: 2, Insightful

    A *very* simple program i use myself is gtimelog (http://mg.pov.lt/gtimelog/). Your main problem doesn't seem to be lack of programs but rather lack of discipline though...

  11. Where do you track appointments? by jhoffoss · · Score: 2, Informative
    I'm a consultant at a CPA firm, therfore, billable hours rule all. I (like many posting here) am a terrible procrastinator (evidenced by my visit to Slashdot...) I've struggled with the same problem, and a lot of people are posting one of a few solutions: use a new piece of software; use a piece of paper; use a timer.

    The timer thing is not a bad idea, but it still has to be recorded somewhere, so it's not necessarily a good answer if you can't just say "eight hours billed between four clients, 2 hrs/client".

    Paper can work great. I used a notebook and followed a methodology more or less laid out in a software engineering textbook that I took at Uni. Essentially, list out tasks and assign some identifier (i.e., as a penetration tester & computer forensics consultant, I have a code for Googling/researching/footprinting my client, and a separate one for port scanning, etc.) A few pages farther back, I have a listing of client/project identifiers. A few pages behind that, I have a slot to tally project/time expenditures and begin to get a feel for time spent on each client/type of task. A few pages behind that, I record start time, end time, a column to indicate breaks (i.e. 5, 10 mins for coffee or something), a delta, client number/indicator, task number/indicator, a description, and a checkbox to see if I've aggragated that item, recorded it in my billing system, etc.

    I omitted the breaks/delta columns because every break tended to be a different client or project; coffee breaks waited until some other distraction broke me away from what I was doing. This worked fairly well, and eliminated having to mess with another software interface. Of course, the system I use dictates this time be entered manually, so a CSV export or something akin to it doesn't really help.

    Now though, I track my time where I track my appointments, vacation, etc. by creating appointments for each client or job I work on. It's a little more time consuming to enter, but my PDA supports this time tracking method inherently, and I can use the Categories listings to indicate the client, I can summarize my work in the subject, I can track the task type in the location, and I can include notes or comments (say, if it's a phone call) all in the same spot. When I have to enter my time, I can just open my calendar and go back a few days. I can also (as someone else mentioned) use the Journal function in Outlook to augment this.

    For me and my work habits, this seems to work out well, plus it's a little comforting when I have a good day and it's a solid block of blue (the label color I use for billable work).

    --
    Linux: The world's best text-adventure game.