Hej,
mam do was pytanie odnośnie procesu developerskiego, zwłaszcza jak w nim zapewniacie jakość, może opisze jak to u nas wygląda i ciekawi mnie jak to jest u was z jakich narzędzi korzystacie, jakie standardy macie ?
Status:
System w Java (Spring,Hiiberante,Swing) około 3 mln linii kody, modułowy monolit (około 500 modułów mavena zależnych od siebie), rozwijany przez 20 osób od 15 lat, aktualnie aplikacja jest wdrożona na wielu serwerach (100) u wielu klientów w wielu wersjach (5), najstarsza wersja ma rok, system jest customizowany na produkcji stąd proces aktualizacji niezawsze jest prosty (nawet przy nastawieniu kontatybilności wstecznej)
Proces:
- Klient zgłasza błąd do programu w wersji X, HelpDesk /JIRA
- Błąd jest klasyfikowany priorytet + moduł
- Błąd trafia do backloga skąd kierownik modułu przypisuje błąd do programisty, jak planować prace rozwojowe skoro nie wiadomo ile błędów wpadnie :-/
- Programista rozwiązuje błąd i zrzuca do SVN do master (rozwój) + do wersji (branche'a) którego błąd dotyczy
4.1) W trakcie pracy programista może pisać testy jednostkowe lub integracyjne ale nikt tego nie sprawdza, brak wytycznych jak je robić
4.2) Nikt nie przegląda kodu który zrzuca programista, kto to u was robi, przypadkowa osoba czy osoba która ma pojęcie o zadaniu robionym przez programiste
4.3) Ewentualne błędy może wychwycic CI jako Jenkins czyli błędy kompilacji + testów, kto tropi ewentualne problemy, że cześć testów przestała chodzić po ostatnim buildzie na jenkins w sytuacji kiedy do tego samego code base zrzuca 20 osób, kto jest winny?
4.4) Brak narzędzi i kultry pracy z narzędziami typu Sonar, kiedyś był Sonar ale wygenerował on 10 tys ostrzeżeń i nie wiadomo co było z tym robić - w sensie zatrzymać prace rozwojowe na 6 miesięcy czy jak - Z brancha wychodzi wersja z poprawka -> tag
5.1) Brak CD, wersje wypuszcza sie narzędziem manualnie - Nowa wersja jest wgrywana na środowisko testowe klienta i tam weryfikowana przez klienta
W jakis sposób wy wytwarzacie i zapewniacie jakość na każdym z tych etapów, ilu osób jest w to zaangażowane, kiedyś pracowałem w firmie gdzie na 4 programistów jeden tylko robił przeglądy kodu