Want to get more out of your legacy systems? More performance, functionality, reliability, and manageability?
Join this course and learn how Technical Debt is a catch-all term that we use for entropy in software development, and techniques along the continuum of team-coordinated refactoring, rewriting, and advanced team practice to maximize the potential of your existing code base.
Systems grow, become unruly, and difficult to work with. When this happens, we often know that we can do better, but it is hard to take concrete actions which help us get a strong a sense of control, over the evolution of an entire code base.
In this course, Michael Feathers will share what he has learned about efficiently making big changes in large software projects.
This course contains material beyond what Michael outlined in his classic book Working Effectively with Legacy Code, and is more focused on large scale change.
This is what you will learn
- Identify various types of technical debt
- Assess the amount of technical debt in your codebase
- Break dependencies and characterize code with tests
- Develop design plans for large-scale refactoring and debt mitigation
- Alter team and organizational processes to make refactoring a first-class practice
To enroll Michael Feathers’ 3-Days Masterclass : Click here
• Presentation – The History and Definition of Technical Debt
• Exercise/Discussion – Technical Debt Identification/Assessment
• Presentation – Forces Leading to Technical Debt
* Presentation – System Triage
• Demo/Exercise – Scratch Refactoring / Developing a Refactoring Plan
• Presentation – Dependency Breaking Practices for Test Coverage
• Presentation – Testing as a Tool For Progressive Discovery
• Exercise – Characterization Testing
• Presentation – The Synergy Between Testability and Good Design
* Presentation – Modularity Goals
* Exercise – Domain Discovery in Existing Code
• Presentation/Exercise – Conditional Logic Reduction
* Presentation – Strategies for Configuration Intensive Systems
• Presentation – Team Practices for Debt Reduction
• Exercise – Feature Carding
• Presentation/Exercise – Transparent Design Quality Practices
• Presentation – The Organizational Component of Technical Debt.
• The attendees should be able to read code examples in Java, C#, C++, or JS.
• Exercises will be provided in whatever language they would like to use.
• The attendees should bring their laptop.
About our Speaker
Michael Feathers is the Founder and Director of R7K Research & Conveyance, a specialized company in software & organization design.
Over the past 20 years he has consulted with hundreds of organizations, supporting them with general software design issues, process change & code revitalization.
A frequent presenter at national and international conferences, Michael is also the author of the book Working Effectively with Legacy Code, well-known globally.