The customer is an international company, delivering high-tech solutions to automotive manufacturers all over the globe. The company sought to refine its development processes in order both to shorten the release cycle and to enhance the product quality.
There were some weak points in the customer’s development process that MERA had to cope with:
To address and solve the challenges specified by the customer, the MERA team adopted Continuous Integration (CI) practices. CI introduction helped to automate most of the manual parts of the process. In addition, it allowed to get feedback faster and to react accordingly. All of this meets the best practices and makes the process more agile-like: to fail fast, to fix sooner, to succeed faster. The solution provided by MERA enables the customer to reduce expenses and to increase quality at the same time.
Besides that, the MERA team added static analysis to the CI pipeline to address code quality issues. This step provides instant feedback about a new change, enabling the return of the bad code back to developers for further improvements if necessary. To speed the build process up, MERA developed a solution that recompiles only changed components and their dependencies. Unchanged components are taken from the repository, containing compiled components, and added to the package without compilation. The MERA team has built the solution on top of Docker, Artifactory OSS, and cmake.
In the scope of the project, we automated the deployment process to make the process continuous and to decrease manual efforts. The product was installed in an automated way to the test environment and then automated smoke/sanity test suite was executed to verify if the new changes break the build and if it makes sense to push the build to the further automating and manual testing stages. MERA implemented automated smoke/sanity test suite using Python and Robot Framework.
The solution implementation and the development process refinements allowed reducing build time significantly (up to 85% faster, depending on the number of changed components). In addition, the number of product issues tended to decrease according to the customer’s bug tracking metrics. Finally, once again based on the metrics, many issues are now caught at early stages. This helps the manual test team to focus on more thorough testing of the product features, rather than to find issues that could be caught sooner, hence increasing the customer’s product quality.
jFrog Artifactory OSS