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.
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.
Do zrobienia → W trakcie → Do sprawdzenia → Gotowe
git status
git add Program.cs
git commit -m "Dodaj walidację"
Zadanie ma trafić do Gotowe dopiero po sprawdzeniu kryteriów, nie po samym napisaniu kodu.
- 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.
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ę →