Nimble Approach

Completion of a delayed and stalled integration project

Yobibyte Solutions was fundamental in getting the project unblocked and making quick progress in dealing with multiple issues

Project Synopsis

Nimble Approach, a technology consultancy, required Yobibyte Solutions to help complete a delayed and stalled integration project for their utility based client and deliver it to their internal users as soon as possible. The project consisted of middleware between two systems both of which were third-party applications. A sudden lack of resources meant the project had stalled and was a top priority for the end client.

The Challenge

Due to a lack of documentation, it wasn't clear what functionality had been completed so understanding what had been developed and what was and was not working was a top priority.

From a technical perspective, developer documentation was scarce and the few unit tests did nothing more than print out the result.

Deployment to Openshift was also manual, undocumented and error-prone.

Furthermore, the code was using the very outdated Java 8 and other libraries which all needed to be upgraded before the internal application support team could support the application.

It soon became apparent that the configuration of one of the third-party applications had been broken due to poor configuration management practices causing the working configuration to be overridden. This was a complete blocker to progressing with the integration and needed to be fixed with the utmost importance.

The Process

The first task was to unblock the project and fix the third-party application configuration such that the integration could be tested. Yobibyte Solutions took responsibility to fix the broken third-party application configuration. This required working directly with the third-party vendor to understand what was wrong and how it needed to change.

Once the configuration was working, we made sure that this was committed back to source control by the team responsible for deployments. This unblocked the project and allowed further progress to be made.

With the third-party application now working, it was possible to start testing the existing integration middleware to see what worked and what didn't. However, Yobibyte Solutions advocates the use of robust, meaningful tests and the existing tests weren't verifying behaviour so they had to go. You can't update an existing codebase with confidence unless you have a good suite of tests.

Yobibyte Solutions created a full suite of tests producing 95% line coverage to test all the functionality that had already been developed. Updates to the code base could then be made confident of not breaking existing behaviour.

One of the third-party software components was giving cause for concern in terms of reliability. Yobibyte Solutions was asked to help put something in place to test this third-party component and therefore developed a bespoke load testing application to provide options for end-to-end testing.

This allowed the testing of a data extract from their old system such that it could either be played back in real-time or for a defined period. This testing proved there was an issue with the third-party component which needed a fix. The tests were run again after a fix was provided satisfying the end client that the third-party component was now reliable preventing a delay to the planned production deployment.

The Success

Yobibyte Solutions was fundamental in getting the project unblocked and making quick progress in dealing with multiple issues in the process of getting the integration project delivered.

The solution was deployed to production and a pilot with the end users started. Of the teething issues that arose, these were due to business processes and issues with the third-party application.

The code base was left with detailed developer documentation and improved code quality with a full suite of tests. The end client was very happy with the progress and contribution made by Yobibyte Solutions.

Tech Stack

Java 11
Spring Boot
Apache Camel
Apache ActiveMQ
Redhat Openshift 3
MySQL
Maven
Lombok
Helm
JUnit
Mockito