ТТТ: the Time Tracking Tool

Working in a sphere of outsource software development, we every day look for the ways to simplify and automize customers’ business process and try to create tools, that will be easy to use on the one hand, and effective and multifunctional on the other.  Surely, we couldn’t pass by our own processes. Here in Noveo, we use quite a lot of systems, dedicated to solving these or those tasks. Some of them are existing solutions that we customized to meet our needs, some were written from scratch. One of the latest will be described in this article.

Each domain has its special tasks, unique roles and processes, but some point unites all the commercial companies. One of them is the necessity to pay salary to employees, and as a sequence, track their working time. Different ways may be applied: some companies bank on presence in working hours, other count on employee’s consciousness, but perform accidental revisions, some even use Draconian measures like tracking what happens on the screen of an employee or using fingerprint scanners to check the time spent in the office.

As for Noveo, we don’t pay much attention to how much time employees were in the office in front of the managers’ eyes, but concentrate on what they have accomplished. Besides that, three offices and the possibility to work from home make “traditional” time tracking simply impossible. Instead of that ineffective approach, we developed a system, where each employee indicates, what tasks were fulfilled and how much time was spent on each, and managers approve or reject these hours after the end of the month.

The principle is simple: having opened the system, employees are redirected to a page with their recent tasks. Having chosen an appropriate day and task, they indicate how much time they spent and may add a small comment, which is optional.

They can also create new tasks and subtasks within the existing projects as well as finish the ones that are out of date. The information about spent hours and the number of hours  in the production calendar is displayed above the table. Yes, it’s that simple, during the years of work with the system we haven’t met even any newbie who couldn’t understand how it works. However, a handy and intuitive interface hides complicated logic and a considerable amount of calculations: the very description of an autocomplete algorithm, helping to find tasks for reporting, takes almost two pages.

Besides time tracking, TTT handles vacation requests: an employee creates a request, it is sent to a manager for approval, and then is passed to an accounting department for payment. Forget writing documents by hand, signing them with managers, and going to an accounting office just to know that there is a mistake and you have to redo everything from the very start.

The information about employee’s requests and their statuses can be found in a special section. If necessary, an employee may edit a request - when the changes are brought, it will be sent for manager’s approval again.

Sometimes it happens, that you have to plan your vacation according to the ones of your colleagues. For this case, we added a page “Vacation schedule”, where you can view all the vacation requests or display only those in your department with the help of the filters. Each status has its own color: now it’s even easier to have a full image.

The possibilities, described above, are common and help to make our processes easier and more effective every day. But we wouldn’t write this post if it was all.

So, let’s continue the investigation of the system.

It consists of 4 levels, available for different users: employees, project managers, department managers and super admin. On each level a user obtains new accesses and possibilities. We already know what employees can do, let’s proceed to project managers.

As we already mentioned, after the end of each month managers approve or reject (which is uncommon, but sometimes happens) the reported hours. As habits and approaches may vary from one manager to another, we provided a set of different possibilities: approve all hours on all projects for a week, approve all hours of an employee, temporarily postpone approving or rejecting hours… If it happens that an employee forgot to report hours, a reminder can be sent in one click.

Besides approving hours, a manager can view all the reports of an employee in order to understand, in which project the employee is involved, what tasks were performed and how much time was spent on each one. This information is used, for example, for weekly status reports, that we send to our customers. Moreover, it helps to understand, which tasks are easier for this very employee, and which are harder and take more time.

One more possibility available to a manager is reporting time for other employees. There is only one restriction: a manager can report time only to his own projects.

Surely, the main activity of a project manager is projects. Project management is also performed in TTT. There is a dedicated section, where a manager can view a brief of all the projects: name, customer, project type (commercial, internal, investment…) and its status.

Besides just viewing information, managers can hand their projects over to other managers, for example, for the vacation period: this ensures that a manager who is working with the project temporally obtains all the needed rights and the hours reported in the project, will be approved in time. And once a manager is back from vacation, they return the projects in a single click.

Not only can a manager view or hand the existing projects over, but also create new ones. But please don’t think that each one creates random projects at will - for each project there is a senior manager - the head of a department, responsible for the project development.

One more small, but useful feature; the possibility to indicate a number of man-days limit, after which the system will inform managers. It has never been so easy to follow and respect budget limits!

But the most exciting section that appears in the manager’s interface is statistics. In all modesty: the possibilities and flexibility of the section are overwhelming! In a word, it contains the information about the work on projects. Tasks and subtasks can be displayed in arborescence and as a flat list.

All the rest is endless space for customization. You can choose any time period, view your own reported hours, those on your projects, those of employees, involved in your projects… Let’s add the possibility to display or hide vacations and filters by projects, tasks, customers and employees - and as a result, we have a system that allows to receive almost any data. You will need some time to master it to the fullset, but then receiving the needed information is a matter of seconds. The received data can be exported as a csv file.

Agree, the possibilities for project managers are already impressing. Let’s take a step further - to the department managers.

Apart from already described sections, department managers have the possibility to approve or reject employees vacations. A manager can view the list of requests for approval and details of each request, the same applies to already approved or rejected ones. Even when a decision is made, a manager can change it in one click. An employee will immediately receive a notification.

The “Projects” and “Statistics” sections look and work almost the same, as for project managers except for new possibilities for department managers. Thus, department managers may edit any project within their departments and assign project managers at their discretion. As for statistics, there are new tabs “projects of my department” and “employees of my department”, to which is applied the wide range of sortings and filters described above.

So, now we have left only the last, and the highest access level. In IT it is often called “God mode”. A person with such an access level can do EVERYTHING. Can view all the information about all the projects and employees, can edit any projects, changing the type and status, can assign the project and department managers…

ТТТ also provides the possibility to edit production calendar, that is used as a base for performance rate per month.

The information about holidays and 7-hour workdays before holidays, input in a special section by a financial director, appears on the page “Tasks and reports”.

But even that is not all! The highest access level allows to manage TTT integration with other internal tools adding, editing and deleting API tokens and permissions. Simply put, this section defines which systems may connect to TTT and which information they may send to it and receive from it.  

Owing to a wide range of possibilities, access levels and user roles you could think that TTT is an omnipotent and omniscient system, which can be used only by very skilled users, and even that after half a year of training. This is not correct: the tool is very friendly and will always remind you of something you may miss. For example, several days before a vacation it will advise you not to linger with handing the projects over, when you are back in the office it will remind to take your projects back, and if last week you were too busy and forgot to report the time, the smart system will give you a tip.

The project has been working and evolving for more than 10 years, and besides bugfixing and adding small features undergone some global changes. It passed through several redesigns, new pages, sections, and user roles appeared and disappeared. Thus, when we opened the office in St. Petersburg, the system got a new role “Office supervisor”, recently we have reviewed the work with statistics and now we are considering adding sick leaves management in the same way as it is done for vacations.

What comes next? Time will show. The company is growing and evolving, and all its internal tools are.