Najpierw przeczytaj stary system. Cały.
Przed napisaniem Bookli przeanalizowałem dwie obszerne aplikacje rezerwacyjne i zbadałem potrzeby rynku. Dlaczego to była najlepiej wydana część budżetu.
Kiedy klient mówi „nasz stary system jest okropny, napiszmy nowy”, kusi, żeby zacząć od czystej kartki. To prawie zawsze błąd.
Stary system to zapis decyzji
Każde dziwne pole w formularzu, każdy wyjątek w kodzie i każde ręczne obejście to ślad prawdziwego problemu, który ktoś kiedyś rozwiązał. Dokumentacji zwykle nie ma, ale kod jest. Przed Bookli przeanalizowałem dwie obszerne aplikacje, szkoły żeglarskiej i ośrodka jeździeckiego, i zbadałem, czego potrzebuje rynek.
Co znalazłem
- Reguły, o których nikt nie powiedział na spotkaniu: zniżki dla rodzeństwa, wyjątki dla kadry, specyficzne terminy płatności rat.
- Rzeczy, których nikt nie używał: całe moduły, które można było bezpiecznie pominąć.
- Luki bezpieczeństwa: to, co musiało zostać naprawione, a nie przeniesione.
Zasada
Zachowaj zachowania, które działają, wyrzuć implementację. Klient nie płaci za nowy kod. Płaci za to, żeby jego sezon zadziałał lepiej niż poprzedni, bez utraty niczego, na czym polegał.
Czytanie starego kodu nie jest efektowne i nie wygląda dobrze na demo. Ale to jedyny sposób, żeby nowy system od pierwszego dnia był lepszy od starego, a nie tylko nowszy.