Niestety obecna kultura całego kapitalizmu jest jaka jest i Tesla nigdy nie będzie mogła zwolnić tempa jeśli chce się utrzymać i pchać branże automoto do przodu.
Osobiście byłem świadkiem przepisywania 5 dużych systemów (Adserwer, CRM, CMS, web analitics), bo ich "kod jest tak straszny, że nie da się rozwijać". Wyceny przepisywania na 0,5 - 1 rok. Dwa z nich po roku - dwóch zostały jednak na starym kodzie i są rozwijane mimo, że się nie dało, a całe przepisywanie wylądowało w koszu.
Jeden nowy powstał po 3 letnich męczarniach i jest gorszy w rozwoju niż stary ale wcisnęli go, bo nie było jak się przyznać do błędu - w zasadzie rozwoju nie ma kompletnie.
Jeden powstał po 3 latach i jest w miarę ok - powiedziałbym, że tempo rozwoju to połowa/ćwierć wcześniejszego (75% czasu programistów zajmuje pisanie/zmienianie testów automatycznych), a błędogenność i tak finalnie podobna jak w starym kodzie, może odrobinę mniejsza.
Jeden jest super, ale był napisany od zera bez odtwarzania założeń i w zasadzie przez 2 osoby - jedna bebechy, druga front. No i jest w miarę prosty w użytkowaniu, więc łatwo było określić proste wymagania.
Jeśli piszesz oprogramowanie szybko i pod konkretne biznesowe potrzeby chwili, to później naprawdę ciężko to wszystko zebrać w logicznym czasie w jakikolwiek opis, żeby jakiś zespół był w stanie chociaż odtworzyć funkcjonalność. Zwykle kończy się to tak, że powstaje taki upośledzony podziurawiony klon, który w dniu wchodzenia na produkcję już wymaga łatania na szybko (bo pieniądze z biznesu ciekną przez te dziury) i po 6 miesiącach takiego łatania robi się z tego większy bałagan niż był wcześniej. Finalnie zespół, który pisał nową wersję ma już dość, zaczyna się rozpadać i przychodzą nowi ludzie, którzy mówią, że tego kodu nie da się rozwijać
Ja obecnie wszędzie, gdzie tylko mogę, staram się pracować z jednym full stack deweloperem na jeden system, a systemy dzielić na możliwie małe właśnie pod tym kontem.