// Internet Duct Tape

Time Tracking Software: Painless Estimation Tools Evaluated

Joel Spolsky talks about Painless Software Schedules in his book “JoelOnSoftware“. Accurately estimating how your much time it will take to complete a task is one of the fundamental skills of any professional. Joel’s approach is simple:

  • Keep a spreadsheet with Feature / Task / Priority / Original Estimate / Current Estimate columns.
  • Track effort in hours, not days/weeks. Tracking in hours forces you to do a straw man analysis of the tasks that are needed upfront. Tracking in longer intervals of time encourage more “rough guessing”.
  • Use Excel. Mind you, Joel was the project manager for Excel once upon a time.
  • See original article for the other guidelines.

After the break, evaluating different programs.

The reason for having the Original Estimate and Current Estimate columns is to create a feedback loop and improve your estimation skill over time. It can also be helpful to have the estimation history when you are developing an estimate for a similar task.

One useful concept I think he might have left out is doing a best case / worst case original estimate. (See this article for a commentary on best case / worst case as presented in Steve McConnell’s Software Estimation).

He originally wrote that article in March of 2000, so I had to wonder if any of his fans had developed a better software alternative. Here is a loose comparison of five of the contenders:

  • Microsoft Excel
    • COST: Free, maybe. Probably already installed on your work computer.
    • MEMORY: 6.2MB on startup.
    • PRO: Flexible, you can do anything with it.
    • CON: Flexible, you can do anything with it and waste a lot of time fiddling instead of working on those tasks you are estimating.
    • In his article Joel gives tips on the key Excel features that are needed to get the system working: pivot tables, WORKDAY
  • Safari Software’s Masterlist-XL
  • http://www.safarisoftware.com/
    • COST: Free spreadsheet, requires Microsoft Excel.
    • MEMORY: 33.4MB on startup.
    • CON: The version Joel links to in his article is out of date and does not work with modern versions of Excel. Grab the latest version from Safari’s website instead.
    • PRO: Roadmap tutorial.
    • PRO: Very focused on getting you working on the high priority / low time tasks first and the low priority / high time tasks last.
    • CON: Pop-up dialog boxes used for editing instead of editing the spreadsheet directly. Data validation is good, and the fields are bigger/more readable than they would be using the spreadsheet directly, but this slows you down.
    • CON: Has concept of deadlines for when tasks are due. Doesn’t appear to have a mechanism for determining deadlines from the amount of work to be done.
    • PRO: Schedule tasks into specific windows of time on a calendar.
    • CON: Scheduling tasks this way is time consuming. I have to assume that you would only do this 1-2 days in advance.
    • CON: Where is the original estimate / current estimate tracking for giving yourself feedback to improve your estimation skills?
    • PRO: Import internal format (mostly used to upgrade to new versions).
    • CON: Even though you can use Excel to access the raw data, you are most likely going to screw up the application if you try to play around with it.
  • Positive-G’s Task Tracker
  • http://www.postitive-g.com
    • COST: $25 USD. – MEMORY: 3.1MB on startup. Seems to spawn lots of separate processes as you use it.
    • PRO: This *exactly* the mechanism Joel describes in his book.
    • CON: Pop-up dialog boxes used for editing instead of editing the spreadsheet directly.
    • PRO: Task timers if you don’t want to manually keep track.
    • PRO: You can set how many working hours are in a day. (When was the last time you got 8 effective hours of work in a day without working overtime?)
    • PRO: “Add 1 Hours Work” button to quickly keep track of how long you’ve been working on a task.
    • PRO: Export XML, HTML, MS Project.
    • PRO: Very simple, not going to waste a lot of time learning it.
    • CON: Very simple, no frills.
  • AllNetic Working Time Tracker
  • http://www.allnetic.com/
    • COST: $30 USD.
    • MEMORY: 7.4MB on startup.
    • PRO: Timers for keeping track of exactly how much time spent on tasks.
    • CON: No concept of original / current estimates, just actual time spend. This tools is more intended for generating billable hour reports.
    • PRO: Import CSV / internal format.
    • PRO: Export HTML / TXT / XML / CSV/ SQL.
    • Generates invoices. This definitely is intended more as a billable hours application.
    • CON: The UI is poorly organized.

 

  • Safari Software’s Masterlist Professional
  • http://www.safarisoftware.com/
    • COST: $25 USD.
    • MEMORY: 23.5MB at start-up.
    • PRO: Professional look and layout.
    • PRO: Context sensitive help and tutorial.
    • PRO: Has all of the features of Masterlist-XL plus more.
    • PRO: Scheduling can integrate with your Outlook calendar.
    • Doesn’t track current estimate, but can keep track of original estimate (Time Needed) and how long it took (Time Spent) so feedback is possible.
    • Timer support.
    • PRO: It has an algorithm for suggesting the order in which tasks should be done, and auto-scheduling.
    • PRO: Is a tool for a productivity enhancing methodology.
    • PRO: Prioritizer wizard for assigning finely grained priority.
    • PRO: Data can be edited in a spreadsheet view.
    • PRO: Export to Excel.
    • CON: The program has enough smarts in it that there will be some ramp up time while you get used to it.
    • CON: It wasn’t readily evident if you could use the data for project planning. It seems more focused on enhancing productivity. Not a bad thing.
  • AbstractSpoon’s ToDo List
  • http://www.codeproject.com/tools/todolist2.asp
    • COST: Free, open source.
    • MEMORY: 7MB at start-up.
    • PRO: ISO data format support! (I’m a freak who doesn’t understand why YYYY/MM/DD isn’t the defacto every where since it is unambiguous and easily sortable).
    • PRO: Plug-in architecture. Existing plug-ins include: encrypt/decrypt, iCal Exporter, RTF comments, custom spellcheck, Gannt Project Export.
    • PRO: 3rd-party tool support.
    • PRO: Multiple user support with XML data files that can be merged with source control software.
    • PRO: Tree based task lists with functions for breaking existing tasks into lists of subtasks. The branches of the tree roll up into their parents in terms of tracking data.
    • PRO: Timers.
    • PRO: Keeps track of your original estimate and time spent.
    • PRO: Smart set of tracking fields. Priority, Risk, % Complete, Start Date, Due Date, Completion Date, user defined status.
    • PRO: Completely configurable UI.
    • PRO: Export HTML, TXT, CSV.
    • PRO: Spellchecker.
    • CON: Overwhelming amount of configurable options (you can even reconfigure all of the keyboard shortcuts!)
    • CON: For programmers, by programmers. It is very well done but suffers from clutter. This comes from being so highly configurable.
    • CON: I’m surprised there aren’t user-defined fields.
    • It doesn’t directly have metrics for comparing original estimate and time spent, but it would be easy to whip up a plug-in to support that.

