Studentom inżynierii wchodzącej na rynek rozwoju oprogramowania przysporza się środowisko charakteryzujące się szybkimi zmianami i iteracyjnym dostarczaniem. Metodologia, która stanowi fundament większości współczesnych cykli rozwojowych, to Agile. Zrozumienie specyficznej terminologii związanej z tym podejściem to nie tylko ćwiczenie akademickie, ale konieczność zawodowa. Ten przewodnik zapewnia kompleksowy przegląd kluczowych pojęć, zapewniając jasność zarówno dla studentów, jak i dla specjalistów.
Niezależnie od tego, czy uczestniczysz w projekcie dyplomowym na uczelni, czy dołączasz do zespołu inżynieryjnego w firmie, język Agile ułatwia komunikację. Ustanawia wspólnie zrozumiałe podejście do przepływu pracy, standardów jakości i dynamiki zespołu. Poniższe sekcje analizują podstawowe elementy, role i artefakty tworzące ekosystem Agile.

Zanim przejdziemy do konkretnych pojęć, kluczowe jest zrozumienie pochodzenia. Manifest Agile został opublikowany w 2001 roku przez grupę programistów. Ustala priorytet ludzi i interakcji nad procesami i narzędziami. Uważa oprogramowanie działające za ważniejsze niż szczegółową dokumentację. Podkreśla współpracę z klientem zamiast negocjacji kontraktowych. Podkreśla reagowanie na zmiany zamiast ślepego przestrzegania planu.
Te cztery wartości wspierają dwanaście zasad. Te zasady kierują procesem podejmowania decyzji podczas rozwoju. Wspierają częste dostarczanie oprogramowania, przyjmowanie zmieniających się wymagań oraz utrzymanie zrównoważonego tempa pracy. Dla studentów inżynierii zrozumienie tych wartości to pierwszy krok ku skutecznemu działaniu.
Różne frameworki organizują zespoły inaczej, ale najczęściej stosowaną strukturą jest Scrum. Ten rozdział przedstawia konkretne obowiązki w ramach tej struktury.
Właściciel produktu reprezentuje głos klienta i biznesu. Jest odpowiedzialny za maksymalizację wartości produktu wynikającego z pracy zespołu deweloperskiego. Ta rola obejmuje zarządzanie Backlogiem produktu.
Scrum Master wspiera zespół, zapewniając przestrzeganie procesu. Nie jest tradycyjnym menedżerem, lecz faktycznym współorganizatorem i trenerem. Ich głównym celem jest usuwanie przeszkód, które utrudniają postęp zespołu.
To grupa specjalistów, którzy wykonują rzeczywistą pracę związana z dostarczaniem przyrostu. Są wieloaspektowi, co oznacza, że posiadają wszystkie umiejętności potrzebne do stworzenia produktu bez zależności od zewnętrznych źródeł. Są samoorganizowani, co oznacza, że decydują, jak wykonać pracę.
Artefakty reprezentują pracę lub wartość. Zapewniają przejrzystość i możliwości inspekcji. Trzy główne artefakty to lista produktu, lista Sprintu oraz przyrost.
To uporządkowana lista wszystkiego, co jest znane jako potrzebne w produkcie. Jest to jedyny źródło wymagań. Nigdy nie jest kompletna. Szczegóły zmieniają się wraz z rozwojem produktu i środowiska. Jest dynamiczna.
To zestaw elementów z listy produktu wybranych na Sprint. Zawiera plan dostarczenia przyrostu produktu oraz osiągnięcia celu Sprintu. Jest własnością zespołu rozwojowego.
Przyrost to konkretny krok naprzód w kierunku celu produktu. Każdy przyrost jest dodawany do wszystkich poprzednich przyrostów. Musi być w warunkach użytecznych, niezależnie od tego, czy właściciel produktu decyduje o jego wydaniu.
Wydarzenia tworzą rytm i możliwości inspekcji oraz dostosowania. Są czasowo ograniczone, co oznacza, że mają maksymalny czas trwania.
Sprint to serce Agile. Jest to zdefiniowany czasowo event trwający maksymalnie miesiąc, w którym tworzony jest „gotowy”, używalny i potencjalnie wydawalny przyrost produktu. Sprinty zawierają i składają się z planowania sprintu, codziennych spotkań, przeglądu sprintu oraz retrospektywy sprintu.
To wydarzenie uruchamia sprint. Cały zespół Scrum współpracuje nad planem. Właściciel produktu omawia cel oraz aktualny stan backlogu produktu. Zespół rozwojowy przewiduje funkcjonalność, która będzie w nadchodzącej iteracji.
Znane również jako codzienne stand-up, to spotkanie trwające 15 minut dla zespołu rozwojowego. Nie jest przeznaczone do raportowania postępów zarządzaniu, ale do zsynchronizowania działań zespołu i stworzenia planu na następne 24 godziny.
To zdarzenie ma miejsce na końcu Sprintu w celu sprawdzenia postępów i dostosowania Backlogu Produktu, jeśli to konieczne. Zespół Scrum i stakeholderzy przeglądują to, co zostało osiągnięte.
Zespół Scrum analizuje, jak przebiegł ostatni Sprint pod kątem osób, interakcji, procesów, narzędzi oraz ich Definicji Gotowości. Celem jest zidentyfikowanie sposobów na poprawę i ich zrealizowanie w kolejnym Sprintie.
Poza podstawowym frameworkiem Scrum, zespoły inżynierskie napotykają specyficzne terminy dotyczące samej pracy.
Historia użytkownika to nieformalne, ogólne wyjaśnienie funkcji oprogramowania napisane z perspektywy końcowego użytkownika. Posiada określony format zapewniający jasność.
Metaforycznie, dług techniczny reprezentuje ukryte koszty dodatkowej pracy wynikające z wyboru łatwego (ograniczonego) rozwiązania teraz zamiast lepszego podejścia, które zajęłoby więcej czasu. Zbiera odsetki, jeśli nie zostanie spłacony.
Prędkość to miara ilości pracy, jaką zespół może wykonać w trakcie jednego Sprintu, oraz kluczowy wskaźnik w Scrumie. Obliczana jest jako suma punktów zrealizowanych historii użytkownika.
Definicja gotowości to formalny opis stanu Incrementu, gdy spełnia wymagane miary jakości dla produktu. W momencie, gdy Increment spełnia Definicję gotowości, może zostać wydany.
Te metryki są często używane w Kanbanie i ogólnym przepływie inżynieryjnym.
Choć Scrum jest popularny, nie jest jedynym podejściem. Kierunki inżynieryjne powinny znać powiązane metodyki.
Kanban skupia się na wizualizacji pracy, maksymalizacji przepływu i ograniczaniu pracy w toku. Nie przewiduje konkretnych ról ani ustalonych iteracji jak Scrum.
XP podkreśla doskonałość techniczną i praktyki inżynieryjne. Często stosowane w połączeniu z Scrum.
Lean stosuje zasady produkcji przemysłowej do oprogramowania. Skupia się na eliminowaniu strat i szybkim dostarczaniu wartości.
Dane napędzają poprawę. Zespoły inżynieryjne opierają się na konkretnych metrykach, aby ocenić stan i wydajność.
Wykres pokazujący ilość pracy pozostałe w Sprintie lub projekcie. Pomaga zespołowi zrozumieć, czy są na właściwym torze, by zakończyć pracę.
Podobny do wykresu spadku pracy, ale pokazuje ilość wykonanej pracy w czasie, a także całkowity zakres.
Liczba jednostek pracy wykonanych w określonym okresie. Jest przydatna do pomiaru pojemności zespołu w czasie.
| Termin | Definicja | Kategoria |
|---|---|---|
| Sprint | Okres ograniczony czasowo, w którym realizowana jest praca | Zdarzenie |
| Backlog produktu | Uporządkowana lista wszystkich znanych wymagań | Artefakt |
| Historia użytkownika | Krótkie opisanie funkcji z perspektywy użytkownika | Artefakt |
| Prędkość | Miara pracy wykonanej w ciągu jednego Sprintu | Metryka |
| Definicja gotowości | Kryteria, które muszą zostać spełnione, aby praca była ukończona | Standard |
| Dług techniczny | Koszt ponownej pracy wynikający z użycia skrótów | Koncepcja |
| Scrum Master | Fasylitator i trener dla zespołu | Rola |
| Właściciel produktu | Reprezentuje klienta i zarządza backlogiem | Rola |
| Zwiększenie | Używalna dodatkowa część produktu | Artefakt |
| Kanban | Metoda skupiająca się na przepływie i ograniczeniach WIP | Framework |
Kierunki inżynieryjne często przechodzą z projektów akademickich do środowisk zawodowych bez jasnego zrozumienia tych pojęć. Ten brak może prowadzić do konfliktów z interesantami lub nieporozumień w zespołach. Znajomość tego słownika zamyka tę przerwę.
Gdy natrafisz na słowo, którego nie rozumiesz, poproś o wyjaśnienie. Nie zakładaj znaczenia. Przemysł ceni precyzję. Używanie poprawnej terminologii świadczy o kompetencji i szacunku dla procesu.
Dodatkowo, zrozumienie tych koncepcji pozwala Ci promować lepsze praktyki. Jeśli zauważysz, że zespół gromadzi dług techniczny, możesz użyć frameworku, aby zaproponować czas na refaktoryzację. Jeśli proces jest niejasny, możesz odwołać się do Definicji Gotowości, aby ustalić jasność.
Nieprzerwane uczenie się to część myślenia inżynierskiego. Manifest Agile zachęca do reflektowania nad tym, jak stać się lepszym w wykonywaniu pracy. Ten przewodnik służy jako punkt wyjścia do tej refleksji. W miarę postępu będziesz napotykać nowe terminy i subtelności. Zachowaj osobisty słownik. Uzupełniaj go w miarę nauki.
Świat oprogramowania jest dynamiczny. Frameworki ewoluują. Jednak podstawowe zasady współpracy, iteracyjnej dostawy i jakości pozostają niezmienne. Opanowanie tej terminologii zapewnia Ci elastyczność i skuteczność w dowolnym środowisku inżynierskim.
Pamiętaj, że narzędzia się zmieniają, ale zasady pozostają. Niezależnie od tego, czy pracujesz w startupie, czy w dużej firmie, potrzeba jasnej komunikacji i strukturalnej dostawy pozostaje. Używaj tego słownika jako punktu odniesienia w swojej drodze rozwoju zawodowego.