Что делать когда:
Достался хард-кодный проект непокрытый тестами;
код желает лучшего, а времени на рефакторинг нет;
внесение правок в одном месте нарушает работу логики в другом;
для покрытия *Unit тестами, проще переписать проект;
бизнес логика размыта по коду и даже по шаблонам.