Scrum i Agile for Dummies

12.05.2019

Istnieje wiele różnych metodologii, dzięki którym możesz wdrożyć zasady i filozofię Agile. Niektóre z nich to Kanban, Programowanie (XP), Kryształ i System (DSDM).

Jedna z najpopularniejszych metodologii Agile Scrum z prostym interfejsem to intuicyjny i interesujący sposób skupienia się na projekcie. Mimo że Agile został stworzony specjalnie do tworzenia oprogramowania, każdy, kto pracuje w dynamicznym i dynamicznym środowisku, może skorzystać z elastycznej i powtarzalnej pracy.

Historia metodologii

W 2001 r. 17 autorów oprogramowania

W 2001 roku 17 czołowych twórców oprogramowania zgromadziło się w Snowbird w stanie Utah, w tym Jeff Sunderland, uważany za ojca chrzestnego Agile. Jeff i jego przyjaciele wspólnie stworzyli legendarny Manifest dla Agile Software Development, stawiając sobie zadanie rozstania się z ciężkimi ograniczeniami tradycyjnego rozwoju oprogramowania. Chociaż nazwa projektu Agile Scrum może wydawać się przerażająca, użytkownik nie musi być programistą, aby łatwo zrozumieć zasady działania i zacząć go używać niezależnie.

Tłumaczenie słowa zwinny oznacza: zwinny, żywy, szybki, zwinny, zwinny, a program jest w pełni zgodny z tymi wartościami. Tradycyjne metodologie zarządzania projektami, takie jak Waterfall, PMBOK PMI i PRINCE2, są sztywne i kontrolowane. Opisują różne etapy planowania projektu od początku do końca i zakładają, że użytkownicy mają z wyprzedzeniem wszystkie wymagania i niezbędne informacje. Agile Scrum odrzuca wszystkie tradycyjne metodologie zarządzania projektami jako uciążliwe, restrykcyjne i nieodpowiednie dla nowych wymagań, biorąc pod uwagę, że zespoły biznesowe muszą być szybkie i elastyczne.

Elastyczne zarządzanie projektami bierze pod uwagę niepewność, a wartości są odpowiedzialne za zmianę planu. Zwinne planowanie zachęca do pracy nad czymś małym, szybkiego wykonania, uzyskania opinii, oceny, co działa, a co nie, i dostosowania planu do wyników. Ten proces małych, szybkich i powtarzalnych cykli jest znany jako "iteracyjny".

Zasady kontroli schematu podstawowego

Poznanie podstaw metodologii jest najłatwiejszą częścią projektu. Opanowanie technologii to trudniejsze zadanie. W tym sensie Agile jest podobny do pokera, w którym zasady są opanowane w 10 minut, ale wtedy rozpoczęcie gry będzie wymagało dużo czasu. Poniżej znajduje się kilka podstawowych kroków, aby rozpocząć:

  1. Pobierz i wydrukuj wersję PDF oficjalnego Przewodnika po Scrumie.
  2. Podkreślaj wyrażenia i role, które są nowe dla użytkownika, i zacznij pracować nad zapamiętywaniem tego, co każdy z nich w Agile Scrum oznacza.
  3. Wybierz role.
  4. Wybierz Scrum Master, pomoże on zespołowi poruszać się na zasadach Scruma, który działa na modelu "head - podwładni".
  5. Stwórz swój produkt Backlog - to miejsce, w którym wszystko, czego wymaga projekt, jest uporządkowane według ważności.
  6. Wraz z tworzeniem projektu, gdy pojawiają się nowe potrzeby, zostają do niego dodane. Odpowiedzialność za to ponosi przede wszystkim właściciel produktu.
  7. Rozpocznij planowanie, wybierz zadania z zaległości, które zostaną ukończone w pierwszym projekcie. Sprint jest ograniczony czasem.
  8. Określić czas trwania projektu, ale nie dłużej niż jeden miesiąc.
  9. Zidentyfikuj zadania, które powinny znaleźć się w Agile Scrum i kto będzie za nie odpowiedzialny.
  10. Rozpocznij sprint. Członkowie zespołu pracują nad własnymi projektami, a każdy sprawdza ich postępy w codziennym spotkaniu Scrum. To spotkanie trwa około 20 minut, zespoły odpowiadają na 3 pytania: co zrobiono wczoraj? co się dzisiaj stanie? Jakie bloki działają dzisiaj i jaka pomoc jest potrzebna?
  11. Wykonaj analizę sprintu.
  12. Aby przeprowadzić nowe planowanie w celu poprawy jego pracy, zapewnienie skuteczności projektu
  13. Po zakończeniu pierwszego Sprintu rozpocznij nowy, zaznaczając więcej zadań z zaległości i powtórz proces.

