BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News eBay Doubles Team Velocity after Reworking Their Most Important Page

eBay Doubles Team Velocity after Reworking Their Most Important Page

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. 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.

After 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). This resulted in changes to the page taking weeks to implement and deployments only happening once a month at most.

Source: https://tech.ebayinc.com/engineering/how-ebay-modernized-the-most-important-page-on-our-platform/

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. 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.

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. Finally, the clients were updated to use the new service, and legacy services were decommissioned.

The team attempted to prepare for the changes by first analyzing and documenting the legacy code, but the process has proven challenging and slow. 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. 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.

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

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

The team surpassed all their original goals and achieved a very low change failure rate, even with more frequent deployments, while drastically reducing the lead time for changes and mean time to restore (MTTR).

Source: https://tech.ebayinc.com/engineering/how-ebay-modernized-the-most-important-page-on-our-platform/

The new implementation of the business logic used a new, modern tech stack and faster automation pipeline. Better documentation and clean code helped improve the developer experience and make onboarding new team members easier.

About the Author

Rate this Article

Adoption
Style

BT