Wprowadzenie do Agile i Scrum
Agile to metodologia opracowywania oprogramowania, która ma przepustowość umożliwiającą szybkie dostosowanie się do zmieniających się wymagań projektu i dostosowanie do rozwoju nowego produktu w trakcie jego trwania lub po jego zakończeniu, w przeciwieństwie do tradycyjnego zarządzania projektami.
Rozumiemy wyraźną przewagę Agile nad tradycyjną metodologią zarządzania projektami:
Tradycyjne podejście:
- Szczegółowe planowanie przed rozpoczęciem
- Pozwala na przyjęcie minimalnych zmian
- Naprawiono definicję projektu
Podejście zwinne:
- Wymagane jest minimalne planowanie przed rozpoczęciem
- Akceptuje i dostosowuje się do zmian
- Naprawiono czas i koszty
Scrum to najczęściej stosowane i popularne podejście do wdrażania zwinnej metodologii.
Wkrótce przejdziemy do sekcji scrum, ale najpierw zobaczmy więcej o zwinnym frameworku.
Zasady manifestu Agile
- Zadowolenie klienta ma najwyższy priorytet, który jest osiągany poprzez ciągłe i wczesne dostarczanie cennego oprogramowania.
- Dostarcz działające oprogramowanie w krótkim czasie dzięki ciągłemu rozwojowi nowego oprogramowania / produktów zgodnie z tym samym podejściem.
- Powinniśmy być w stanie sprostać zmieniającym się wymaganiom, nawet jeśli spóźni się w trakcie cyklu życia SDLC.
- Członkowie zespołu powinni być zawsze zmotywowani i do tego należy zapewnić wystarczające wsparcie i dobre środowisko.
- Deweloperzy i ludzie biznesu muszą codziennie współpracować podczas całego projektu.
- Za najbardziej efektywny sposób rozmowy uważa się bezpośrednią interakcję.
- Zrównoważony rozwój. Wszyscy członkowie zespołu powinni być w stanie utrzymać stałe tempo.
- Działający produkt / oprogramowanie uważa się za podstawową miarę postępu.
- Ostatecznie głównym celem powinna być doskonałość techniczna i solidna konstrukcja.
- W procesie SDLC należy przestrzegać prostoty
- Zespoły powinny faktycznie wykazywać ciągłą skuteczność i przyjmować wszelkie zmiany w celu zwiększenia skuteczności.
- Solidne wzornictwo i architektura pochodzą od samoorganizujących się zespołów.
Podejścia do sprawnego wdrażania:
Link: https://goo.gl/images/fkZqGe
- SCRUM - jest to iteracyjne podejście, w którym występuje tak zwane sprinty trwające do jednego lub dwóch tygodni. Takie podejście pozwala zespołom regularnie dostarczać działający produkt lub oprogramowanie.
- Kanban - w celu wdrożenia zwinnego, to podejście wykorzystuje strukturę wizualną. Tutaj nie ma sprintu o stałej długości, a zespół otrzymuje zadanie z zaległości priorytetowych.
- Extreme Programming (XP) - To podejście ma na celu poprawę jakości oprogramowania i szybkości reakcji poprzez włączenie prostoty, informacji zwrotnych i przyjęcie zmian.
- Rozwój oparty na cechach (FDD) - Podejście to obejmuje 5 podstawowych działań, które są następujące: - Opracowanie ogólnego modelu, zbudowanie listy funkcji, planowanie według funkcji, projektowanie według funkcji i budowanie według funkcji.
- Adaptive System Development (ASD) - to podejście może być wykorzystane do budowy złożonego oprogramowania i systemów i koncentruje się głównie na współpracy zespołu i samoorganizacji. Obejmuje 3 iteracyjne działania - Spekuluj, Współpracuj i Ucz się.
- Metoda dynamicznego rozwoju systemu - DSDM to zwinne podejście oparte na iteracyjnym i przyrostowym podejściu, które w dużej mierze opiera się na metodologii szybkiego tworzenia aplikacji. Zajmuje się typowymi niepowodzeniami projektów, takimi jak problemy z budżetem projektu, brakujące terminy itp.
- Lean Software Development - Lean Software Development to zwinne podejście, które ma 7 podstawowych zasad, które są następujące: Eliminuj marnotrawstwo, Wzmocnij zespół, Dostarcz szybko, Zoptymalizuj całość, Zbuduj jakość, Odłóż decyzje i Wzmocnij naukę.
Co to jest Scrum?
W poprzednich sekcjach widzieliśmy już podejścia stosowane do wdrożenia procesu Agile, a Scrum był jednym z nich, Scrum jest jedną z najważniejszych i najczęściej stosowanych metodologii Agile. Scrum to iteracyjne podejście, w którym istnieje coś takiego jak sprinty trwające do jednego lub dwóch tygodni. Takie podejście pozwala zespołom regularnie dostarczać działający produkt lub oprogramowanie. Tutaj obowiązki, role i spotkania są ustalane w Scrumie, a sprinty to harmonogramy, w których odbywa się planowanie sprintu, demo sprintu, codzienne wstawanie i retrospekcja sprintu.
Role / zespoły Scrumowe:
Link: https://goo.gl/images/XpNHBe
- Scrum Master - Scrum Master to rola odpowiedzialna za zespół scrumowy, aby postępował zgodnie z metodologią Scrum. Scrum Master organizuje spotkania, zachęca zespół, ułatwia planowanie i śledzenie, radzi sobie z wyzwaniami i zajmuje się wąskimi gardłami. Scrum Master komunikuje się również z właścicielem produktu, aby upewnić się, że zaległości produktu są gotowe do następnego sprintu.
- Właściciel produktu - Właściciel produktu jest odpowiedzialny za analizę i komunikację wersji oprogramowania zespołowi Scrum. Właściciel produktu koordynuje również z Scrum Master, aby decydować o zaległościach produktowych dla sprintu.
- Zespół programistów - Zespół programistów składa się ze specjalistów odpowiedzialnych za ciągły rozwój, testowanie i dostarczanie oprogramowania. Określają, jak często dostarczać fragmenty prac.
Kroki w Scrum Flow:
Link: https://goo.gl/images/6YTUPf
- Backlog produktu - Backlog produktu przechowuje listę funkcji produktu. Właściciel produktu i Scrum Master są odpowiedzialni za nadanie priorytetu elementom zaległości na podstawie historii użytkowników i wymagań.
- Planowanie sprintu - jest to spotkanie, które ułatwia Scrum Master, w którym Właściciel produktu przedstawia szczegóły zaległości produktu, ustala kryteria akceptacji dostawy oraz zespół programistów, którzy określają pracę i wysiłek, jaki robili na co dzień.
- Udoskonalenie zaległości - Aby utrzymać zaległość produktu, używamy Udoskonalenia zaległości. Tutaj historie użytkowników są podzielone na mniejsze części, a wszelkie nieistotne historie użytkowników są usuwane
- Daily Scrum - Codziennie 15 minut zajmuje spotkanie, podczas którego omawiane są w zasadzie trzy pytania: Co zostało osiągnięte wczoraj, jaki jest plan na dziś i jakie są przeszkody.
- Spotkanie przeglądowe sprintu - spotkanie odbywa się na końcu każdego sprintu, podczas którego prezentowana jest prezentacja na żywo, aby pokazać, co udało się osiągnąć podczas sprintu.
- Spotkanie retrospektywne Sprint - możemy również nazwać to spotkanie sukcesem, na którym zespół omawia proces, który działał lub który nie działał podczas sprintu, wraz z obejściami.
Wniosek
W tym artykule widzieliśmy, że Agile jest metodologią tworzenia oprogramowania, która ma przepustowość umożliwiającą szybkie dostosowanie się do zmieniających się wymagań projektu i dostosowanie się do rozwoju nowego produktu w trakcie trwania projektu lub po jego zakończeniu, w przeciwieństwie do tradycyjnego zarządzania projektami, podczas gdy Scrum jest najczęściej stosowane i popularne podejście do wdrażania metodyki zwinnej.
Polecane artykuły
To był przewodnik po tym, co jest zwinne i Scrum. Tutaj omówiliśmy różne podejścia Agile i Scrum. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Co to jest sztuczna inteligencja
- Wywiad Agile Scrum Pytania
- Co to jest SDLC
- Agile vs Scrum vs Waterfall