Tracking schedules and salaries of the KeenEthics team
What Is Attendance?
|Location:||Lviv, Ukraine 🇺🇦|
Attendance is an internal KeenEthics project – an employee scheduling tool, which allows employees to conveniently and quickly manage their schedule. Here, they can request schedule changes, inform about vacation days or a sick leave, check the information about their salary coefficient, learn about days-off and bank holidays.
Tracking employees’ schedules and salaries used to be an actual problem in our company. Thanks to the proactivity and enthusiasm of the Attendance development team, the problem was successfully solved. Attendance is an excellent example of a project idea that we turned into a perfect final product.
Alex Pletnov CTO at KeenEthics
|Technologies:||Fastify, Typescript, Nest, TypeORM, Vue, Buefy|
|Team:||1 Product Owner, 1 Project Manager, 1 Tech Lead, 2 Full-Stack Developers, 1 UI/UX designer, 1 QA Specialist|
Challenges & Solutions
There used to be a problem with tracking the attendance of KeenEthics employees. Team members had to ask their manager in person whether they could take a vacation, a sick leave, or a day-off. If the manager approved their request, they had to inform the administration via email. Then, the HR manager had to enter all the data manually to a Google spreadsheets table, which was working too slow because of complicated formulas and a huge amount of data. At the end of each month, the accountant calculated the salary coefficient for each employee based on the data from the spreadsheet.
Using a ready-made employee scheduling tool was not an option. Ready-made solutions did not fully cover our needs and specifics of salary calculation. For example, there are five different types of events in our system. Some of them influence the salary coefficient, while others increase or decrease the balance of vacations. Ready-made solutions would be hard to customize to suit our requirements and constraints. More than that, they would probably cost us more.
“We investigated several ready-made ones, but they didn’t fit our processes, were not too flexible and could become more expensive in the long term.”
– Alex Pletnov, Product Owner
We started by researching the idea and designing user experience. We started with interviews with managers, asked how they did this process and what difficulties they had. The major insight was: managers did not complete all the requests on time, and the possibility for a mistake was large. Every UX and UI decision was viewed through the lens of helping teams get to a point of productivity sooner. Also, the users expressed the desire to stay connected at all times and to have the mobile app developed in the first place.
“One of the major responsibilities for the designer was to improve the everyday process. The trickiest part of this project is to create a product for your team and for yourself, feel all the responsibility.”
– Oksana Pleten, UI/UX Designer
We were happy to have an unlimited opportunity to test our product – we could access end users any time as we are working in the same office. User insights did not take long. Respondents gave a lot of interesting ideas for product enhancement. After each testing session, we started brainstorming and prioritizing tasks for the upcoming sprint.
Then, we launched the development and testing. Our task at the beginning was to develop an application with simple functionality, where the workers could submit their days of absence and the managers could approve or reject them. Functionality requirements were mostly based on existing spreadsheets. The project hypothesis was to keep it simple without additional information. To our surprise, it was quite the opposite! Not only the managers wanted to use this app but the HR department too. This required an increase in functionality, a more complicated role division, and a great emphasis on UX.
“The hardest thing was to think over the logic of making the absence requests and how they influence the salary coefficient and vacation balance. To implement the salary coefficient computation was also quite challenging.”
– Yaryna Korduba, Full-Stack Developer
Considering the user experience, we have decided to develop a dashboard with the essential and most frequently used functions on the main screen. Depending on the user role – are you an employee, a manager, or a system administrator – everyone sees an individual interface. This should be a system for everyday use. A user should not only submit their request and receive notifications on the status updates from the manager but also get the information about their coworkers. With this system, one should easily see who is in the office or absent today. Everyone should also be able to get information about their salary coefficient and the number of vacation days they have left.
The plan is to fully migrate the attendance tracking process to this system and to gather more information on its issues and improvement ideas. In the future, it might be better integrated with our accounting and HR management systems. We may discuss and implement small change requests from the workers of the company or extend the functionality to calculate the exact salary.
Seven people were working on the project – a Product Owner, Project Manager, Tech Lead, UI/UX designer, two full-stack JS developers, and a Quality Assessment specialist. Yet, almost everyone in the company was somehow engaged in the process of research and development.
The project development was organized according to Scrum methodology. The requirements were constantly changing, and the team needed to communicate continuously.