Migration without Migraines: Automatic Migration at Scale
summary
Square consolidates four Workflow versions by running a ktlint rule set (unit tested) invoked via a custom Gradle task and an IDE-accessible migration wizard, automating many changes but surfacing ~manual fixes. Over one year 50 developers across 25 teams migrate 220 Gradle modules and 580 screens, creating 286 Jira tickets; nightly repository analysis feeds dashboards. Outcomes: RxJava1 removed, APK size cut ~0.5 MB, some screens render up to 4x faster, and legacy APIs are cleaned up for a single Workflow v1.
AI-written summary · about
chapters (16)
- 0:00Introduction to migration
- 3:04Why migrate to single version
- 5:50Expand flip contract strategy
- 8:20Challenges with manual migration
- 9:24KTLint as metaprogramming tool
- 11:52Migration wizard and pairing
- 13:37Demo of migration tools
- 16:50Early adopters and feedback
- 18:56Organizational process at scale
- 22:31Getting team buy-in
- 24:37Flexible migration approaches
- 25:41Visibility and progress tracking
- 26:46Final push and cleanup
- 29:17Benefits of early cleanup
- 31:11Final cleanup and results
- 33:01Final advice and recap
related talks
13mMajor migrations made easy
02mAtomic Migration Patterns
40mGrowing Pains: Scaling and Re-architecting Apps Under Fire
25mMass migrations to the cloud
30mWhy most technology migrations fail (and what we've learned along the way)
46mBig migrations for big projects: moving Tracker to Gravity UI
15mMajor migrations made easy
12mLightning Talk: Migrating 1,300 Jenkins Jobs To Argo Workflows: Lessons From a…
