We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Robby Russell - Prepare to tack: Steering Rails apps out of technical debt - Rails World 2024
Learn practical strategies for continuously improving Rails apps through strategic investments, efficient collaboration, and sustainable engineering practices that deliver long-term value.
-
Drop the “technical debt” framing and position improvements as strategic investments that increase efficiency, reduce risk and improve customer experience
-
Never do complete rewrites - treat your app like it’s the last one you’ll ever work on and focus on continuous improvements
-
Question and remove unused/outdated code, features, data and dependencies regularly - the easiest feature to maintain is one that doesn’t exist
-
Make maintainability part of your team’s identity and daily habits rather than a one-time effort. Build a culture that values and celebrates incremental improvements
-
Avoid solo heroics - make collaboration and knowledge sharing core team practices, especially for major refactoring work
-
Be cautious with gems and external dependencies - they often add more complexity and maintenance burden than value. Consider writing simpler custom solutions
-
Test new approaches on existing stable features first rather than introducing them with new functionality
-
Stop waiting for permission - frame maintenance work as essential rather than optional and tie it to business goals
-
Embrace your monolith for smaller teams - keeping everything under one roof often leads to less overhead and complexity than distributed architectures
-
Make unreliable tests either reliable or remove them completely - tests should propel development forward, not hold it back