How can I refactor a monolithic codebase when every change breaks everything?
His thesis is that Legacy Code is code without tests. So to make it not Legacy you need to add tests then refactor safely. Then he explains the very complex patterns that can arise and how to deal with them.
This book is one of a few that changed my career.
https://www.amazon.com/Working-Effectively-Legacy-Michael-Fe...
The general process is assessment and understanding the system, refactoring and improving code without program changes, and re-achitecting key pieces to enable the testing, then getting test coverage to where it gives you the required confidence to make the change.