Our client is a global insurance custom software development company (1.6M+ EUR in revenues in 2016) with a team of dedicated insurance and IT professionals working in London (Great Britain), Tallinn (Estonia), Riga, Vilnius, Warsaw and California, USA.
The global insurance market is constantly growing. There a lot of brokers, insurance companies, and their customers. Our Client aims to integrate them all into intermediary Insurance SaaS platform. Today more than 120 brokers in over 30 countries use its in-house made solution and their amount is constantly growing. The Client asked us to enlarge his team with the help of dedicated software developers from our side to speed up the process of maintaining his system and adding new complex custom features to it.
- Our dedicated developers needed to plunge fast into the existing product, its business logic, architectural features and coding standards to be able to maintain and customize it;
- Our Client has its own developers and we need to adapt to them, to become a part of ONE team united by a single goal;
- The main customers of our Client are Managing General Agents (MGA) (insurance intermediaries, who have underwriting authority from insurers). The uniqueness of this SaaS platform is that our Client can customize the product to meet specific demands of its customers. The challenge is that initially the “Core” of this application was designed as a slightly scalable Monolith, hence adding any new functionality to it is a non-trivial task, because customization can disrupt the whole system.
- Agile-based management (one-week sprints with reports);
- Implementing AutoTesting-First Approach (using selenium testing, unit, and behavioral testing), continuous integration to be sure that customization does not break any part of the Monolith;
- Implementing Code reviews. That means that code of a certain developer must be checked and approved by two other experienced developers or the team leads. It helped to increase the general quality of code.
- Using microservices architecture and refactoring anywhere it is possible. For example, we used Laravel to create insurance calculator to speed up the quote calculation for brokers who also use this SaaS system. With microservices, it is easy to test API calls and create documentation for new functionality;
- Maintaining the code of the Monolith written before us (bug fixing);
- Maintaining the synchronization between crucial databases.
ADAPTATION AND WORKFLOW
The Team Lead, 7 programmers, and 2 QA-engineers represent our team of developers. The Product Owner and the Scrum Master from our Client’s side control the development process. Using of Skype, Microsoft Teams, Jira, and Confluence provides effective communication between us.
The adaptation period of the team of our developers with the workflows and teams of our Client was about 2-4 weeks.
The development management is Agile-based. That lets constantly discuss the implementation of new tasks and features, and then successfully cope with them within a week. Each task of our dedicated team should be resolved by Thursday evening. The duration of one sprint is one week, so releases take place every Friday.
All the tasks have 4 statuses: 'to do', 'in development', 'needs to review' (require merge request), and 'resolved' (‘Implemented, but needs to be tested’, ‘in Live’, or ’Completed’). The Team Leads organize daily stand ups at 11:00 to monitor how the development process is going: what tasks have been done, what tasks are planned to be implemented today, and what problems have to be solved.
Our developers go on business trips to the Client’s office when it is required to discuss new important ideas, share the mutual experience or participate in the development of new features as a part of the mixed team.