Mentionsy

Narzędzia Zwinnego Lidera
05.01.2023 19:45

#2 [Techniczny Scrum Master] Continuous Integration - co powinien każdy SM powinien wiedzieć i jakie pytania/praktyki warto wziąć do zespołu

W tym odcinku znajdziesz odpowiedzi na pytania:

Czym jest CI? Dlaczego jest to ważne dla każdego zespołu programistycznego? Jakie są kluczowe elementy każdego CI? Gdzie trzymany jest kod? Czym są gałęzie? Jakie są dobre praktyki ciągłej integracji? Co z zakresu CI warto wiedzieć jako Scrum Master? Jakie pytania warto zadać jako Scrum Master zespołowi deweloperskiemu?

Słowniczek pojęć:

Continuous Integration, CI, Ciągła Integracja Repozytorium Kodu, Code repository, Repo Version Control, Kontrola Wersji GitLab, GitHub, Bitbucket Gałąź, branch, branching strategy Gałąź główna, main, trunk, default Checkout Build Wersja Kod źródłowy, zależności, artefakty, pliki konfiguracyjne Merge Testy automatyczne Statyczna analiza kodu Środowisko produkcyjne Budowanie aplikacji lokalnie

Dobre praktyki:

Kod źródłowy, pliki konfiguracyjne, skrypty, biblioteki, zależności, artefakty - wszystko co jest potrzebne do zbudowania wersji aplikacji, jest w Waszym wspólnym repozytorium
Prosty sposób na sprawdzenie - jeśli na czystym komputerze odpalimy nasze      repozytorium i zrobimy checkout, to czy uda nam się zbudować aplikację Dokładaj swoje zmiany często i regularnie, najlepiej codziennie Wprowadzenie zmiany powinno odpalać build i testy automatyczne Zbudowanie wersji produkcyjnej powinno być możliwe tylko poprzez wspólne CI
Prosty check - czy zdarzyło się, że ktoś zbudował wersję lokalnie i wdrożył ją na produkcję?

Pytania, które może zadać SM:

Jak wygląda proces integrowania kodu, jaką mamy strategię zarządzania gałęziami? Ile mamy aktywnych gałęzi? Ile średnio “żyje” gałąź? Jak często merge’ujecie kod? Ile czasu zajmuje rozwiązania konfliktów przy merge'ach? Jakie testy są odpalane przy merge'u? Czy dana zmiana działa end-to-end, jak to sprawdziliście? Czy da się obejść pipeline’y i zbudować aplikację produkcyjną lokalnie. Kiedy ostatnim razem ktoś taką wersję wdrożył na produkcję?