
Sign up to save your podcasts
Or


In this episode of the Maintainable Software Podcast, Robby speaks with Michael Feathers, Director at R7K Research & Conveyance and author of "Working Effectively with Legacy Code." Michael shares his unique definition of legacy code, emphasizing that legacy code is essentially code without tests. This foundational idea highlights the critical role of automated testing in refactoring and maintaining codebases.
Michael and Robby dive into common issues developers face, such as low test coverage and the perceived optionality of writing tests. They explore how ego and human nature often influence developers' decisions not to write tests, even when frameworks provide the tools to do so.
One of the intriguing concepts discussed is a test-first IDE, which encourages writing tests before methods. Michael shares patterns and practices for integrating testing into existing projects, emphasizing the importance of social reinforcement and team collaboration in improving test coverage.
The conversation also touches on the importance of code quality traits like understandability and simplicity. Michael stresses that empathy in code quality impacts co-workers and that objective measures for code quality often stem from solid design principles. They also discuss the role of code analysis tools in understanding code quality.
Removing unused code from applications is another key topic, with Michael sharing insights on the relationship between business decisions and code maintenance. The discussion extends to Conway's Law and its effect on code design, providing valuable context for understanding how organizational structure influences software development.
Michael shares lessons from his early career, emphasizing the importance of curiosity and deep systems thinking in software development. He also discusses his upcoming projects, including the second edition of "Working Effectively with Legacy Code."
Key Takeaways:Subscribe to Maintainable on:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
By Robby Russell5
3232 ratings
In this episode of the Maintainable Software Podcast, Robby speaks with Michael Feathers, Director at R7K Research & Conveyance and author of "Working Effectively with Legacy Code." Michael shares his unique definition of legacy code, emphasizing that legacy code is essentially code without tests. This foundational idea highlights the critical role of automated testing in refactoring and maintaining codebases.
Michael and Robby dive into common issues developers face, such as low test coverage and the perceived optionality of writing tests. They explore how ego and human nature often influence developers' decisions not to write tests, even when frameworks provide the tools to do so.
One of the intriguing concepts discussed is a test-first IDE, which encourages writing tests before methods. Michael shares patterns and practices for integrating testing into existing projects, emphasizing the importance of social reinforcement and team collaboration in improving test coverage.
The conversation also touches on the importance of code quality traits like understandability and simplicity. Michael stresses that empathy in code quality impacts co-workers and that objective measures for code quality often stem from solid design principles. They also discuss the role of code analysis tools in understanding code quality.
Removing unused code from applications is another key topic, with Michael sharing insights on the relationship between business decisions and code maintenance. The discussion extends to Conway's Law and its effect on code design, providing valuable context for understanding how organizational structure influences software development.
Michael shares lessons from his early career, emphasizing the importance of curiosity and deep systems thinking in software development. He also discusses his upcoming projects, including the second edition of "Working Effectively with Legacy Code."
Key Takeaways:Subscribe to Maintainable on:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.

26,168 Listeners

380 Listeners

291 Listeners

624 Listeners

232 Listeners

987 Listeners

210 Listeners

9,517 Listeners

968 Listeners

35 Listeners

245 Listeners

6,357 Listeners

141 Listeners

5,475 Listeners

560 Listeners