Evooq – Advisory modernization
February 2022 – March 2023
Why
Evooq wants to modernize its Advisory product to reduce its internal costs due to a growing number of clients, and reduce the total cost of ownership on the client’s side. Moving to a cloud solution should contribute to regain control over a majority of the software components, including delivery frequency and observability. Finally, this is an opportunity to raise the bar in order to offer quality daily deliveries.
What
- Feature development on an advisory software solution used by investment businesses.
- Modernization of the existing monolithic advisory software solution to a cloud-ready software product.
Requirements
- To move the current on-premises solution to an hybrid cloud solution.
- To maintain the daily business with the existing clients.
Challenges
- To contribute to the daily business while doing tactical steps of modernization.
- To design tactical modernization steps for reducing the technical debt.
- To improve the experience of end-users, developers, UX-designers, integrators, and QA-engineers.
- To deal with a growing number of clients while maintaining a standard product.
- To deal with heterogenous clients configurations and with different releasing cycles.
Organization
- 3 Scrum Teams of 8 software engineers (me) and 1 product owner
- Moving to smaller teams organized around bounded contexts (Team Topologies, Inversed Conway’s law)
Practices
Software Development
- Scrum
- Event storming
- Specification by Example with Example mapping
- Behaviour-Driven Development (BDD)
- Acceptance-Test-Driven Development (ATDD)
Software Design
- Domain-Driven Design (DDD)
- Clean & Hexagonal architecture
- Contract-first API design
Technology
- Java, Spring-Boot
- PostgreSQL, MySQL, Oracle
- OIDC, Keycloak
- Github CI