Want to get more out of your legacy systems: more performance, functionality, reliability, and manageability?
Learn how Technical Debt is a catch-all term that we use for entropy in software development.
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 outline what he has learned about making big changes in large software projects. You'll learn techniques all along the continuum of team coordinated refactoring, rewriting, and advanced team practice which help you maximize the potential of your existing code base.
This course contains material beyond what Michael outlined in his classic book Working Effectively in Legacy Code and is more focused on large scale change.
Learn how to:
- Identify various types of technical debt
- Assess the amount of technical debt in your codebase
- Develop design plans for large-scale refactoring and debt mitigation
- Alter team and organizational process to make refactoring a first-class practice
What the community says
"This guy knows his stuff..."Jhonny Edelist, Simply Business on 22nd Aug 2017
"Although I am not a developer (tester by trade), this course gave me an excellent insight to the dev point of view - particularly around regression touchpoints and efficient best practice. Very helpful!"Paul Douglas, News UK on 2nd Jul 2014
"I learnt some good tricks - thanks!"Jem Marsh, News UK on 2nd Jul 2014
Topics covered include:
- A Pragmatic Definition of Technical Debt
- Design Decision Cards
- Feature Probes
- Scratch Refactoring
- Design Direction Tagging
- Limited WIP Refactoring
- Design Quality Trend Analysis
- Systematic Refactoring/Rewriting
For managers and developers with knowledge of software development.
There will be no actual coding in the course, but people must have reading knowledge of code.
Bring your own hardware
Delegates are required to bring their own laptop to this course with a Text Editor (similar to TextMate, vi, or emacs).
A full installation guide for the course software will be provided with your joining instructions.