

With the project nearing completion, we are already at a 50 percent reduction in effort (in days) for new product improvements. Each module migration, from the very first to the very last, resulted in a corresponding increase in velocity. Even better, we saw this increase immediately during the module migration phase of the project. The culmination of these improvements is a 200 percent increase in velocity.

Lakshimi Duraivenkatesh, VP (Buyer Experience Engineering) at eBay, and co-authors describe the outcomes of the modernization work:

To streamline the process further, they decoupled back-end changes from the user-facing ones, allowing the back-end team to complete subsequent migrations faster. Instead, they focused on a quick survey of legacy modules to generate a high-level summary, reverse-engineering the existing functionality, and documenting the new implementation. The team attempted to prepare for the changes by first analyzing and documenting the legacy code, but the process has proven challenging and slow. Finally, the clients were updated to use the new service, and legacy services were decommissioned. To allow for incremental migration, the approach towards replacing the existing architecture involved introducing a new service that was firstly just proxying the data and gradually moving and consolidating the business logic for all the platforms. The new architecture required consolidating the three existing services developed to support different platforms into a single View Item Experience Service that would power the user experience across all platforms, removing code duplication and improving developer experience and productivity. The team decided to address the situation and agreed on improving the key DevOps metrics, as defined in the Accelerate book by Nicole Forsgren, Jez Humble, and Gene Kim.

This resulted in changes to the page taking weeks to implement and deployments only happening once a month at most. As a result, they doubled the team velocity and can now deploy changes to this page even daily, with a much lower change failure rate.Īfter a decade of organic growth, eBay’s codebase that powers the View Item page has become quite difficult to maintain, as any changes needed to be duplicated across four supported platforms (desktop, mobile web, iOS, and Android). EBay consolidated services responsible for serving their View Item page, which has over 250 million daily page loads, to remove code duplication and improve developer productivity.
