"We're switching to a new CSS framework." "Billing needs to be decoupled from the user model." "The team has decided to change authorization libraries." "We have to refactor that critical data process with low test coverage."
Over a web application's lifespan, many changes to code and data cannot (or should not) be made in one deployment. These complex, incremental transitions often need to be interleaved with feature development and other work.
How do developers manage these limbo states? How do teams ensure they arrive at their destination safely? In this talk, we'll investigate different transitions within Rails applications, including changes to dependencies, modeling/architecture, and data processing. We'll uncover some underlying principles and practices to help us succeed when managing transitions in our software systems.