Trener drużyny

Trener drużyny

Scrum - elastyczny sposób zarządzania projektem - zwykle jest tworzeniem oprogramowania. Zwinne tworzenie oprogramowania jest często postrzegane jako metodologia, ale faktycznie reprezentuje strukturę kontroli procesu. Agile Scrum: co to jest? Agile Scrum jako część elastycznego rozwoju zespołu jest dobrze zademonstrowany na temat funkcji ról. Są wspierane przez dwa konkretne zadania.

Pierwszą rolą jest Scrum Master, który można uznać za trenera zespołu. Pomaga członkom zespołu wykorzystywać proces realizacji projektu na najwyższym poziomie. Właścicielem produktu (oprogramowania) jest druga rola, która kieruje zespołem do tworzenia odpowiedniego produktu. Model Scrum zakłada, że ​​projekty przechodzą przez serię sprintów. Zgodnie z elastyczną metodologią, sprinty mają ramy czasowe nie większe niż miesiąc, a najczęściej dwa tygodnie.

Model oznacza spotkanie planistyczne na początku sprintu, gdzie członkowie zespołu ustalają, ile funkcji mogą wykonać, a następnie tworzą zaległości w sprintu, listę zadań, które należy wykonać podczas sprintu. Podczas elastycznego zespołu Sprint Scrum dostaje zestaw funkcji od pomysłu do zakodowanej i sprawdzonej funkcjonalności. Na koniec funkcje te są wykonywane, co oznacza kodowanie, testowanie i integrację w rozwijającym się produkcie lub systemie.

Proces Scruma: podstawowe artefakty

Proces Scruma: podstawowe artefakty

Zarządzanie projektem Agile Scrum przy użyciu elastycznych podejść sugeruje obecność artefaktów. Najważniejszym z nich w rozwoju Scruma jest sam produkt. Model oczekuje, że zespół doprowadzi produkt lub system do potencjalnie operacyjnego stanu po zakończeniu każdego sprintu. Zbiór produktu jest kolejnym artefaktem. Jest to pełna lista funkcji, które należy dodać do produktu. Właściciel nadaje priorytet zaległościom, więc zespół zawsze korzysta z najbardziej wartościowych funkcji.

Popularnym i skutecznym sposobem tworzenia opóźnienia produktu za pomocą metodologii jest wypełnienie go historiami użytkowników, które zawierają krótki opis funkcji opisanych z ich punktu widzenia. W zarządzaniu projektami, w pierwszym dniu sprintu i podczas spotkania planistycznego, członkowie zespołu określają opóźnienie sprintu. Opóźnienie sprintu może być postrzegane jako lista zadań dla zespołu podczas sprintu, natomiast opóźnienie produktu jest listą funkcji, które muszą być tworzone jako historie użytkowników.

Sprint w sprintu to lista zadań, które musi wykonać zespół, aby dodać funkcjonalność.

Dodatkowymi artefaktami, które są wynikiem elastycznej metodologii Scruma, są oś czasu sprintu i wykres wyjściowy. Wykresy Burndown pokazują element pracy pozostały w sprintu lub wydaniu i są skutecznym narzędziem programistycznym do ustalenia, czy nowy sprint przejdzie harmonogram, aby wszystkie zaplanowane zadania zostały zakończone wymaganą datą.

Zadania zespołowe uczestników

Zadania zespołowe uczestników

