Refaktoryzacja, jak każda inna działalność, musi mieć jasno określony cel. Po osiągnięciu tego celu należy rozważyć bieżący status projektu i etap cyklu życia. W przypadku projektu deweloperskiego ukończonego w 80% i 30% w stosunku do harmonogramu należy uzasadnić wysiłek refaktoryzacji na podstawie wcześniej ustalonego celu. W tym przykładzie, jeśli fragmenty kodu zostały przetestowane jednostkowo i działają dobrze w środowisku programistycznym, trudno jest uzasadnić refaktoryzację.
Fakt, że odeszło 40 programistów, może nie być tak dramatyczny, jak się wydaje. Spodziewam się, że ci programiści dostarczyli działający kod, który został sprawdzony i przetestowany. Tak więc, o ile nie są znane problemy w tym kodzie, pozostawiłbym go takim, jaki jest. Chodzi o to, że w dużym projekcie, takim jak twój, oczekiwałbym, że istniały standardy i procedury oraz że kod nie jest kompletnym bałaganem.
Pamiętaj, że refaktoryzacja spowoduje powtórzenie wielu, jeśli nie wszystkich testów. Ponadto, ponieważ refaktoryzacja tego rozmiaru nie może być wykonana przez jednego lub dwóch starszych członków, refaktoryzacja może wprowadzić problemy, które nie istniały. Jest to ryzyko, którego nie należy lekceważyć.
Powiedziawszy to, nie jest niczym niezwykłym dodawanie zadań do projektu, gdy dzieje się nieprzewidziane. Tak więc, jeśli programiści zniknęli z jakiegoś powodu, byłoby to uważane za wydarzenie o szczególnym charakterze i należy podjąć wszelkie działania w celu zaradzenia tej sytuacji. Byłoby to traktowane jak pożar lub trzęsienie ziemi itp.
Podsumowując, nie przefakturowałbym dużego działającego kodu w dużym projekcie bez dobrego, solidnego powodu technicznego, zwłaszcza że wszyscy wiemy, że większość projektów jest zwykle w późnym stanie.