Sweat, tears and time tracking - how we increased the profitability of the company
The company employs 90 people. Managing and controlling so many employees is not good at all. Due to ineffective management, the quality of company services may decrease, project profitability may decrease, and the overall office climate may deteriorate. To avoid this, we implemented a monitoring of employee performance.
This is a comprehensive system that involves not only accounting for the time that employees spend on tasks on projects, but also monitoring other important aspects of their work. In a situation where everyone is switching to flexible development methodologies (and we are also in the process of transition), it is important to monitor the quality and profitability of projects, and time tracking is the basis of all work.
This system gave us the opportunity:
- increase the speed of tasks and reduce the deadlines for projects;
- Build real forecasts of production load a month in advance;
- predict the need for new employees and plan recruitment
- introduce a management reporting tool;
- bring more than 90% of projects to the profitability zone
Now I’ll tell you how we came to this.
Performance Monitoring System Architecture
Work control is based on four pillars: accounting for labor costs, accounting for time at the workplace, monitoring workload, and controlling profitability. For each of these tasks, a separate tool is used - only four, and two of them are our own developments.
- Accounting for labor costs. For this purpose we use Redmine. Here we set tasks for each other and beat off the time spent on each.
- Accounting for the time spent at the workplace. Each employee has an individual electronic key with which he opens the door to enter the office. We installed the Bolid access control system, which collects all the data on the entrance and exit of employees. So we know how much time each person is in the office.
- Canape STAT Production Monitoring - in-house development. This is where all the data on labor from Redmine and information about the time at the workplace from SKD are collected. So we get a complete picture of all employees, as well as the workload of departments (the number of hours / tasks per department and each employee).
- Profitability control in Canape CRM (also developed by ourselves). The system includes data on all labor costs from Redmine, and we can track when a project falls into a risk zone, that is, the number of hours worked is about to exceed the estimated time.
Details of each instrument and their work are given below.
State structure: whose time and how we think
Of the 90+ full-time studio employees, about 30% are managers. The rest are production and administrative staff.
Now the production department works on a cascading model, but we are gradually introducing Agile on large projects. Employees engaged in production - developers, designers, layout designers and others - have three categories of labor:
- Task completion.
- Communication on the task.
Our employees can spend 20% of their working time studying new technologies, services and tools, taking courses and reading professional literature. The only requirement is that this self-development be within the framework of the vector of development of the company and current tasks.
The labor costs of administrative staff are recorded by the time spent in the office.
The nature of the manager’s work is very different from the nature and composition of tasks of other employees. Therefore, we do not consider the time that is spent on the work of managers and account managers. We refused to take into account their labor costs, because if the manager conducts more than 10 projects (and we get something like this in WebCanape), then with manual time tracking, the time for switching between systems increases. We have not yet begun to automate this process, because it turned out to be difficult to calculate the time of telephone conversations, communication in the mail, and setting tasks automatically in our infrastructure. And now this is not our priority - the internal development department is loaded with releases of new versions of Canape CMS.
Empirically, we found that the project takes an average of 10% of the hours laid down in it, so we immediately include this figure in the estimate. If the manager performs the project task on his own (for example, develops a strategy or uploads photos), that is, he spends the time taken into account when evaluating the project, he indicates the hours spent in the corresponding task.
How we integrated accounting systems into the company's business processes
We did not immediately come to the current system. First, they solved problems pointwise, and then combined all the solutions into a complex.
It seems everyone worked as usual, but more and more often the deadlines for the completion of the project were disrupted. It was necessary to understand which segment of the chain the problem was.
Staff: up to 20 people
Developer time tracking
To understand where the holes form, we began to take into account the time spent by the developers, analyze it and adjust the structure of tasks and work schedules.
Project Time Exceeded
When they began to clearly control the time of the developers, the hours that were laid in the project during the sale were not enough, and the projects turned out to be unprofitable.
Staff: 35 people
Project profitability calculation
Analysis of the profitability of projects allowed us to adjust the estimate of labor costs for projects and bring more than 90% to the profitability zone.
Lack of consolidated production loading data
There were more and more projects, deadlines had to be met, production began to “suffocate”. Some departments were loaded a few weeks in advance, while others handed over most of the projects and were underloaded. There was not enough summary data on the loads for each department so that it was possible to correctly distribute the work on the projects.
Staff: 40 people
Labor and load data visualization
To visualize all the data on the loading of employees, we developed our own service, which received data from Redmine. The display of all the information is in the form of a heat map, where the color code indicates the underload / overload of a specific employee / department.
Staff expansion -> difficult to control
With the increase in profitability, we began to develop faster, invest more in marketing, which resulted in an increase in the flow of applications and, as a result, the expansion of the team so that these applications could be processed and processed. There is a need for automation of employee control.
Staff: 60 people
Integration with access control system
A large team is difficult to manage. To maintain labor discipline at the level, we began to take into account the time spent by people in the office. All our employees are officially employed by the company. Data on labor costs, the number of tasks and time at the workplace were combined into one system and got a clear picture of the departments.
Increase in the volume of orders -> the need for optimization of work
With the increase in the volume of orders, it was not enough just to consider the profitability and time spent by people at work. I wanted to optimize the processes so as to process a larger volume of orders without expanding the staff.
Staff: 90 people
Solving identified problems and optimizing performance
We became interested in how to make orders more cost-effective and reduce lead times. At this stage, we began to look for “thin spots” in production and to think over optimization methods in order to earn even more in the future.
Let us consider in more detail what work we carried out at each of these stages.
Step 1. Count labor
We started small - introduced a task tracker. They did not begin to implement any additional timers, they did everything in Redmine and their own CRM. This gave an understanding of how much time it takes for a particular task. All this was normalized - standards for types of tasks appeared.
After that, they set the hourly wage for developers. Thanks to these measures, our labor discipline has improved and an understanding has begun to emerge of how profitable the projects are.
Step 2. Keep track of profitability and deadlines
To account for the profitability and control of project deadlines, we have long developed our own project management system Canape CRM, in which we carry out all the company's services: from development to website promotion. The deadlines for each project are specified in the contract. We visually presented these terms in CRM.
The manager clearly sees in what time frame his project should be submitted, how many days are left, can suspend work for the time of approval. This also allowed us to display all the timing data on a large monitor that hangs in the center of the office. Such visualization stimulates healthy competition between managers, encourages developers, managers also pay attention to these reports and may be interested in the progress of the project.
In addition to the timely delivery of projects, in CRM we also see their profitability. The report displays a summary of the pledged and spent hours for each contract.
Based on these data, it is not difficult to conclude that each manager is effective. It can be seen how many each submitted projects, how many of them - on time, how much they earned for the company.
This is an open statistic - employees can see who is doing better and who is worse. In the CRM system, the rating is automatically built.
It is no secret that the main office confrontation is the confrontation between the manager and the developer. What to do if a developer drags out a project? We got out of this situation by sewing up the number of projects and the deadlines for their submission to the KPI manager and developer. So the manager does his best to control the developers so that they do not exceed their deadlines for tasks and donate them on time. We began to take into account the timeliness of the delivery of projects when transferring developers to the next grade.
As a result, we began to monitor the load on managers and executors, their effectiveness and the profitability of their projects. Based on these data, we formulate growth and development plans, apply the data obtained with financial incentives. All this translates into an increase in the level of customer service.
We see the reviews that customers leave. If we do not meet the deadlines, we warn and explain the reasons. Now it is controlled by the production manager.
Step 3. Visualize the load
After the previous step, there were some problems, one of which was that we did not have data on loading departments. We did not know and could not predict when, for example, layout designers rake the lines and will be able to take projects again. That is, we actually had all these data, but in a fragmented form. It was not possible to interpret them correctly.
To solve the problem, we developed another in-house service - Canape STAT. The Redmine system gives all the data on labor costs, tasks and projects to this service, where the labor costs and load for each developer are displayed in the heat map format. This is the real work that the employee put down on tasks in Redmine.
At the same time, we immediately see if somewhere there is an excess, a clear deviation from the required hours, flaws and other problem areas. In our company, a specialist must beat on tasks 7 hours a day. Thus, managers and specialists see how many hours each employee has worked; there are noticeable flaws and processing.
In the system you can select a specialist and see what tasks he worked on a particular day, how many hours he spent on them, and what comments he left. So you can identify the reason for the deviation from the norm.
Step 4 - integrate with ACS
After we brought this data to our system, it was still necessary to supplement it with some information that we lacked - data on the time spent in the office. So we combined the hourly labor accounting system with the access control system.
Now we see how much time a person spent on tasks and how much he was in the office at the same time. This eliminates the manipulation of labor. If the employee was at the workplace for 6 hours, and set tasks for 10 hours, the manager or supervisor will have questions. The system also helps maintain labor discipline. We see who is constantly late and who comes on time. When the office has more than 50 people and they are seated on two floors and a different office, it is difficult to keep track of such things.
In the same system, our HR specialists enter data on vacations, holidays, sick leave, fill out the production calendar.
Managers and colleagues see when someone goes on vacation or on sick leave. This simplifies communication in the team. All statistics are open to employees.
It also shows the planned number of hours for each department and for each employee, as well as how many of them actually worked out this month. Thanks to this HR department, reporting has become easier. We were able to plan the time for self-development, when we estimated the standard number of hours per month and compared with labor costs for commercial tasks.
Step 5 - optimizing processes
Everything already looked good enough, and it became easier to control the processes, but one problem was not solved at all - it was not possible to correctly prioritize tasks. The standard principle of “what burns - we do first” did not work, because with this approach all tasks sooner or later turned into burning ones due to the fact that they were constantly postponed for the sake of more urgent ones. Accordingly, it was necessary to somehow understand what to do faster, and who should make decisions.
To solve this problem and give the employee an understanding of how to download it, we again finalized Canape STAT. Now experts see their tasks, distributed about a week and a half ahead, and can systematically carry them out, given the time remaining on the task and the performers inside this task.
The manager and developer do not need to clarify with each other who will do what, when and what task. Everything is in the system. Tasks with the statuses "Evaluation" (you need to give an answer to a new client) and "On display" (when you need to put something on a live site) go first by default. There are tasks with the status of "Not Sold." This means that the project will definitely be launched, time needs to be allocated for it, but it is not yet possible to start the task, because some data on it is still being specified. The tasks also include the “Priority” label - these are the most urgent tasks, and only the department head can set such a label.
What have we come to
This is a long way that we have not yet come to the end. As in any company, we still have bottlenecks that we are working on. The subtotals are as follows:
- Improving the speed of completing tasks and delivering projects.
- Forecast of production load for a month in advance.
- Forecast of the need for human resources.
- Management Reporting Tool.
- Over 90% of projects in the profitability zone.
- Another internal service :(
The last point is not very pleasing to us, but when we started this process, neither Bitrix nor AmoCRM was there. We wrote our own tool for ourselves without relying on external services. If such problems had now come before us, we would, of course, have sought a solution on the side, and today this is our bottleneck. Maintaining and improving the system requires a lot of resources and development efforts. However, there is a positive point - this is a serious challenge for new employees. They pump their skills on our domestic products.
Logic of the accounting system of working hours
- Does not interfere with the workflow.
The most difficult thing for employees in our system is to pinpoint their time on tasks and apply a pass in the pass system. It’s hard to imagine that someone couldn’t handle it.
- Covers all employees.
Director, department heads, team leaders, line employees, administrative staff - the rules apply to absolutely everyone. All keep records of labor costs and report on time spent at the workplace. This allows us to accurately track the profitability of projects and the cost of internal tasks.
- Open to all.
Everyone can go to Canape STAT and see how much time he or his colleague worked on the project, when they come and go, compare themselves with the team.
- Blocks department managers.
We trust employees, but control them. The head checks the labor discipline approximately once a month and, if there are systematic violations, conducts a conversation with the employee. He is responsible for overloading the department, underperforming subordinates and their low productivity, since he has all the tools to intervene before the problem has become critical.
- Built around profitability.
Achieving and improving profitability is the main goal of implementing this system. All tools within this system are focused on maximizing the economic effect of the company.
- It is being introduced in stages.
Global changes cannot be entered in bulk. This may cause dissatisfaction of employees, confusion when accounting. We integrated the new accounting tools gradually so that everyone could reorganize and adapt to new conditions.
We constantly rethink our internal processes to make time tracking more complete and less tiring for employees. Tell us how is it organized with you? What metrics do you use to evaluate the profitability of projects?
Now we are preparing another material on how and why we developed our own CRM. Subscribe to the channel in Telegram so as not to miss.