Here, we look at the organizational and managerial issues surrounding refactoring legacy code. Topics that will be discussed include: 1) The definition of legacy code. It’s not just old card reader driver code that hasn’t been updated in a while. 2) The definition of unit testing. Running it has to be quick as an eye blink and repeatable. That’s going to obviate dependencies on our class under test. Especially ones that require databases, user interfaces and so on. 3) What’s the real goal of this, anyway? Looking into the TCO issues and the support of an Agile and Lean Startup mentality to aid the business attain its goals. 4) The need to write appropriate integration tests before we journeying into refactoring. How we, as managers, have to support that undertaking first. 5) Is unit testing merely “a tax” on otherwise available developer cycles to get features done? 6) Why, as managers, we sometimes think that integration tests are enough. 7) Why the metric of code coverage isn’t enough, although we might think that’s the goal. This will be a discussion that gets into the notion of why code coverage is merely a management report that serves as a starting point. 8) When are we done with writing unit tests? If 100% coverage isn’t the goal, what is? 9) The role of more advanced tools, such as Java PIT mutant testing and Microsoft Pex, in finding test suites that truly test quality. How to break the news to your developers, as well! 10) Examples of code that make a developer’s job a nightmare when they are trying to insert true unit tests. 11) How we, as managers, must change from a culture that might tell our people what to do and become one that leads and enables them.