Time Tracking

An article about time tracking and time accounting solutions in general

Time Tracking

Every professional should track time if for no other reason it is to be more efficient. There are certain fields, the majority of all intellectual professions, where time tracking is very important because the company requires employees to do it for statistics or reports. And there are fields where time tracking is critical, like lawyers, attorneys, notaries and accountants because the billing is often based on time spent.

It is a valid question and an ongoing discussion if time based billing is good or desirable but as long as it is an accepted practice we must make the best of it.

How to Track Time

There are three main approaches to track time.

This approach is simple and widely used due to its benefits. Simple as it requires no software, it works with every activity even outside of the office, everyone can do it without practice, requires no setup time and has no costs. It also has an added and a very important benefit of being able to create time track records to match a required amount or goal set by the professional himself or the company/boss independent of actual time spent. It is also compatible with any billing system in use as the data must be entered manually anyway.
Timers and Stopwatches
The most widespread solution at the moment is to use timers to track time. The benefits are clear compared to remembering: there is no need to remember. It brings accuracy but also introduces problems. A timer must be started/stopped by the user in all/certain activities, which can be forgotten and can be inconvenient. Also it can easily lead to Timer Hell. Overall this solution is much better than remembering, there is no doubt about that.
Automatic or Unattended Time Tracking
This solution is on the rise, at the writing of this article there are only a handful of software implementing it on different levels. The idea is to not let the user start timers but instead track his/her time without intervention. This can be done by gathering real-time data about the user’s work or get the data after the work is done from the system the user used. The technology varies, the solutions are either not reliable or not complete (see later).

Timer Hell

The most widespread solution to track work time is by timers and stopwatches. There are two types of them.

User can start and stop one or more as he/she likes.
User must start the timer/stopwatch but then the software recognizes application switching and idle time.

The timers are usually displayed to the user and when the user closes that document or stops the timer the value is written to the database, after the users specified the case or the project.

There are a few problems with this approach.

  • Timers bother the user. They use screen space or, in case of a phone app, another device to show the timer.
  • Timers can be forgotten. While much better than remembering, it is still easy to forget to start them.
  • Time can be lost or wrong. Even if a timer is running it is not clear how to assign it to activities or cases. Most applications ask the user to manually assign the case, but there is no guarantee or verification if the selected case is the right one or if the user worked only on that one 100% of the recorded time.

All of these points can be addressed. The development on the field is an ongoing process to make time tracking and accounting more accurate, less annoying and be more reliable. Nonetheless timers are the necessary evil that no one likes but everyone has to use.

Automatic/Unattended Time Tracking

We would all like automatic/unattended time tracking but does it exist… There are working solutions that automatically track time without user intervention to a certain level. The solutions are so different that I cannot generalize them but here are some key points about how they work:

  • The user works without managing any timer, the software observes this work and creates activities with time stamps and durations that are stored in the database real-time;
  • The software detects if the user switches application, goes idle and shuts down the PC;
  • The user can open the time tracking app and can review his/her work, might be able to modify it (depends on product) and send it to the billing system (integration with billing software is usually offered out of the box or as custom development)

The key here is observing and analysing how the user works. These are not spy tools (there are many spy tools for companies, that work silently without the user noticing it) as they only show the data to the user and are specialized in capturing only information useful to track time.

The difference between them is what they can capture and how the data is analysed. Some can only capture certain applications like Microsoft Office as Office products track their editing time, some do not analyse data and give a raw list of all activities, which can be bothersome to sort at the end of the day.

There are some issues with automatic time tracking:

  • It might not work with all applications or on all devices (work done on phone or tablet most likely will not be captured – but timers cannot do that either);
  • It will not capture activities not done on a device like meetings. With timers the user can start one and stop it at the end, however, still needs to remember to do so;
  • It might capture useless information like reading news. Timers do not capture useless data as they only start when we choose so. This is a grey area as some websites are actually connected to work and should be tracked.

Time Accounting

Once time is tracked and activities are created the next step is to assign activities to projects/cases/topics (will call them cases from now on). Several time trackers cannot do this step, which makes them a much less useful tool because assigning is time consuming, inconvenient and prone to errors (you have to remember).

Assignment is usually based on name matching where the two names come from

  • The captured activity comes from the title of the application or the file that was open in the application, or the folder the file is in;
  • Name/number of the case;

In case of a match the assignment happens and the user can review and change/accept it.

Beside assignment time accounting software lets the user manage cases and gather activities into records to make them meaningful to the client/company. These records can be sent to the billing software. Most time accounting software’s provide some integration with billing software and/or can export data for later use.

Security and Privacy

Time tracking software gathers data and will have to store them somewhere:

On the user’s PC
While this is the most private solution it lacks features like working on multiple devices (office PC and home laptop). The software must be protected against theft, malware and Social Engineering.
On a company server
This solution is private and secure; the user can access the company network via VPN or other solutions. The disadvantage is that the company must provide the service which requires some IT professional/department and cooperation with time tracking software company to have updates for example. The software must be protected against theft, malware and Social Engineering.
In the cloud
A popular solution is to store data outside by time tracking software company. The software company must solve separation of data (Chinese Wall).

Protection against theft, malware and Social Engineering are well known and outside of the scope of this article. Data separation on the other hand is usually the most important question as its implementation is not straightforward and not widely supported.

Possible privacy modes:

  • Encrypt data with server key. Makes it hard but not impossible to decrypt in case of theft or malware, the developer can see the data. This is supported by most databases.
  • Encrypt the data with a user key. Impossible to decrypt and developer cannot see it either.