Business process management for customer service


Project summary: business process management for customer service is designed to automate the client service business processes in telecom operator companies.

The functions which the business process management for customer service performs:

  • Workflow automation.
  • Setting the filter of client appeals by specified parameters.
  • Getting statistics and generating reports, creating arbitrary reports, saving the report to a file or exporting reports in various formats.
  • Performing group operations on processing appeals.
  • Ability to define the conditions of displaying attributes in various processes of the route
  • Creating notes for clients, subscribers and contact persons.
  • Monitoring of appeals processing; the ability to track the current state of appeals at any time.
  • Administering queues of appeal processing.
  • Automatic archiving of appeals at the specified time.
  • Registration and processing of system problems.

What problems the system solves:

The main objective of the system is the registration and processing of incoming appeals from clients. All the company's contacts with clients are recorded by operators of service departments.
Information on such appeals is accepted and registered by operators, processed and systematized in the database with the required level of detail. Depending on the client's appeal the certain actions are performed, the decision is taken and then the client is sent a notice of the results of his appeal processing. The client appeal is closed and the information is stored.

Technical side:

The project has frontend and backend parts. Our responsibility was to develop backend part of the project.

Backend was implemented on the basis of REST API services (Spring MVC), automatic build - Maven, RESTful web API and XML/JSON serialization-deserialization - Restlet, logging - Logback, Unit testing - JUnit, ORM/JDBC - MyBatis, as name service and to configure access to external services/application Apache ZooKeeper was used.

Our team was working on the modernization of the system which already is used by the customer - we developed Open API interface.

Open API is an open communication protocol that is available to third-party developers and allowing to solve any internal business problems of communications operator.

Switching to Open API within the existing system is justified by the following requirements:

  • System integration with external systems.
  • Creation and editing appeals to the system on the basis of the parameters received from external systems.
  • Moving appeals on the route within the system on the basis of external systems events.
  • Sending notifications and escalations.

Technologies: Spring, Apache Camel, JUnit, Jackson, Log4j, SLF4J, Logback, Java servlets, Mockito, MyBatis, Restlet, Liquibase, Hibernate, Maven, Oracle database, Apache Tomcat, Apache ZooKeeper, Confluence, Jira, Stash, TeamCity, Git, Oracle Client, RubyInstaller Development Kit (DevKit), Bundler (RubyGems), Ruby.


Project features:

  • Participation in the development of the complex multicomponent system.
  • Using iterative development approach - two-week iterations, participation in retrospectives.
  • Participation in the daily stand-ups and sprint planning.
  • Work in a distributed team (3 cities, 2 countries), with highly qualified professionals - Senior level developers.
  • Help in preparing for the weekly demo to the customer and participation in this demo.
  • Regular cross code review.

Project results:

  • Within the work on the project the new features were developed, a number of problems was fixed, the automated tests were written, the functionality was tested.
  • We have performed: analysis of existing implementation, code review and refactoring; proposals for improving architecture were announced.
  • As part of work on the database the finalization of tables, change of fields, improvement of procedures, modernization of functions were made.
  • All customer requirements have been satisfied. In addition, we have made proposals to improve the architectural solutions that have been adopted and implemented.
  • Implementation of the developed client management system in business processes of many telecom companies will allow to solve the problem of operators activities automation in part of receiving and processing of client appeals, and will help to maintain the telecom operator's client loyalty.
  • Connection software, hosted on different locations, through Open API allows to integrate the work of different data centers, distributed offices or branch offices.

Company's achievements during the project:

  • Made a number of proposals to improve the architecture.
  • Performed tasks successfully and in the set time frame, the customer repeatedly gave positive feedback on our teamwork, noted the high speed of development and excellent code quality.
  • Carried out the work according to Scrum methodologies.
  • Customer recommended our team to his colleagues.
  • Took an active part in the discussion and decision-making on development with other teams.
  • Established effective interaction with a remote team of developers and QA engineers.
  • During the work on the project, our team improved their extra skills in Apache Camel Java framework.
  • Successfully solved a number of problems associated with the optimization of the existing code and writing new functionality.


Aleksandr Polunov, Сhief of CRM solution development groupPeter-Service Inc, Software development company for Telecom industry, Russia

I would like to commend the work of the JazzTeam team members on our project during solving complex problems, their serious and thoughtful approach to problem research, their active participation in the architecture update, their advice and assistance to our employees. It is also worth noting that the guys offered non-trivial solutions and were always in touch.

Separately, I want to mention the constant JazzTeam’s managers involvement and efforts to support employees. In fact, it is quite a unique phenomenon, none of our other contractors have such participation from the management side.

We have already recommended JazzTeam engineers to our company colleagues. And if on our project the need for assistance arises again, it is likely that we will engage them once again, since there are no serious claims, and their code is good.

Good luck in all affairs!