INF.04 · C# · lekcja 29

Planowanie przedsięwzięcia — metodyki pracy i narzędzia (Agile, Git, Jira/Trello)

Przejdź od zadania do sprawdzonej zmiany

  • Zrozum
  • Sprawdź
  • Napisz sam

Po tej lekcji: przejdź od zadania do sprawdzonej zmiany

Dzisiaj zrobisz konkretną rzecz

Programowanie w zespole to nie tylko pisanie kodu — to też planowanie pracy, dzielenie zadań i śledzenie postępów. Podstawa programowa (INF.04.3.5 i INF.04.3.7) wymaga znajomości metodyk pracy zespołowej i narzędzi do zarządzania projektem — to wiedza przydatna od pierwszego dnia pracy w każdej firmie IT, niezależnie od języka programowania, jakiego używasz.

Zespół programistów pracujący nad aplikacją bankową zwykle korzysta ze Scruma: co dwa tygodnie (jeden Sprint) planuje konkretny zestaw zadań, codziennie na krótkim spotkaniu ("daily standup") każdy mówi, nad czym pracuje i czy ma jakieś przeszkody, a kod zmienia w Gita, gdzie każda funkcjonalność powstaje na osobnej gałęzi i jest łączona z główną wersją dopiero po code review (sprawdzeniu przez innego programistę) i testach.

Sprawdź w działaniu

Przejdź od zadania do sprawdzonej zmiany

Najpierw przewidź wynik. Zmień dane w modelu i porównaj efekt. Spróbuj także przypadku granicznego, a nie tylko pierwszego poprawnego przykładu.

Ta interakcja wymaga włączonego JavaScriptu.

Model pokazuje wybraną zasadę. Nie uruchamia ani nie ocenia wklejonego kodu C#.

Prześledź decyzję krok po kroku

Wykonaj tę próbę przed dłuższym rozwiązaniem. Tablica nie zastępuje kryteriów ukończenia. Git zapisuje wersje; commit jest lokalny, push dopiero przesyła je do zdalnego repozytorium. Nie wykonuj poleceń w cudzym repozytorium ćwiczeniowym.

Plan pracytext
Do zrobienia → W trakcie → Do sprawdzenia → Gotowe

git status
git add Program.cs
git commit -m "Dodaj walidację"
Wynik
Zadanie ma trafić do Gotowe dopiero po sprawdzeniu kryteriów, nie po samym napisaniu kodu.
  1. Co sprawdzić? Zmień jedną wartość i przed uruchomieniem zapisz przewidywany rezultat. Porównaj go z opisem wyniku; przy błędzie wróć do konkretnej instrukcji.

Jak to działa — 1

Modele cyklu życia projektu:

• model kaskadowy (waterfall) — kolejne etapy (analiza → projekt → implementacja → testy → wdrożenie) następują jeden po drugim, dopiero po zakończeniu poprzedniego. Sprawdza się przy dobrze znanych, stabilnych wymaganiach, ale źle radzi sobie ze zmianami w trakcie projektu;

• model przyrostowy — produkt buduje się w kolejnych, coraz większych częściach (przyrostach), z których każda dodaje nową funkcjonalność;

• model prototypowy — najpierw tworzy się uproszczony prototyp do zebrania informacji zwrotnej od klienta, dopiero potem pełną wersję;

• Agile (zwinne podejście) — praca podzielona na krótkie, powtarzalne cykle z ciągłą informacją zwrotną od klienta. Najpopularniejsze konkretne metodyki Agile to Scrum (praca w Sprintach — zwykle 1-4-tygodniowych cyklach z planowaniem, codziennym krótkim spotkaniem/"daily", przeglądem i retrospektywą na koniec) oraz Kanban (wizualna tablica z kolumnami statusu zadań, np. "Do zrobienia / W trakcie / Gotowe", bez sztywnego podziału na sprinty) i Lean (nacisk na eliminowanie marnotrawstwa i ciągłe doskonalenie procesu).

Jak to działa — 2

Narzędzia praktyczne:

• Git — system kontroli wersji, pozwalający śledzić historię zmian w kodzie, cofać się do wcześniejszych wersji i pracować równolegle w zespole bez nadpisywania cudzej pracy (przez tzw. gałęzie/branche i łączenie zmian);

• Jira / Trello — narzędzia do zarządzania zadaniami: Trello to prosta tablica kanbanowa, Jira to bardziej rozbudowane narzędzie popularne w większych zespołach Scrum, z raportami postępu, backlogiem zadań i śledzeniem błędów;

• diagram Gantta — wykres pokazujący harmonogram projektu w czasie: jakie zadania, kiedy się zaczynają i kończą, oraz które zadania zależą od zakończenia innych.

Sprawdź, zanim przepiszesz cały program

Mylenie Scruma z ogólnym pojęciem Agile — Agile to filozofia/zbiór wartości, Scrum i Kanban to konkretne, sformalizowane metodyki REALIZUJĄCE tę filozofię. Nie są synonimami.

Traktowanie Gita jak zwykłego "backupu w chmurze" — prawdziwa siła Gita to praca zespołowa: gałęzie (branche) pozwalają kilku osobom pracować równolegle nad różnymi funkcjami bez nadpisywania swojej pracy, a historia commitów pozwala zrozumieć, KTO i DLACZEGO zmienił dany fragment kodu.

Sztywne trzymanie się jednej metodyki bez adaptacji do zespołu — w praktyce wiele zespołów miesza elementy Scruma i Kanbana (tzw. Scrumban) — metodyki to narzędzia, nie dogmaty.

Ćwiczenie z pomocą · samodzielna praca

4. Teraz Twoja zmiana

Załóż darmowe konto na GitHubie (jeśli jeszcze go nie masz) i utwórz tam repozytorium ze swoimi rozwiązaniami zadań z tego działu. Zrób pierwszy commit i push.

Oczekiwany rezultat
Spełnij warunki polecenia. Zapisz wejście, otrzymany wynik i wyjaśnij, która część kodu za niego odpowiada.
Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź

Wróć do podstawowej formy oraz objaśnienia: Tablica nie zastępuje kryteriów ukończenia. Git zapisuje wersje; commit jest lokalny, push dopiero przesyła je do zdalnego repozytorium. Nie wykonuj poleceń w cudzym repozytorium ćwiczeniowym.

Krok 2 — pokaż podpowiedź

Zmień tylko część potrzebną do polecenia. Zachowaj działającą wersję przed zmianą i uruchamiaj po każdym małym etapie.

Krok 3 — pokaż podpowiedź

Sprawdź przypadek zwykły i graniczny; porównaj z regułą: Zadanie ma trafić do Gotowe dopiero po sprawdzeniu kryteriów, nie po samym napisaniu kodu.

Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.

5. Sprawdź rozumienie, nie tylko uruchomienie

Dalej na swoim koncie

Rozgrzewki, quiz i zadania są w biurku ucznia.

Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.

Zaloguj się →
Źródła i dalsza nauka