Interface rewriting in an agile way
- Created on 04 May 2018
Back in February, one of our clients came to us with an urgent issue. As the customer stated, they had a backend-sided system having multiple instances operating on a 24/7 basis. However, problems have occurred recently due to the raised number of the transactions, the existing system had occasionally data inconsistency and reach very high operating costs.
We aggreed that we would help them with reshaping the existing applicaton. Firstly, we examined the existing codebase, then, based on our estimation, we planned the Backlog and the Sprint timeframes. Our aprroach was to create a stateless solution based on the original codebase, improve the quality and reduce the response latency of the service.
Owerall we planed 3 Sprints (2 weeks as 1 Sprint) for the project. Fortunately, we finalized the project with one more sprint focusing on some glitches and to the complete the third-party integration and testing. We felt quite proud as we tackled several challanges through the project with succes like minimally documented codebase, third-party library components, non-common web service implementation,or using unimplemented external resources.
Some facts and results from the project:
Technology stack change:
- Java 7 -> Java 8
- Apache Tomee -> Java SpringBoot
- Applied Microservice Architecture (Get to know this Tech here)
- Code refactoring
- Changed data structure
- Changed REST API
- Removed obsolete Jack Rabit
- Applied CI in DEV environment
- Automated component and E2E tests
Used techs and solutions:
- Docker (Get to know this Tech here)
- Gitlab Runner
- SOAP UI for Rest tests and service mocks
- Swagger and Javadoc for documentation
What are we proud of:
- We delivered the solution in 8 weeks!
- We managed changes in the Agile way!
- We increased our customer satisfaction and happiness!
- Community added values: Github model mapper bugfix!
You can read our success story in Test Automation project here.