Przepisanie kodu od zera to marzenie, które prawie nigdy się spełnia w rzeczywistości biznesowej. Willison opisuje klasyczny scenariusz: zespół ogłasza, że stary system tonął w długu technicznym i musi być całkowicie przepisany. Tworzą nowy zespół, prace się zaczynają. Problem polega na tym, że stary system dalej musi działać, bo na nim cały biznes zależy. Ciągnie się go zmianami, a developerzy wiedzą, że za kilka miesięcy stanie się zbędny - więc dają z siebie minimum.
Nowy zespół natomiast startuje z entuzjazmem na zielonym polu, ale szybko trafia na ścianę. Nikt nie rozumie w pełni, jak naprawdę działa stary system - jego wszystkie dziwactwa, edge cases i zaskakujące zachowania. Jeśli byłby dobrze udokumentowany i przetestowany, w ogóle nie wymagałby wymiany. Miesiące mijają bez konkretnych rezultatów, presja rośnie, więc nowy system uruchamiają dla części funkcjonalności lub nowej feature, którą było zbyt trudno dodać do prawie porzuconego starego kodu.
Efekt końcowy to chaos: pracują dwa systemy równocześnie, stary - wszyscy go omijają, nowy - obsługuje zaledwie wycinek rzeczywistości. Zamiast rozwiązać problem, podwajamy złożoność operacyjną. Dlatego przepisanie od zera, mimo że brzmi kusząco, jest hazardem, który najczęściej się nie udaje.