Mamy dużą (ponad 1200 godzin) stronę internetową, która ma duże zadłużenie techniczne. Wynika to głównie z następujących (zwykle) przyczyn.
- Wielu programistów, którzy przychodzą i odchodzą podczas programowania.
- Zmiana specyfikacji podczas programowania.
- Dodano wiele dodanych funkcjonalności (w krótkim czasie).
Klient chce wielu nowych funkcjonalności, a to w zasadzie sprowadza się do pracy nad tym projektem co tydzień przez ponad 10 godzin.
Z powodu długu technicznego spędzamy DUŻO godzin na naprawianiu lub badaniu problemów, które zwykle znajdują swoje źródło w jednym z poniższych:
- Bezwstydna, głupia robota, która powoduje, że ludzie płaczą.
- Nowa funkcja skutkuje powyższym, ponieważ nie przewidzieliśmy wszystkich miejsc, na które nowy wpływ miałby wpływ.
- Inne napotkane problemy (np. Migracja serwera, aktualizacje)
Mamy problemy codziennie i staraliśmy się następujące rzeczy umieścić to do zatrzymania:
- Utworzono dokumentację techniczną dotyczącą importu, płatności i ogólnego działania strony.
- Spotkaj się na początku tygodnia - omawiając bieżące problemy lub ulepszenia oraz sposoby ich rozwiązania.
- Mieć plan testów. Programator A test B, B testy C i C testy A. Następnie nasz Kierownik Projektu przeprowadzi niektóre testy. Jeśli chodzi o wpływ tej funkcji, rzucamy ją na środowisko testowe i pozwalamy klientowi sprawdzić się.
Problem polega na tym, że problemy się zdarzają ... i jakoś nie możemy się z tym pogodzić. Nowe funkcje wciąż powodują błędy, a stare błędy przywitają się. W jakiś sposób - być może ze względu na wielkość projektu - nie wydaje się, abyśmy mogli go opanować.
Zakładam, że jest dużo programistów pracujących nad większymi projektami. Dlatego przechodzę do mojego pytania:
Co możemy zrobić lub co zrobić , aby uniknąć tych problemów w dużych projektach?
Drobna edycja, dodatkowe informacje:
- Używamy kontroli wersji (SVN).
- Mamy proces rozwoju DTAP.