Booking.com’s fintech team improved both backend and frontend, doubling delivery performance per DORA metrics. They also utilized Micro Frontends to divide the monolithic frontend into separate deployable apps.
In mid-2022, Booking.com formed a new engineering team to manage finance processes. This team inherited architecture with a monolithic frontend (Perl/Javascript with Vue Framework) and a Java backend with microservice dependencies.
The team realized that modifying existing codebases and deploying them was risky and time-consuming. To enhance delivery frequency, they embraced tailored DevOps metrics from DORA, tracking crucial performance indicators. Engineers recorded delivery speed metrics (deployment frequency and lead time for changes) to set a baseline. They also prioritized custom reliability metrics like service availability and open defects over DORA metrics (change failure rate and mean time to recovery). From March to November 2023, delivery speed metrics doubled while maintaining stable quality and availability, as per the team’s measurements.
During the observation period, engineers enhanced Java backend code quality gradually. They favored smaller merge requests to streamline code reviews and prioritize them among team members. Additionally, they refined the deployment process, reducing manual verification steps and relying more on automated testing. Ultimately, they achieved fully automated deployments, slashing deployment time from 40 to 4 minutes. Egor Savochkin, senior engineering manager at Booking.com, discusses the team’s strategy to minimize risks and improve code quality while making changes.
“The team adopted the Boy Scout rule to improve the code quality by refactoring and test automation while not stopping all the feature work. While implementing changes or fixing defects, you also strive to improve the code around. This does not need to be a huge improvement. This may be as simple as adding unit tests to the classes you touched or making small refactorings to fight code smells.”
After transitioning the monolithic app into Micro Frontends (MFE), the frontend also improved, though not as swiftly as anticipated. By refining the code review process and decreasing reliance on external approvals, review time dropped to 8 minutes. This enabled the team to shift to more frequent, smaller deployments, cutting deployment time to 1 hour.
Link to the Article
https://medium.com/booking-com-development/dora-metrics-at-work-46c835a86a89