Scrum Master jest trenerem zespołu i pomaga praktykom Scruma osiągnąć najwyższy poziom wydajności. W procesie Master różni się od tradycyjnego menedżera projektu, w tym rola ta nie zapewnia codziennych wskazówek dla zespołu i nie przypisuje zadań osobom. Dobry mistrz w procesie zarządzania projektami Agile Scrum ukrywa zespół przed zewnętrznymi zakłóceniami, umożliwiając jego członkom skupienie się podczas sprintu na wybranym celu.

Scrum Master koncentruje się na pomaganiu zespołowi w osiąganiu najlepszych wyników, a właściciel produktu stara się skierować zespół do właściwego celu. Właściciel robi to, tworząc atrakcyjną wizję produktu, a następnie przekazując go zespołowi. Jest odpowiedzialny za nadanie priorytetu zaległościom podczas opracowywania Scruma, aby upewnić się, że osiągnął zero, ponieważ w tym przypadku dowie się więcej o systemie w trakcie budowy, jego użytkownikach i zespole.

Trzecią i ostatnią rolą w zarządzaniu projektami jest zespół Scrum. Chociaż ludzie mogą przyłączyć się do różnych tytułów, w projekcie nazwy te są nieznaczne.

Technika mówi, że każda osoba przyczynia się w jakikolwiek sposób do ukończenia pracy każdego sprintu. Nie oznacza to, że tester przeprojektuje system. Uczestnicy spędzają więcej czasu na pracy, niezależnie od dyscypliny, którą wykonali przed podjęciem decyzji dotyczącej elastycznego modelu. Ale dzięki Scrum ludzie będą pracować poza swoimi obowiązkami, ponieważ zostanie to zrobione dla dobra zespołu.

Kierownik projektu

Mistrz scrum to osoba, która pomaga innym zrozumieć projekt i służy jego zespołowi, eliminując przeszkody. Pomaga również uprościć złożoność uczenia Scrum Agile. Kreator musi zapewnić, że zespół programistów działa na podstawie wartości bazowych. Często jest uważany za trenera zespołu, który pomaga jej wykonywać lepszą pracę. Ponadto gwarantuje, że wdrożenie Scruma zakończy się sukcesem w przedsiębiorstwie. Mistrz działa jako centrum projektu.

Musi wykonywać następujące funkcje:

  1. Kontrola, czy zespół spełnia swoje cele biznesowe.
  2. Promuj pracę zespołową w zespole
  3. Aby przeprowadzić planowanie, zbieranie zamówień zespołowych, demonstrację sprintu, retrospektywną sprint.
  4. Przetwarzaj i pomagaj w zachowaniu integralności wartości projektu.
  5. Przyczynianie się do poprawy praktyk technicznych, takich jak TDD, automatyczne testowanie i ciągła integracja.
  6. Monitorowanie obecności interesariuszy na spotkaniu.
  7. Kontrola nad podziałem ryzyka między zespołami.
  8. Studia wykonalności, opracowywanie i weryfikacja specyfikacji.

Kanban vs Scrum

Scrum i Kanban są iteracyjnymi systemami pracy, które opierają się na przepływach procesowych i mają na celu zmniejszenie ilości odpadów. Istnieje jednak kilka głównych różnic między nimi.

Kanban to metoda zarządzania wizualnego opracowana przez Hirotaka Takeuchi i Ikujiro Nonaka w strategiach rozwoju produktu w 1986 roku. Obecnie trwają badania i ewolucja Kanban, a zespoły biznesowe stale poszukują nowych sposobów wykorzystania go jako przydatnego narzędzia, w tym wydajności, wydajności, czasu cyklu i jakości. Kanban działa dobrze podczas używania Scruma lub dowolnej innej metody Agile.

Kanban może być z zasady wykorzystywany do wizualizacji i usprawniania przepływu pracy, niezależnie od metodologii użytej do wykonania pracy. Kanban można skonfigurować tak, aby odpowiadał procesom i systemom pracy, które już posiada zespół lub firma. Po przyjęciu lub opracowaniu metody pracy opartej na zasadach Agile, zespół może zacząć używać narzędzi zwinnych, takich jak tablice kanban i narzędzia do prognozowania projektów, które pomogą zarządzać projektami i przepływami pracy.

