Niemal każdy założyciel z zepsutym MVP pyta, czy je przepisać. Niemal zawsze odpowiedź brzmi nie — a powodem jest arytmetyka, nie sentyment.
Zepsute MVP objawia się zwykle na jeden z trzech sposobów: przewraca się pod realnym ruchem, każda zmiana psuje coś innego albo pierwotni programiści odeszli i nikt tego nie rozumie. Instynkt każe zacząć od nowa. Ten instynkt jest kosztowny i zwykle błędny.
Dlaczego przepisanie to pułapka
Przepisanie kusi, bo nowy system jest wyobrażony, a wyobrażone systemy nie mają błędów. W rzeczywistości:
- Istniejący kod koduje lata przypadków brzegowych, których nikt nie udokumentował — zostaną odkryte na nowo jako incydenty produkcyjne
- Zamrażasz rozwój funkcji na miesiące, a konkurencja nie
- Przepisanie trafia na tę samą złożoność, bo złożoność jest w domenie, a nie w kodzie
- Szacunki przepisań są mocno błędne, konsekwentnie, w każdej organizacji
Krok 1: zatamuj krwawienie
Zanim cokolwiek poprawisz, uczyń system obserwowalnym i odwracalnym. Nie naprawisz tego, czego nie widzisz, i nie poeksperymentujesz bez drogi powrotnej.
- Śledzenie błędów, żeby awarie były znane, a nie zgłaszane przez klientów
- Monitoring dostępności i kluczowych transakcji — płatność, rejestracja, zakup
- Rollback, który działa i został przetestowany
- Kopie zapasowe i odtworzenie, które faktycznie raz przeprowadzono
Krok 2: triaż, a nie inwentaryzacja
Oprzyj się pokusie wypisania wszystkiego, co nie działa. Posortuj problemy według konsekwencji:
| Kubełek | Definicja | Działanie |
|---|---|---|
| Krwawiące | Traci pieniądze, dane albo klientów właśnie teraz | Naprawić w tym tygodniu |
| Blokujące | Uniemożliwia dowiezienie roadmapy kwartału | Naprawić w tym kwartale |
| Kumulujące się | Spowalnia każdą zmianę | Zaplanować świadomie |
| Kosmetyczne | Razi gust, nic nie kosztuje | Nigdy |
Większość projektów ratunkowych znajduje dwie albo trzy pozycje w pierwszym kubełku i garść w drugim. To wykonalny program pracy — zupełnie inny niż przytłaczające wrażenie, które zespół miał przed uporządkowaniem.
Krok 3: naprawiaj w kolejności, która się kumuluje
- Najpierw integralność danych — uszkodzone albo utracone dane są nieodwracalne w sposób, w jaki przestój nie jest
- Potem ścieżka wdrożeniowa — dopóki wydawanie nie jest bezpieczne i częste, każda inna poprawka jedzie wolno i ryzykownie
- Potem główne źródło awarii — zwykle jeden albo dwa endpointy czy zapytania powodują większość incydentów
- Potem blokada zmian — sprzężenie albo brak testów, przez które zespół boi się czegokolwiek dotknąć
- Dopiero potem wydajność i szlif
Krok 4: zapobiegnij nawrotowi
- Testy na ścieżkach, które bolą — pieniądze, autoryzacja i dokładnie to, co się zepsuło
- Spisany dziennik decyzji, żeby kolejny inżynier dziedziczył rozumowanie, a nie sam kod
- Proces wdrożeniowy, który potrafi uruchomić każdy w zespole
- Wyraźna zasada, że roadmapa zawiera moc przerobową na utrzymanie — inaczej dług wraca
Ratowanie to nie sprzątanie. To niewielka liczba celowanych zmian, które przenoszą system z niebezpiecznego w nudny — a nudny to stan, w którym zespół znów dowozi.
Ustal granicę naprawy przed przepisaniem
Pokaż, że jedną wadliwą ścieżkę da się ustabilizować. Użyj wyniku do wyceny następnego etapu i porównania wymiany.
- Napisz test regresji odtwarzający zaobserwowaną usterkę.
- Napraw ograniczony obszar i sprawdź sąsiednie zachowania.
- Porównaj naprawę i wymianę z migracją oraz pracą równoległą.
Najczęstsze pytania
Przepisać nasze MVP czy naprawić?
Naprawić, chyba że platforma jest nie do utrzymania, produkt zmienił się fundamentalnie albo cały system da się odbudować w kilka tygodni. Przepisania zamrażają pracę produktową na miesiące, odkrywają zapomniane przypadki brzegowe jako incydenty produkcyjne i konsekwentnie przekraczają szacunki.
Ile trwa ratowanie MVP?
Triaż trwa dni. Ustabilizowanie krytycznych problemów zwykle dwa do sześciu tygodni zależnie od wagi. Pełne usunięcie kumulującego się długu to kwartał albo więcej — ale dzieje się obok pracy produktowej, a nie zamiast niej.
Nasi pierwotni programiści odeszli. Czy kod da się jeszcze uratować?
Prawie zawsze. Utrata autorów spowalnia pracę, ale jej nie uniemożliwia: pierwszym zadaniem jest odtworzenie, jak system faktycznie się zachowuje — przez czytanie, oprzyrządowanie i testy charakteryzujące — zanim cokolwiek zmienimy.
Skąd wiemy, czy nasze MVP jest naprawdę zepsute, czy tylko niedoskonałe?
Zapytaj, czy traci pieniądze albo dane, czy uniemożliwia dowiezienie roadmapy i czy zespół boi się wdrażać. Jeśli żadne z tego nie jest prawdą, masz niedoskonałe MVP — co jest normalne i nie warte interwencji.
Kiedy wstrzymać nowe funkcje?
Gdy zmiany utrudniają diagnozę lub zwiększają istotne ryzyko dla danych i dostępności. Określ zakres przerwy oraz dowody wymagane do wznowienia.
MVP w tarapatach?
Robimy triaż w kilka dni i uczciwie mówimy, czy potrzeba ratowania, przepisania, czy niczego.
Warto doczytać
Audyt techniczny MVP: co sprawdzamy w pierwszych 48 godzinach
Większość audytów MVP kończy się dokumentem. Użyteczny kończy się decyzjami: co się pali, co może poczekać i ile kosztuje naprawa.
Dług techniczny w startupie: ile to za dużo?
Każdy startup ma dług techniczny i przeważnie była to słuszna decyzja. Pytanie nie brzmi, jak go wyeliminować — tylko które części naliczają odsetki, na które już cię nie stać.