Uczestnicy szkolenia zapoznają się metodami wytwarzania oprogramowania z jego ciągłą integracją (ang. Continuous Integration). Prezentujemy proces, mechanizmy i zadania których realizacja pozwala na uzyskiwanie częstej i konstruktywnej informacji zwrotnej o stanie projektu i poziomie zadowolenia klienta. Umiejętności zdobywane na zajęciach pozwalają na integrację procesów Continuous Integration z już funkcjonującymi w firmie oraz na zdobycie technicznej wiedzy o wdrożeniu tej metody wytwarzania oprogramowania.
W ramach zajęć skupiamy się na tych technikach które w ramach działań CI podnoszą produktywność zespołu i pozwalają skrócić czas dostarczenia oprogramowania na rynek (ang. Time to Market).
Część praktyczna szkolenia obejmuje przegląd dostępnych rozwiązań technicznych wspierających proces CI oraz konfigurację i instalację Jenkins jako przykładu serwera integracyjnego.
Szkolenie nie skupia się na aspektach technicznych samej instalacji. Punkt ciężkości położony jest na sposób integracji samych procesów CI w kontekście przedsiębiorstwa i w codziennej pracy zespołu wytwarzającego oprogramowanie.
Przykładowe projekty integrowane w ramach zajęć obejmują oprogramowanie w językach: Java, Python, C/C++. Projekty dobrane są w taki sposób aby zaprezentować różnorodne przypadki z którymi uczestnicy zajęć mogą mieć styczność.
Na zajęciach posługujemy się technologiami otwartymi z dostępem do kodu źródłowego.
Zakres szkolenia
Szkolenie obejmuje:
- proces ciągłego dostarczania;
- proces ciągłego testowania i uzyskiwania informacji zwrotnej;
- kryteria jakościowe (wewnętrzne i zewnętrzne);
- pułapki i remedia;
- CI a obecna struktura organizacji i projektów.
Wymagania
Od uczestników szkolenia wymaga się:
- znajomości posługiwania się komputerem na poziomie użytkownika;
- znajomość podstawowych koncepcji związanych z infrastrukturą informatyczną przedsiębiorstwa;
- wiedzy o procesach obejmujących wytwarzanie oprogramowania;
- uczestnictwa w co najmniej jednym projekcie związanym z wytwarzaniem oprogramowania.
Adresaci szkolenia
Szkolenie adresowane jest do:
- członków zespołów wytwarzających oprogramowanie;
- testerów lub osób pełniących funkcje testerów;
- osób odpowiedzialnych za zapewnienie jakości wytwarzanego oprogramowania;
- kierowników zespołów lub technicznych kierowników projektów;
- architektów systemowych.
Cele szkolenia
Głównymi celami w procesie szkoleniowym są:
- zapoznanie się ze wszystkimi elementami składowymi procesów związanych z wydaniami ciągłymi oprogramowania;
- określenie potrzeb i celów każdego z procesów;
- szacowanie zmiany i wpływu na bieżące procesy;
- określenie dobrych i złych praktyk związanych z procesem ciągłej integracji.
Umiejętności zdobywane podczas zajęć
Uczestnicy szkolenia po jego zakończeniu zdobędą następujące umiejętności:
- praktyczne budowanie planu testów i komunikacji w ramach CI;
- implementowanie poznanych sposobów optymalizacji wykonania zadań w ramach CI;
- opracowywanie planu wydań i kryteriów jakości wewnętrznej i zewnętrznej tworzonego produktu.
Parametry szkolenia
2*8 godzin (2*7 gozin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).
Program szkolenia
- Kryteria jakościowe w tworzeniu oprogramowania:
- miary projektu a procesy CI;
- montrast i elementy podobne tradycyjnych metodyk tworzenia oprogramowania;
- konsekwencje braku utrzymania kontroli nad wymiarami projektu.
- Elementy CI:
- mlementy składowe procesów CI;
- wpływ działań CI na codzienną pracę interesariuszy projektu;
- CI a projekt – styk procesu i elementów zarządczych.
- CI a wymagania:
- obszary wymagań niefunkcjonalnych a proces CI;
- informacja zwrotna w procesach CI.
- Ciągłe testowanie:
- techniczna modularyzacja testów ze względu na procesy CI;
- wąskie gardła testowania – techniczne aspekty optymalizacji zadań;
- czynniki świadczące o lukach w testowaniu.
- CI a bazy danych:
- przepływ prac pomiędzy zespołami sterowany definicją skryptów;
- dane i struktura bazy dedykowana potrzebom jakościowym;
- potrzeby organizacyjne a struktura skryptów.
- Zakresy ryzyk adresowane w CI:
- ryzyka techniczne w wytwarzaniu oprogramowania – punkt widzenia wynikający z CI;
- ryzyka zarządcze – punkt widzenia wynikający z CIpProcesy CI – codzienna obsługa nieprzewidzianych zdarzeń.
- Metryki i miary wyprzedzające procesów:
- kontrola nad jakością wewnętrzną z użyciem metryk;
- predykcja problemów i wskaźniki wyprzedzające;
- tworzenie własnych metryk do bieżących potrzeb;
- optymalizacja procesów CI w oparciu o metryki.
- Separacja i modularyzacja zadań:
- wymagania stawiane architekturze skryptów zadań;
- prawidłowe tworzenie skryptów zadań;
- rozwój i pielęgnacja architektury wydań.
- CI a dług technologiczny
- pojęcie długu technologicznego – źródła i zagrożenia;
- informacje zwrotne z procesów CI a dług technologiczny;
- zarządzanie długiem z użyciem informacji pozyskanej z procesów CI.