Tabela porównawcza dla Agile Scrum i kanban.

Tabela porównawcza dla Agile Scrum i kanban

Zarządzanie portfelem

Zarządzanie portfelem

Rozumie się, że użytkownik nie może samodzielnie rozważyć zarządzania portfelem, ale jego opinia powinna być brana pod uwagę w kontekście innych części projektu, na które ma wpływ. Strategia upraszczająca zarządzanie portfelem, na przykład jedyny sposób finansowania zespołów, może powodować nadmierne koszty i biurokrację dla finansowanych zespołów.

Istnieje dziewięć ważnych czynników w metodologii zarządzania portfelem Agile Scrum:

  1. Potencjalne wartości. Zespół ds. Zarządzania portfelem zidentyfikuje potencjalne nowe pomysły i produkty rozwojowe, sprawdzając otoczenie biznesowe, sprawdzając, co robią konkurenci, uzyskując opinie od obecnych klientów. Pomoże to zapewnić ich przyszłe potrzeby poprzez elastyczne modelowanie i burzę mózgów.
  2. Potencjalne zobowiązania. Zespół zarządzający portfelem poświęci czas na zrozumienie potencjalnych inicjatyw. Mogą w tym celu preferować uzasadnienie biznesowe, tworząc założenia wysokiego poziomu dotyczące potencjału rynkowego lub zwrotu z inwestycji (ROI). Zespół może również rozważyć alternatywne podejścia do tej pracy i wybrać grupę fokusową lub mały eksperyment, aby lepiej wykorzystać metodologię Agile Scrum.
  3. Priorytetowy potencjalny wysiłek. Ponieważ niewiele organizacji ma nieograniczone budżety, aby pracować nad projektem, konieczne jest ustalenie priorytetów dla potencjalnych inicjatyw, a następnie inwestowanie w te obszary, które są najważniejsze. Przy określaniu priorytetów należy wziąć pod uwagę kilka czynników, w tym: wartość biznesową, ryzyko biznesowe i zależność.
  4. Zarządzanie budżetem portfela. Tradycyjne firmy przechodzą coroczny proces budżetowy, co prowadzi do znacznych kosztów ogólnych i ryzyka. Bardziej efektywne strategie to rezygnacja z tradycyjnego finansowania i przejście do planowania budżetu, które ewoluuje wraz ze wzrostem potrzeb i zasobów.
  5. Rozpoczęcie działań jest wymogiem Agile Scrum. Nowe produkty mogą być opracowywane przez zespół ds. Produktu lub zespół projektowy. W przypadku produktów, które są całkowicie nowe dla organizacji, możesz najpierw wziąć pod uwagę minimalne podejście do rozpoczęcia badań, kiedy najpierw testujesz potencjał rynkowy produktu z serią eksperymentów dydaktycznych.
  6. Finansowanie. Wysiłki informatyczne muszą być finansowane. Obejmuje to finansowanie nowych projektów na początkowe działania, a także bieżące finansowanie budowy, przejścia i pracy po ich wdrożeniu. Ponadto po rozpoczęciu finansowania przeprowadzany będzie regularny monitoring w celu zapewnienia rozsądnych wydatków.
  7. Planowanie możliwości IT. Dział IT musi dysponować zasobami, zarówno finansowymi, jak i ludzkimi, aby wykonywać swoje obowiązki. Muszą to być specjaliści posiadający odpowiednie umiejętności do wykonania pracy w koordynacji z uczestnikami projektu.
  8. Zarządzanie dostawcami. Ważny aspekt zarządzania portfelem, zwłaszcza jeśli chodzi o dostawców usług IT świadczących usługi dla kontrahentów, konsultantów lub usługi deweloperskie. Zarządzanie dostawcami obejmuje zamówienia, identyfikację potencjalnych dostawców, monitorowanie realizacji kontraktów i, ostatecznie, kontraktowanie.
  9. Zarządzanie portfelem IT, w tym dalszy rozwój, a także rozwiązania operacyjne.

Elastyczne opcje zarządzania zasobami

