In an ideal world, systems are designed well and tested thoroughly before merging. But life happens, and refactoring is a reality we have to deal with.
- Merge conflicts with other team members
- Re-educating team members
- Breaking changes
- Automation If making changes that will affect other team members, try writing a script to perform the refactor in case new code gets written by other members that needs to be refactored
- Documentation Write a document on what changed in the refactor and mention team members