Published Sep 3, 2019

SE-Radio Episode 295: Michael Feathers on Legacy Code

Michael Feathers delves into the intricacies of managing legacy code, offering insights on assessing code quality, strategies for effective refactoring, and the critical role of testing. He contrasts legacy systems with new projects, underlining the importance of understanding historical context and maintaining transparent communication with stakeholders.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Code Quality

    Evaluating code quality is crucial for identifying potential improvements and risks within a codebase. suggests using visual tools like color coding or numeric grading to assess different areas of code, allowing teams to track changes over time and communicate effectively with business stakeholders 1. This approach helps in making informed decisions about feature development and addressing technical debt. emphasizes the importance of subjective judgment in assessing code quality, as metrics alone may not capture the ease of modification 2.

       

    Communication

    Transparent communication about code quality and technical debt is vital for informed decision-making. highlights the need for businesses to understand the software's architecture to make better choices regarding feature additions 3. By providing a health grade for components, developers can convey the readiness for change and prevent suboptimal decisions. He also notes the value of using version control history to identify hotspots and areas needing improvement 4.

Related Episodes