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
- 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
- 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
- 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
- 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
- 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.
- willCode4Beer does it very simply with an XML file and an XSL transformation
- 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.
- 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.
- 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).
Subscribe to comments with RSS.
Comments are closed.