After 4 months of sprints and feature development, we could articulate the exact amount of time wasted, the headaches and heartaches, and number of ping-pongs in and out of QA. We knew as a team that we needed a codified system. We identified a library that had every component we needed, and started estimating story points with and without leveraging that library. In the meantime, I built speculative files showing the holistic views of each feature, should we incorporate that library. It helped immensely that our VP of product meticulously tracked our burn rate and velocity.
As each story came up, we audited the UI components used. From a design perspective, how holistic were they? From a dev perspective, how easy were they to replicate? We didn't have time or resources to dedicate sprints or teams to this, so we took an iterative approach.
Focusing on one of the most-complained about states of the app – our warning messaging & confirmation messaging, we built out our new design in as many places as we could within one sprint.
We had stakeholder buy-in, we had quantified ROI, we had holistic designs to look forward to, and we had researched our technical approach. We settled on the idea of taking a hybrid approach - partly leveraging an existing library, partly refactoring our own code. In terms of implementation roadmap, we decided to spend 1 sprint implementing the basics of the ant design library, as well as creating a Storybook.