Każdy, kto wie na czym polega #programowanie wie że projekty pod tytułem "przepisywanie od 0" są bardzo często skazane na klęskę. Wynika to z kilku podstawowych faktów. I #wykop nie jest tu wyjątkiem. Przyczyny niepowodzeń po kolei:
-
Użytkownicy są przyzwyczajeni do starego systemu, który działa dłużej niż nowy. Chodzi głównie o wygląd ale również zachowanie systemu jako takiego. Tak zwana "pamięć mięśniowa" robi swoje.
-
Przepisywanie zajmuje sporo czasu, przez który zazwyczaj stary system wciąż ewoluuje, stąd też jest to niekończący się wyścig z czasem. To ile rzeczy "stary" zrobi zanim "nowy" się dorobi zazwyczaj jest zagadką.
-
Pisanie od nowa funkcjonalności, które mają zdefiniowane zachowania w starym systemie jest receptą na kłopoty, ponieważ zazwyczaj będą pojawiać się nowe błędy. Nie ma oprogramowania, które jest wolne od błędów a pisanie testów zabiera czas (dodajmy że często w starym systemie testów nie ma).
-
Zmiana logiki działania systemu, która nie jest uzgodniona z użytkownikami będzie zawsze budzić kontrowersje. Choćby nie wiem jak dobre było uzasadnienie techniczne dla zmian, brak komunikacji zawsze będzie receptą na przegraną pisanego od nowa projektu.
Co czeka zatem projekt pt. wykop 3.0 (o wersji 2.0 pisałem tutaj)? Na pewno będzie rozwijany dalej.
Niezależnie od tego czy jesteśmy zadowoleni czy nie - "kody zostały rzucone na produkcję".