Time Tracking in TFS – Part 2

In my last entry on Time Tracking in TFS, I talked about the reasons why project teams don’t track time. I gave my opinion as to why it doesn’t happen, and asked for yours. The comments I received were very insightful, but didn’t answer my question J … which probably means my question was dumb.

Anyway, what I did get was that in general, people want to track time for two reasons: Billing and Software Estimation, but mostly for Billing.

What if there was a TFS-based application that runs on the client … say a gadget. Every day (or hour?) it pops and asks for a time entry. Since it knows what TFS work items you are working on and which ones require time entries, it can provide you a very tailored experienced for entering time. The engineer enters the time, presses OK, and goes on working.

Annoying? Helpful? What do you think?

Comments (8)
  1. JamesHollister says:

    I have to agree with you Gregg, there does seem to be a lack of tools to do this kind of thing.  And when you run an independant software consulting show, the metrics that something like that would collect would be invaluable.

    When we first started playing with TFS (mid October last year), one of the first things that we made was a very simple time tracking app.  Just runs in the system tray and pops up every 15 minutes.  Allows you to select a work item, enter a type of work(analysis, stored procedure, ui, etc), clock in, clock out or make manual entries.  We could have done a lot more with it, but we’re still a really small startup shop and just haven’t gotten around to building it all the way out.  We do use it everyday and the metrics it collects at least make it easy for us to bill our clients.  Who knows perhaps thats an idea for a small product or at least a topic of a blog.  Maybe we’ll rewrite the ui in wpf and make it a gadget, could be fun.

  2. kolchak says:

    A gadget (and something similar in XP) would be a good start. Configurable time interval by each dev would be an important part as well. But in my experience, developers will need to be able to add hours for the future (eg I am going to be onsite at the customer tomorrow) and in the past (ie spent the day in the data centre rebuilding the staging server).

    I saw this post (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=448920&SiteID=1) where some had created a useful UI:


    Now this is web based (which I like being a web man 😉 but it could also be part of the gadget. Oh, and reporting is also important 😉

    Another thing is that not only do engineers / developers track their time. We have BAs, designers, testers, network ops, account manager, project managers that all have work items for a project, but also need to track time.

    James – what you have started with sounds very interesting! Interested to start a CodePlex project as we would definitely like to help build it out 🙂 ??



  3. JamesHollister says:

    Yea I was considering putting it on codeplex, I’d have to clean it up a little bit before I did that though heh, dont wanna embarrass myself.  The one area where we werent sure how to best handle was where to maintain the timesheet information.  Could probably add it to custom fields on the work items, but we ended up making a small sql database to store it.  There’s also a simple report that we run to generate timesheets we give to our clients.  We were going to add as a webpart to wss 3.0 when better support for it was available for tfs.  



  4. TerryYoung says:

    Pop ups can be very annoying. If you provide such a feature it should be optional.

    Being able to start logging time against a category and then stop logging time with the time spent on that category automatically calculated also has its problems. People get called off on to something else, don’t stop logging time, and then have to edit the timesheet later anyways.

    In the end the most common way for users to log time is to enter their time when it suits them.

    As Karl points out, more than engineering need to track their time. A truly useful time tracking system wouldn’t be restricted to projects set up in TFS but would include them.

  5. Roy Osherove on TFS or not? Being a perfectionist in a realistic world. BSimser on TFS vs. Open Source,…

  6. jimbob_texas says:

    I need *something* that enables developers to input activity against work items.  And by "enable" I mean "force." 😉

    Every so often, I have to remind my developers to keep the time on their work items current.  It’s an ongoing struggle, one that I have to manage by behavior, not tools.  However, a tool would really be helpful.

  7. Ivan Perez says:

    Time tracking per project, per work-item, is really needed.  I was astonished that TFS doesn't support this out of the box.  There should be options set as to how or when to force users to enter in time.  But daily is a good way to do it.  Or upon checkin using a code policy to enforce that the hours put in are there or not.

    In our case, we need this not only for billing, but also for tracking budgets and definately future estimations.

  8. I think time-tracking is necessary at least for offshore development companies. Billing and controlling estimates is a clients's demand often.

    Time-tracking can be a huge help for startups, too. I'm working at http://TeamExpand.com who's product Chrono is the time-tracking tool for TFS and i can say for sure that often time-tracking helps, and sometimes it's a must. It will annoy a programmer in one case only: when his work need not to be estimated at earlier stages. But there will be next stages when a coding process can be reported easily. Should it be reported? It depends, but in most cases yes.

Comments are closed.

Skip to main content