Case study | CORE SE
Insurance Company under the Digital Transformation
The customer, an InsurTech company, has an outdated IT system which has been in use for 40 years. Due to the fact that this system supports key processes for the functioning of the company, the customer decided it was time to implement a new solution. To do so, they turned to one of the leading German consulting firms, CORE, which specializes in the strategic management of digital transformation. An analysis of the company’s needs resulted in the idea to implement a system based on modern architecture, using microservices.
Project description: Microservices
Microservice architecture is most often applied in large and complex IT systems which require multidirectional development. Within a single, integrated system, independent applications function in support of particular departments, functions, or business processes. Microsites are independent of business and technology, which means they can be developed in parallel by different design teams. There is no need to make changes in other areas in order to introduce a new feature in one area, so potential problems resulting from the development of individual modules do not interfere with the operation of the system as a whole.
One advantage of such an approach is the possibility of introducing cutting-edge technological solutions in individual microservices - without the massive workload required to adapt the entire system to these changes at once. This solution, if necessary, can then be used in other areas of the system, but may also be limited to only one microsite.
This model also helps with the organization of the work done by developers – for each microservice there is a different multi-person project team. The main advantage of this solution is the clear division of responsibility - each software development team is responsible for the entire development of their microservice. This provides a lot of independence, but it also means responsibility, and an element of competition also arises - every team wants their microservers to be the best, and to have their solutions used in other areas of the system.
"The system is designed and developed so as to be as universal as possible: at this point the target client is operating in the B2B financial industry, but expects - after minor modifications - to be able to use the same tools for any other insurance service".
The JCommerce software development team
CORE, which specializes in consulting services and mediation between customers and IT service providers, has turned to JCommerce with a proposal to undertake a project related to the implementation of several microservices. The effect of JCommerce's quick response was the creation of the first strong team of specialists required to complete the pilot project. Its members include a project coordinator, SCRUM masters, an architect, a business analyst, front-end specialists, Java developers and testers.
The success of the first project resulted in the development of cooperation and the creation of new teams, which were entrusted with work on three microservers, responsible for the following areas of the company's operations:
- configuration and negotiation of contracts.
Currently the software development teams consist of a total of >25 JCommerce specialists, with plans to further enlarge them going forward.
Organization of the project
The people responsible for the project come from three different companies. It is the task of CORE specialists to organize the work in such a way that each team performs their tasks efficiently within the time allocated in the schedule. On the target client side, several Business Experts are involved in the project - each responsible for a separate microservice. These people present needs, meaning what the expectations are in terms of the system, and what functions are required in a given area. However, they are not technically-minded, so they are unable to present the technological means of fulfilling expectations. The JCommerce teams work with business analysts to translate client requirements into technical capabilities and business realities.
Teams are largely self-reliant using Scrum methodology, so all the recommended events are organized (Daily, Grooming, Sprint planning, Estimation, Demo), generic meetings of all parties involved are content driven.
Cooperation is also facilitated by JCommerce's flexibility in terms of the composition of the team, such as when more specialists are required, or when it is necessary to organize replacements due to illness or change one technology to another, as and when such changes are needed.
"There are just a minimum of periodic meetings - because a high amount of artificial meetings are inefficient and the focus lies on an open daily communication. When things need to be discussed, team members just call each other on Skype. We can call our co-workers at CORE and the end user at any time. Collaboration is based on trust: the team can offer solutions and technologies, which the customer usually agrees with. This brings with it a sense of great responsibility for the project, and consequently, great dedication from our team members to the tasks which they have been entrusted with."
Communication and the exchange of information
The cooperation between the three parties involved, namely the target customer, the consulting company and the software development partner, is a very interesting aspect of collaboration. Due to the high level of complexity of the project, such cooperation must be based on efficient communication and trust, as well as a high degree of flexibility in communication and planning, without which working in such a model would be impossible.
The current flow of general technical information and the communication of announcements takes place via email, while Skype is used ad hoc for voice and text communication. Dedicated channels have been created with appropriate groups of people (e.g. the whole team, developers, a separate channel for analysts to contact the end user, etc.), thanks to which messages reach the right people, saving time for the remaining team members.
In addition to general tools, particular team members utilize specialized solutions for specific communication purposes, such as:
- JIRA – to manage tasks and requirements and implement the Scrum process, and to specify requirements;
- Stash – for storing and versionizing code, as well as technical specifications (e.g. REST query format, etc.);
- TestLink, Xray – for storing testing procedures;
- Confluence – to create documentation and general information for the project.
- On the end user side, it is primarily the access to high-level specialists who are deeply committed to the task, so that they can carry it out mostly by themselves
- The technology partner’s (JCommerce) specialists bring their experience and knowledge of the latest solutions, while also utilizing the expertise of the consulting partner (CORE), and gain knowledge of the target client’s industry
- CORE has the opportunity to cooperate with a committed technology partner who is able to achieve ambitious project targets to deliver a fully satisfactory system to the target client
About a client
Core Transform is one of Germany's leading consulting firms specializing in the strategic management of digital transformation.