Zarządzanie zasobami może być pozytywnym wzmocnieniem elastycznych podejść z uwzględnieniem następujących parametrów:

  1. Częstotliwość współpracy jako kryterium decydowania o składzie zespołu.
  2. Lokalizacja jest wysoce ważonym parametrem.
  3. Wprowadzenie osobistego czynnika przez samych pracowników.
  4. Stopień stałości.
  5. Zoptymalizowane pod kątem wydajności planowanie na poziomie zespołu.

Oczywiście te czynniki nie zastępują innych, takich jak kwalifikacje, preferencje dotyczące składu wewnętrznego lub zewnętrznego, koszt, dostępność i planowanie materiałów. Te wymagania dotyczące planowania zasobów stanowią problem. Jeśli są dobrze rozwiązane, pomagają stworzyć podstawę dla elastycznej zasady samoorganizacji zespołów. Zwiększa również prawdopodobieństwo, że rozwiązania i produkty będą tworzone nie tylko raz, ale stale, optymalizując i rozszerzając.

Dynamiczne budowanie zespołu wzmacnia kolejną elastyczną zasadę, zgodnie z którą procesy mobilne przyczyniają się do zrównoważonego rozwoju, a klient, programista i użytkownik będą mogli utrzymywać stałą interakcję przez nieograniczony czas.

Podobieństwa i różnice metod

Istnieje wiele różnic między metodami. Najważniejsze, co odróżnia Agile od Scruma: Agile to filozofia, a Scrum to proces wdrażania filozofii. Podobieństwo metod:

  1. Odpowiednio związane z zarządzaniem projektami i tworzeniem oprogramowania.
  2. Optymalne wykorzystanie zasobów.
  3. Efektywne zarządzanie różnymi zadaniami.
  4. Ma na celu maksymalne wykorzystanie użytkowników biznesowych.
  5. Dostarcz produkt lub projekt do użytkowników biznesowych w możliwie najkrótszym czasie.
  6. Podkreślaj ciągłe doskonalenie, współpracę i otwartą komunikację.

Zróżnicowania Agile i Scrum mają takie:

  1. Zakres
  2. Planowanie. Elastyczna metodologia obejmuje regularne dostarczanie i aktualizowanie oprogramowania. Pod Scrum następny sprint jest zaplanowany po zakończeniu przez zespół bieżących działań sprintu.
  3. Projekt i wykonanie. Agile podkreśla, że ​​projektowanie i wykonanie są proste. Pod Scrumem projekt i wykonanie mogą być eksperymentalne i innowacyjne.
  4. Środowisko pracy Elastyczna metodologia jest bardzo odpowiednia dla stabilnego środowiska, w którym znajduje się niewielki zespół ekspertów, podczas gdy Scrum nadaje się do projektów, w których środowisko pracy jest dynamiczne lub popyt szybko się zmienia.
  5. Elastyczność Główną zaletą metodyki Agile jest elastyczność, ponieważ szybko dostosowuje się do zmian. Podczas gdy Scrum ma nieco sztywne i uporządkowane podejście i styl.
  6. Współpraca. Agile podkreśla współpracę, a także bezpośrednią interakcję lub komunikację między członkami zespołu, podczas gdy Scrum zapewnia współpracę poprzez codzienne spotkania z dobrze zdefiniowanymi rolami dla mistrza walki, użytkowników biznesowych i różnych członków zespołu.
  7. Połączenie Elastyczna metodologia daje pierwszeństwo bezpośredniej komunikacji i powiązanym metodom w celu osiągnięcia różnych celów. Scrum nie zwraca zbytniej uwagi na bezpośrednią wiadomość.
Agile i Scrum

Teraz jest jasne dla użytkownika, że ​​Agile Scrum są niezbędnymi narzędziami do zarządzania projektami i tworzenia oprogramowania. Kierują się systematycznym podejściem, aby uzyskać najlepsze wyniki. Oba mają na celu zapewnienie maksymalnej wartości dla użytkowników biznesowych poprzez optymalne wykorzystanie zasobów, podkreślenie procesów iteracyjnych, przyczynianie się do zmian, ciągłe doskonalenie, współpracę, otwartą komunikację. Uzupełniają się nawzajem na wiele sposobów.