Хотя я понимаю, что вы опубликовали это из-за SpecFlow, мне интересно, действительно ли ваша проблема отличается от обычной проблемы реорганизации кода. Вы действительно хотите выбросить все и начать снова, или вам просто нужна помощь, чтобы улучшить кодовую базу?
Лично (сделав не то, что раньше) Я бы сохранил то, что у вас есть, и просто начинаю реорганизовывать его, чтобы он был чище. Я склонен использовать TeamCity для ночной сборки, которая проверяет кодовую базу и обнаруживает дубликаты кода. Таким образом, я могу прийти каждое утро первым делом и убить худшего. Если вы предпочитаете делать это более интерактивно, то вы можете либо использовать VSs Analyze-> Analyze solution for Code Clones, либо некоторые другие способы их поиска, а затем использовать их в порядке.
Преимущество этого , как вы идете по, а не очищать и начинать снова, это то, что вы не останавливаете свое развитие. Если вы выбросите все, вы можете оказаться за несколько дней или недель до того, как сможете снова запустить свой тестовый набор. Если вы сделаете это немного за раз, вы можете прерваться, чтобы сделать что-то критическое, и вам нужно только закончить свой текущий рефакторинг, прежде чем вы сможете запускать свои тесты.