migrate to library X that solves problem Y.” Usual steps: 1. Create a new branch in git. 2. Begin the new implementation. 3. Once the huge API is ready - after a couple of weeks - submit a pull request. 4. Merge.
the transition as painless as possible. 2. Provide feedback and review code as soon as possible. 3. Everything must work all the time. 4. Even if the new feature is not complete, push the delivery button at will.
abstraction over the part of the system you want to replace. 2. Refactor so all client code uses the abstraction layer. 3. Add new implementation, and make the abstraction delegate appropriately. 4. Remove the old implementation when no longer used. 5. Once the refactoring is complete delete the abstraction layer.