Wymieniamy stary kod kawałek po kawałku, bez zatrzymywania aplikacji.
Gdy aktualizacja nie wystarcza, wymieniamy stare części w dwutygodniowych sprintach, każdy ze stałym zakresem i ceną. Bez przepisywania wszystkiego naraz i bez zamrażania planów rozwoju.
Kiedy aktualizacja nie wystarcza
Framework nie ma kolejnej wersji
Zend Framework 1, symfony 1, CodeIgniter 3 albo własny framework sprzed lat: nie ma do czego aktualizować.
Jedna część hamuje całość
Moduł napisany w innej epoce blokuje aktualizację PHP w całej aplikacji.
Przepisanie od zera zamraża produkt
Miesiące odtwarzania tego, co już działa, a klienci w tym czasie czekają na cokolwiek nowego.
Metoda strangler fig po ludzku
Figowiec dusiciel (po angielsku strangler fig) oplata stare drzewo, aż sam utrzyma swój ciężar. Tak samo postępujemy z oprogramowaniem.
Przed starą aplikacją stawiamy cienką warstwę routingu. Nowy kod przejmuje po jednej ścieżce albo jednym module naraz: na przykład najpierw raporty, potem API, potem koszyk i płatności. Każdy krok trafia na produkcję osobno i można go wycofać.
Kiedy stary kod nie ma już nic do roboty, wyłączamy go. Użytkownicy przez cały czas normalnie pracują.
Jak to przebiega
01
Roadmap
Spis modułów, kolejność etapów, plan testów, ryzyka i stała cena każdego etapu.
02
Sprint
Stały zakres zapisany w planie Roadmap. Najpierw testy charakteryzujące na starej części, potem nowy kod obok niej.
03
Przegląd i wydanie
Demo, merge requesty i wydanie. Ty decydujesz, czy ruszamy z kolejnym sprintem.
04
Wyłączenie starej części
Ruch przechodzi na nowy kod. Stary moduł usuwamy, gdy nic go już nie wywołuje.
Co dostajesz
Dokument Roadmap
Etapy, kolejność, ryzyka i stała cena każdego etapu.
Działający kod po każdym sprincie
Na produkcji, w rękach Twoich klientów.
Testy
Charakteryzujące na starej części, zwykłe na nowej.
Raport ze sprintu
Co przenieśliśmy, co dalej i czego dowiedzieliśmy się o starym kodzie.
Notatki o architekturze
Jak stara i nowa część się ze sobą komunikują, na bieżąco aktualizowane.
Czas i cena
| Cena | Czas | |
|---|---|---|
| Roadmap | od 8000 zł | ustalany w ofercie |
| Sprint | 17 000 zł | 2 tygodnie |
Pytania o modernizację
Ile sprintów będziemy potrzebować?
Odpowiada na to Roadmap, z ceną każdego etapu. Nie musisz zamawiać wszystkich naraz.
Czy nasz zespół może w tym czasie rozwijać nowe funkcje?
Tak, po to jest ta metoda. Na każdy sprint ustalamy, które obszary są nasze, żeby nie pracować na tym samym kodzie.
Na jaki framework przechodzicie?
Zwykle na Symfony, w aktualnej wersji LTS. Na Laravela, jeśli Twój zespół już w nim pracuje. Roadmap uzasadnia wybór w Twoim przypadku.
Możemy przerwać po kilku sprintach?
Tak. Każdy etap jest skończony i sam działa na produkcji. Po przerwaniu zostaje Ci działająca, częściowo zmodernizowana aplikacja, a nie do połowy zbudowana nowa.
Zacznij od planu, który da się wycenić
Napisz, co robi system i na czym działa. Podpowiemy, czy zacząć od Code Audit, czy od Roadmap.