CASE STUDY

EasyHR

A Swiss company providing cost-effective solutions for recruiting, human resources, time tracking, and productivity.

Solution

Web Development

Industry

Human Resources

Outcome

The Computools's team developed a solution for the client that fully met the pre-agreed requirements and matched his needs. The finished CRM software solution has become an integral part of the client's modular product line and is in demand among its consumers. This allowed the company to significantly increase its profits and strengthen its position in the market.

Several key options we solved:

  • The ability to create users with clearly limited rights.
  • Implemented an automated notification system.
  • Introduced the ability to create reports.

+95%
Throughput, Users
+83%
Average Order
+68%
Increasing Productivity
+52%
Increasing Revenue
-39%
Reducing Costs
60%
Business Process Automation

PROJECT DESCRIPTION

The client is a Swiss software company that provides innovative, cost-effective solutions in the fields of recruiting, human resources and talent management, time, and project recording. It also provides customers with easy to use, comprehensive in execution, and customizable HR processes. The company already had a number of tools in demand among consumers, however, there was a need for an additional CPM solution.

The client turned to Computools for CRM platform development. The main challenge was to create an efficient and intuitive tool for managing shift planning. One of the mandatory requirements was easy integration with other client's products and the ability to use this product independently. The Computools's team completed the necessary work to embody the client's idea, implementing the necessary functionality into the CRM system, which allows the Manager to manage the shift planning process in a few clicks.

Tight schedule

A preliminary analysis of the market, determined specific customer needs, and use cases

Complete and detailed project documentation

Communication Framework

Computools
Business Analyst
Project Manager
Team Lead
Developer
Developer
EasyHR
CTO
Communication

One of the keys to successful cooperation is a properly created communication framework. To collaborate on a project, the most convenient and effective communication methods are always selected, providing quick contact, and receiving answers to urgent questions. To make CRM platform development efficient, Computools used Slack for communication, email for exchanging data and reports, and face-to-face meetings.

Business Process Mapping

01
CONSULTING

Consulting on the project is a mandatory preparatory step, thanks to which the main goals and objectives of the project, possible subtasks, and functions are clarified. After determining the needs of the customer, we conduct a deep analysis of existing turnkey solutions, methods used by competitors. Also at this stage, risks and perceived obstacles are identified.

02
DESIGN

The design phase includes two large processes carried out in parallel. The project specification is created: a step-by-step algorithm of actions for the project. The final specification is formed after the completion of the project. An interactive prototype of the future service is also being created, which allows to study the basic functionality and get detailed feedback from the customer. This project was implemented without building an interactive prototype.

03
ENGINEERING

Further, a team of specialists is formed to work on the project. The number of experts necessary for the timely completion of tasks is determined. The first meeting of the new team is conducted. The development process is carried out according to the written specification and the selected project methodology. After assigning tasks to performers, the project manager carefully monitors their implementation. Testing takes place at the end of each development phase, which allows us to produce finished products of high quality. In the final, automatic and manual testing is also conducted.

Digital Platform & Technology

The stack of technologies used to develop CRM platform was predetermined by the client. However, Computools’s developers were free to choose the most optimal solutions based on their experience and knowledge.

Computools
Business Analyst
Project Manager
Team Lead
EasyHR
CTO
Communication
Node.js

It is a runtime environment, based on Chrome’s V8 JavaScript engine. Node.js has a lot of benefits, such as better efficiency and overall developer productivity, code sharing and reuse, speed and performance, easy knowledge sharing within a team, a huge number of free tools. It makes a lot more flexible, the development is less time-consuming and as a result, we get fast and reliable software.

React

React is an efficient, declarative, and flexible open-source JavaScript library for building simple, fast, and scalable frontends of web applications. React basically allows developers to utilize individual parts of their application on both client-side and server-side, which ultimately boosts the speed of the development process. React code is easier to maintain and is flexible due to its modular structure. This flexibility, in turn, saves a huge amount of time and cost to businesses.

System architecture

Specification

Creating a specification takes place in several stages. A preliminary list of actions is the basic algorithm for working on a CRM software building project, which is further supplemented and improved. The final specification is drawn up upon completion of the project.

Goal - manage shift planning.

Main Flow
1. HR creates and maintains a list of employees.
2. Employees record their (planned) absences.
3. The Manager acquires data on the workload;
- creates a work plan;
- adds detailed information on shift;
- assigns employees.
4. The employee receives the notification of this new shift.
5. Employee “clocks in” for the shift.
6. The employee finishes his shift.
7. The Manager creates a report for working hours.

COMPUTOOLS TEAM

A team is formed individually for each project. The team of experts was assembled to successfully develop CRM platform. Each CRM developer has the necessary skills, knowledge, and experience to ensure the high quality of performed work. Throughout the project, the productivity and effectiveness of the entire team are constantly maintained.

Project Manager
Artem Karpukhin
Team Lead
Mikhail Bobrovsky
Business Analyst
Nikita Abelmasov
Developer
Stanislav Vdovenko
Developer
Sergey Vasiliev
Quality Assurance Engineer
Gleb Kovalenko

BACKSTAGE

Maintaining the productivity of the entire team is the core of the successful interaction of all its members. Besides, it stimulates the development of each involved employee and contributes to his professional growth. To do this, we use a variety of methods and tools.

Dev meetings
At developer meetings, our employees share experiences and their project successes. This helps to see and evaluate the work from the outside. In some cases, the exchange of experience helps to find the best solution for the next section of the project.
Team Brainstorming
The brainstorming sessions help our engineers to find a really innovative solution. They stimulate creative activity and each participant has an opportunity to offer as many options as possible, including the most fantastic ones. It helps to hit the necessary ideas and solutions.
Feedback
The Computools team fostered transparency through continuous project delivery and regular feedback sessions. The client could assess and evaluate the progress and introduce new requirements, spurring the developers to increase efficiency and find innovative solutions.

Internal Communication Flow

One of the main goals of the Compotools team is to finish the project in time and meet all intermediate deadlines with completed tasks and solved issues. To provide quick decision making and solving any difficulties while implementing CRM options to the product developers used Slack and retrospective meetings. The project Manager used Asana to set tasks to team members and to monitor assignments.

Project Management Methodology

Application development is conducted as efficiently as possible according to the agile methodology. Scrum was chosen for this project, and the workflow itself was divided into convenient segments - sprints. During the sprint, code was developed in the frame of tasks. All participants in the project at the end of the sprint carried out a check and sent a report on the done work. This allowed to identify errors and bugs in the early stages and eliminate them. This ensures the stability of the developed code, its purity, and its high performance. The key benefits of using Scrum are the quicker release of a useable product to users and customers, higher quality, higher productivity, lower costs, greater ability to incorporate changes as they occur, better employee morale, better user satisfaction.

PROJECT TIMELINE

1 week
2 weeks
12 months
1
CONSULT
Defining goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining main restrictions and providing solutions for them
  • Identifying the main risks
2
DESIGN
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
ENGINEER
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Development of a road map, dividing the development process into parts
  • Implementation of the first series of solutions
  • Implementation of developed elements of the platform
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Engineering

Since the main task was to create a composite platform, the developers worked separately on each part, gradually connecting them together. At the intermediate stages, additional testing and debugging of the platform were carried out. The team sought to initially stabilize the platform in order to make only minor amendments in the future and to promote easier and more organic CRM implementation.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/nodejs-sample

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.