When we started using Basecamp for project management we focused on two basic features, milestones and messaging. We dabbled with to-dos, writeboards, and templates but never used them consistently. However, in late 2006 we decided that we needed to better understand how we were utilizing our growing development team (mostly external contractors). We needed time-tracking; however, I wanted it to be adopted quickly, consistently, and by 100% of the development staff. I needed it to be as easy as possible but still provide some useful decision support data.
The first factor we considered was reporting frequency. We wanted to be able to make resource adjustment decisions monthly, so we needed a monthly report. We also desired a consistent reporting period. As a result, we settled on weekly reporting of hours worked during the previous Monday through Sunday period.
The second factor we considered was granularity. Our goal was to generate reporting data that could be sliced and diced enough to provide meaningful decision support, but we didn’t want the team to spend more than 10 minutes per week recording time.
We ended up collecting three dimensions of time data including person, project, and category. We also collected time data in full hour increments rather than fractional hours.
To achieve high level categorization of hours we used a to-do template called TIME TRACKING with the following tasks:
- PRODUCT REQUIREMENTS
- INTEGRATION & TESTING
- PROJECT MANAGEMENT
We used upper case for all the task descriptions to make them stand out relative to any other to-do items that might be listed under a project. This to-do template was added to all projects with time tracking turned on. (We also used a shorter list of general time tracking to-dos for some generic projects related to bug fixing and other maintenance work). The time tracking option adds a small green clock icon next to each task. This provided us with a category dimension that was consistent but super easy to collect.
The process to enter hours was really simple. Each week, preferably on Monday when memory was freshest, each team member would go to each project they worked on during the previous week and click on the to-dos tab. Then, one at a time, they would click on the time tracking icon next to one or more tasks in the TIME TRACKING list and enter the total number of hours they worked during the week on that project on that category. The hours were always reported on the date of the Sunday at the end of the reporting period. So if a week was missed for some reason the hours could be entered later with the correct Sunday date. Finally, team members entered a short note, one to two sentences, to indicate what they did during the hours they reported.
Training on the process was pretty straight forward. We went over the process with the team using a Webex teleconference and I produced a short screencast video (for future team member training and review) that we kept on our internal wiki.
Once we had the tracking process in place, and everyone was consistently reporting hours, generating monthly reports was a fairly trivial task. Each month we would look over the time reports for the previous month to make sure everyone had reported for all periods and there were no obvious omissions. We then exported the time report in csv format and opened it with MS Excel. Within Excel we created one or more pivot tables from the report data. We generally reported hours by project, by person, and by contract company (a dimension we could add directly in the spreadsheet). We also compared total hours reported to total possible hours using some assumptions to get to a 100% utilization baseline.
Costs and Benefits
Overall we estimated that the process cost us about 10 minutes per resource per week plus 15 minutes of project management time to download and generate management reports. The resulting data and pivot table reports provided us with more than adequate decision support information.
We were very pleased with the Basecamp time tracking solution. We were able to generate meaningful decision support reports with very minimal burden on the team and at very low cost.
Clearly, this solution was tailored to our situation. As an internal product development organization we did not need the granularity and accuracy that would be required to bill hours to clients.
If you are in a similar organization and you are considering using Basecamp, or already do, I recommend you give this process a try.
I tip my hat to Jennifer Glaeser who helped to define and implement this process (the “we” I refer to above). Thanks Jen.