Powrót do katalogu

Podaj maila aby obejrzeć webinar z Node.js

Wyrażam zgodę na otrzymywanie informacji o promocjach i produktach oferowanych Czytaj więcej przez Vavatech Sp z o.o. Zgodę możesz cofnąć w każdym czasie.
Termin sugerowany
2021-05-20
Warszawa

Zapisz się jako pierwszy!

1 500 / 2 dni
Zgłoś chęć udziału
Termin sugerowany
2021-06-07
Warszawa

Zapisz się jako pierwszy!

1 500 / 2 dni
Zgłoś chęć udziału
Zaproponuj własny termin
Postaramy się uruchomić nowy termin dla Ciebie
Zgłoś chęć udziału

Zarządzanie projektami > Agile

Szkolenie: Techniczna strona Agile dla programistów

Kod: [AGILE-PROGR]
Pobierz program

Wprowadzenie

W ostatnich latach bardzo zyskały na popularności metodyki zwinne wytwarzania oprogramowania (Agile software development). Zamiast Team Leadera możemy spotkać Scrum Mastera, poranne spotkanie nazywane jest Scrumem, a wymagania zebrane są w postaci “historyjek” (ang. User Stories). Metodyki zwinne usprawniły produkcje oprogramowania na wielu płaszczyznach. Niestety jednak nadal często nie spełniają pokładanych w nich nadziei. Wytwarzane iteracyjnie w sposób zwinny oprogramowanie dalej zawiera dużo błędów i trudno je rozwijać. Dodawanie nowych funkcjonalności zajmuje coraz więcej czasu i powoduje powstawanie nowych błędów. Powodem takiego stanu rzeczy jest częste pomijanie technicznych aspektów podczas transformacji do metodyk zwinnych. Należy pamiętać, że ostatecznym produktem, który otrzymuje klient jest oprogramowanie. Aby zapewnić mu odpowiednią jakość potrzebne są odpowiednie narzędzia i techniki.

Cel szkolenia

Szkolenie obejmuje przedstawienie procesu tworzenia oprogramowania z naciskiem na zapewnienie wysokiej jakości oprogramowania i minimalizację ryzyk w projekcie tworzonym przy użyciu metodyk zwinnych. Przedstawione zostaną zasady tworzenia czystego, łatwego w utrzymaniu kodu i testowania go z wykorzystaniem zasad TDD. Stworzony kod zostanie umieszczony w repozytorium kodu źródłowego Git. Skąd będzie pobierany i testowany z wykorzystaniem Jenkinsa, aby zaprezentować ideę Continus Integration i Continous Delivery. Przedstawione zostaną typowe scenariusze wykorzystania przedstawionych narzędzi, aby umożliwić członkom zespołu sprawną integrację swoich zmian w kodzie z wykorzystaniem wsparcia Gita dla tworzenia i merdżowania branchy (gałęzi). Proces obejmuje także inspekcję kodu oraz automatyczne testowanie zmodyfikowanej wersji aplikacji przed zmergowaniem jej do mastera.

Adresaci szkolenia

Adresatami szkolenia są programiści Java pragnący usprawnić proces wytwarzania oprogramowania, w którym biorą udział. Mile widziana przynajmniej podstawowa znajomość programowania w języku Java.

Czas i forma szkolenia

14 godzin (2 dni x 7 godzin), w tym wykłady i warsztaty praktyczne.

Plan szkolenia

  1. Krótkie wprowadzenie do Agile
    1. główne założenia
    2. przedstawiciele: Scrum, Kanban, XP ..
    3. dlaczego Agile wymaga nowych narzędzi, praktyk i zasad
  2. Czystość kodu
    1. czytelność (formatowanie, nazwy, długość metod i klas, komentarze)
    2. łatwość pielęgnacji (zasady SOLID, DRY, KISS)
    3. narzędzia do analizy (CheckStyle, PMD, FindBug ...)
    4. inspekcja kodu (ang. code review), pair programming
  3. Testowanie
    1. testy automatyczne,
    2. dlaczego pokrycie testami nie wystarcza
    3. zasady TDD
    4. wykorzystanie narzędzi (JUnit, Mockito)
  4. Repozytorium kodu
    1. dlaczego nie SVN
    2. GIT
    3. typowy workflow
    4. GitHub
  5. Git - przydatne funkcjonalności
    1. zdalne i lokalne branche
    2. rebase
    3. reset
    4. cherry-pick
  6. Budowanie aplikacji
    1. zarządzanie załeżnościami
    2. uruchamianie testów i dodatkowych narzędzi
    3. deployment
    4. przykładowe rozwiązania: Maven lub Gradle
  7. Ciągła integracja
    1. ciągłe budowanie i testowanie aplikacji
    2. integracja z systemem kontroli wersji
    3. automatyzacja procesów (deployment, promocja)
    4. Jenkins

Opinie uczestników