UPDATE 2006/09/07

  • willCode4Beer does it very simply with an XML file and an XSL transformation
  • http://willcode4beer.com/design.jsp?set=sched
    • PRO: How much simpler can you get?
    • CON: How much simpler can you get? :)
    • PRO: It was cool that he found this page and left a comment on it.
    • PRO: Because it’s bare-bones you’ll spend time on doing work and not fiddling around with scheduling.

Overall:

  • First choice: ToDo List.
  • Second choice: Using homegrown Excel application. This will give you a lot of flexibility, but it will be more time consuming.
    • Or use the XML/XSL approach.
  • Third choice: Masterlist Professional. I have a feeling it can be a very powerful tool, but do you have time to ramp up?
  • Fourth choice: Task List. Use Painless Software Schedules methodology with a slightly nicer interface than a raw Excel spreadsheet. If you have to do anything beyond scheduling one person you’re screwed.

Not recommended:

  • Working Time Tracker
  • Masterlist XL (just buy Masterlist Professional if that’s the format you are comfortable with).

Please leave comments with any other suggestions (that’s how I found out about ToDo List — thank you Jay Kint).


Related Posts:

21 Responses

Subscribe to comments with RSS.

  1. […] The original post was lost, but it has been re-written and can be found here: https://engtech.wordpress.com/2006/06/17/painless-estimation-evaluated/ […]

  2. Life of a Software Program Manager said, on June 18, 2006 at 11:49 am

    This Week\’s Reading Assignments for Software Development Managers and Aspiring Managers…

  3. engtech said, on June 18, 2006 at 6:24 pm

    tdl – console based to do lists
    http://www.rc0.org.uk/tdl/

  4. Jay Kint said, on June 19, 2006 at 1:16 am

    You’re welcome. Actually, it’s Jay Kint. :)

  5. Sitaram M said, on July 03, 2006 at 10:26 am

    I came across EstimatorPal – it is allowing software size, effort, cost and schedule estimation. This may also be checked out http://www.effortestimator.com – cheers

  6. Retrospector said, on July 11, 2006 at 12:50 am

    I think the best one-word key ingredient to accurate estimation is experience. Sure a lot of the other factors affect how well you’re able to pinpoint an estimate, but having the ability to recognize the scenario you’re in and apply lessons learned to the entire issue is the best way to really get more accurate over time. Some of these applications look pretty neat though, and I’ve seen some tools come pretty close to being on the money with estimations where the tool compensated for some of the missing experience amongst the group.

  7. engtech said, on July 11, 2006 at 8:38 am

    Thanks for the comment Retrospector. I fully agree that experience is the vital ingredient to estimation. That was one of the good things about Joel’s simple estimation method was that by keeping track of the Original Estimation and Current Estimation you improve your estimation skills over time.

    I find that even if you are building up programming experience, if you aren’t keeping track of how long it took to do something then you’ve made no gains in your ability to estimate your skills.

    (I’ve update the article to mention the first point more strongly).

  8. .dan.g. said, on July 20, 2006 at 9:56 am

    many thanks for the very positive press :) and i will take on board your comments about clutter.

    dan

  9. Ryan said, on August 14, 2006 at 10:58 am

    How do you see the total time all tasks will take with ToDoList?

  10. […] But seriously folks, is time tracking appropriate for a web app? Here’s my review of several PC apps for time tracking. At the very least these web apps should have mobile enhanced versions (like 88 Miles) so people could use them with their cell phones. […]

  11. HL Arledge said, on August 23, 2006 at 9:55 pm

    I have been experimenting with ToDoList. It does not seem to track Remaining Time, which is a key component to Joel’s Painless Software Scheduling process. Am I missing something?

  12. engtech said, on August 23, 2006 at 10:17 pm

    That was the con I mentioned:

    It doesn’t directly have metrics for comparing original estimate and time spent, but it would be easy to whip up a plug-in to support that.

    I should write a plug-in for better support.

  13. Paul Davis said, on September 07, 2006 at 7:27 am

    I recently read Joel’s book, and decided to add a little contribution on this subject.
    http://willcode4beer.com/design.jsp?set=sched
    I just took Joel’s idea and decided an XML/XSL version might be useful. Its in keeping with the spirit of keeping it simple. The less time spent playing with schedules is more time writing code.

  14. engtech said, on September 07, 2006 at 4:12 pm

    Thanks Paul, I’ll add you to the list.

  15. […] JoelOnSoftware’s Painless Estimation Evaluated – Using the approach with different software tools […]

  16. Yuri said, on September 25, 2006 at 8:22 pm

    After experimenting with few tools I’ve ended up using MLO (MyLifeOrganized, http://www.mylifeorganized.com) for over year now. Neat, fast and has got all features I need. Best feature is PocketPC companion, i.e. I have all my tasks synced and on my PocketPC device will me all the time.

  17. Rachota said, on September 27, 2006 at 2:22 pm

    Thanks for the round-up.

    After all, where has your (project) time gone? Find out and have a look at this straightforward time tracking application: http://rachota.sourceforge.net

    What is Rachota?
    Rachota is a straightforward application for time tracking different projects on one PC. It displays time data in diagram form and creates html reports.

    Why Rachota?
    – Open Source (SourceForge project)
    – OS independent (Java)
    – Portable (runs from USB drive)
    – Small and fast (217 kB)
    – Stable (authored by a quality assurance engineer)
    – Localized (Czech, English, German, Japanese, Russian, Portuguese, Spanish)

    What can I expect?
    A software that is easy to use, has an intuitive interface and great functionality, is small in size, fast, stable, and free.

    Have a look yourself – http://rachota.sourceforge.net – Try it. Use it. Give feedback.

  18. […] Thanks to our ever-insightful readers, we received a number of great answers and tips to our post asking, How Do You Time Track? A couple of readers offered links to other sites where solutions were discussed in detail, including LifeHacker’s post and comment thread on logging your workday, and engtech’s discussion of time planning for projects and web-based solutions for keeping track of hours. […]

  19. […] Painless Estimation Tools […]

  20. […] Time Tracking Software: Painless Estimation Tools Evaluated « //engtech Une revue de différents logiciels de timetracking, oubliant malheureusement Rachota (tags: management productivity tools) […]

  21. Meltin' Posts said, on August 04, 2007 at 2:25 pm

    Mylyn, Time Tracking and Task Management

    No big news in this post, yet I stumbled upon an old post @ Internet Duct Tape (thanks to this bi-monthly digest) about time tracking for programmers, and some task management tools reviews.
    The post is quite interesting, but I just noticed the tools l…


Comments are closed.