7 min czytania
Podstawy zarządzania projektami w IT. Agile, Scrum, Waterfall Kanban oraz ich kombinacje.
Sebastian Sroka
26 maja 2023
Wstęp
Podstawą zarządzania projektem w IT jest wybranie odpowiedniego podejścia oraz metody pracy. Tak podejścia i metody. Dlaczego ta rozbieżność?
Wiele osób myli podejście z metodą twierdząc np., że Agile to metoda. Nie Agile to podejście, rzekłbym nawet filozofia do zarządzania projektami polegająca na elastyczności, iteracyjności i przejrzystości, w której możemy wykorzystać METODY takie jak Scrum czy Kanban.
W tym artykule staram się opisać, w sposób zrozumiały dla osób z zerową wiedzą o zarządzaniu projektami metody takie jak Kanban i Scrum oraz podejścia Agile i Waterfall. Dodatkowo podaję przykładowe połączenia tychże metod i podejść.
Metoda Kanban
Metoda Kanban to jedno z najpopularniejszych podejść do zarządzania pracą. Metoda ta jest stosowana w różnych branżach i dziedzinach, a jej skuteczność polega na skupieniu się na wizualizacji procesów i przepływu pracy.
Kanban wykorzystuje tablice Kanban, które są podstawowym narzędziem wizualizacji procesów i przepływu pracy. Na tablicach Kanban, zadania są przedstawione jako karty, które reprezentują zadanie do wykonania, a położenie karty na tablicy odzwierciedla jego status.
Na przykład, karty znajdujące się w kolumnie “do wykonania” oznaczają zadania, które czekają na rozpoczęcie, natomiast karty w kolumnie “w trakcie” oznaczają zadania, które są w trakcie realizacji. Przykładami narzędzi wykorzystujących ów tablice może być np. ClickUp, Asana, Trello.
Metoda Kanban jest szczególnie przydatna w sytuacjach, gdy praca jest nieregularna lub zmienia się dynamicznie, ponieważ pozwala na elastyczne dostosowywanie się do zmieniających się warunków.
W przeciwieństwie do tradycyjnych metod, takich jak podejście waterfall, które zakłada, że każda faza projektu musi być zakończona przed przystąpieniem do kolejnej, Kanban pozwala na ciągłą integrację i dostarczanie wartości biznesowej w sposób efektywny i zgodny z wytycznymi projektu.
Jedną z najważniejszych zalet metody Kanban jest to, że pozwala na szybkie wykrycie problemów i nieprawidłowości w procesie pracy. Dzięki wizualizacji procesów i przepływu pracy, łatwo można zidentyfikować przyczyny opóźnień lub innych problemów, co pozwala na szybkie reagowanie i zapobieganie opóźnieniom.
Metoda Kanban jest również łatwa w implementacji i nie wymaga dużych nakładów finansowych czy czasowych. Ponadto, metoda ta może być łatwo dostosowywana do indywidualnych potrzeb i wymagań projektów, co czyni ją uniwersalną i wysoce elastyczną.
Dzięki zastosowaniu metody Kanban, zespoły mogą łatwo identyfikować potencjalne problemy i przeszkody w procesie pracy oraz podejmować szybkie decyzje w celu ich rozwiązania. W efekcie, praca może być bardziej efektywna i przeprowadzana z mniejszą ilością błędów.
Metoda Kanban jest szczególnie przydatna w projektach zespołowych, które wymagają skoordynowanego działania kilku osób. Tablica Kanban umożliwia zespołowi łatwe monitorowanie postępu pracy każdego z członków, co pozwala na lepszą koordynację pracy i szybsze reagowanie na wszelkie problemy.
Metoda Scrum
Metoda Scrum skupia się na zasadach transparentności, co pozwala na ciągłą kontrolę nad postępem prac i szybkie reagowanie na wszelkie problemy. Scrum wykorzystuje różne artefakty, takie jak iteracje (sprinty, backlog produktu, sprint backlog, burndown chart czy Definition of Done (lub inaczej acceptance criteria) , które pozwalają na monitorowanie postępu pracy, planowanie zadań i kontrolowanie jakości dostarczanych produktów.
Jednym z kluczowych elementów metody Scrum jest zespół.
Zespół Scrum składa się z Product Ownera, Scrum Mastera i Development Teamu, którzy razem pracują nad dostarczaniem wartości dla klienta. Product Owner odpowiada za zarządzanie backlogiem produktu i określenie priorytetów dla zespołu, Scrum Master pomaga w realizacji procesu Scrum i usuwaniu wszelkich przeszkód, a Development Team odpowiada za realizację zadań i dostarczanie wartości biznesowej.
W skład development teamu, wchodzi nie tylko zespół developerski ale teź UX/UI designerzy, devopsi i wszystkie osoby zaangażowane w dany projekt .
Metoda Scrum wymaga ciągłego dostosowywania się do zmieniających się wymagań i potrzeb klienta, co pozwala na szybsze i bardziej elastyczne reagowanie na zmiany w trakcie projektu. Praca zespołu projektowego jest organizowana w krótkie, czasowo ograniczone iteracje, nazywane sprintami, które zazwyczaj trwają od jednego do czterech tygodni. W każdym sprincie zespół pracuje nad dostarczeniem konkretnych, wartościowych wyników dla klienta.
Scrum jest szczególnie przydatny w projektach o niepewnej przyszłości, w których wymagana jest szybka i skuteczna adaptacja do zmieniających się warunków.
Podejście Agile
Podejście agile, które promuje zwinność i elastyczność w zarządzaniu projektem. Agile podkreśla, że projekty są zawsze poddane zmianom i dostosowaniom, dlatego ważne jest, aby to właśnie podejście do projektu było adaptacyjne i elastyczne. Zamiast skupiać się na sztywnych planach i wytycznych, podejście agile kładzie nacisk na współpracę z klientem i szybkie reagowanie na zmiany w trakcie projektu.
W podejściu agile, wartość biznesowa jest kluczowa i podczas projektu ważne jest, aby zespół skupiał się na dostarczeniu wartości dla klienta. Zespół stawia sobie za cel regularne i sprawne dostarczenie małych, ale istotnych dla klienta fragmentów funkcjonalności, co pozwala klientowi na weryfikowanie postępu prac i szybkie wprowadzanie poprawek lub usprawnień.
W ten sposób zespół projektowy może reagować na feedback klienta i dostosowywać swoją pracę do wymagań biznesowych. Dzięki temu klient również, widząc otrzymane wartości jest wstanie sprawnie reagować i ewentualnie zmieniać potrzeby projektowe na dany okres. Przesuwając część zadań na dalszy okres, które uzna za mniej ważne i podnosząc priorytety zadań według niego ważniejszych w danym czasie.
Jednym z kluczowych elementów podejścia agile jest iteracyjność i inkrementalność. Podejście agile polega na dzieleniu projektu na mniejsze etapy, które nazywane są sprintami lub iteracjami. Każda iteracja skupia się na dostarczeniu wartości biznesowej w krótkim czasie, najczęściej 2-4 tygodnie. Podczas każdej iteracji zespół pracuje nad określonym zestawem funkcjonalności, które zostaną dostarczone klientowi. Po zakończeniu iteracji, zespół przeprowadza retrospekcję, podczas której ocenia swoją pracę i określa, jak poprawić swoje podejście do projektu.
Podejście agile promuje kulturę ciągłego doskonalenia i uczenia się na błędach. W tym podejściu, zespół pracuje w oparciu o wartości i zasady zawarte w Agile Manifesto, które promują między innymi ciągłą współpracę i komunikację między ludźmi, pracę w małych zespołach oraz zdolność do szybkiego reagowania na zmiany w projekcie.
Podejście agile może być stosowane w różnych kontekstach, od małych projektów po duże i złożone systemy.
Podejście Waterfall
Podejście waterfall składa się z kilku etapów, w tym analizy wymagań, projektowania, implementacji, testowania i wdrożenia. Każdy z tych etapów musi zostać zakończony, zanim można przejść do kolejnego. W podejściu waterfall projekt realizowany jest w sposób sekwencyjny, a kolejność poszczególnych etapów jest ściśle określona.
W waterfallu najpierw definiuje się wymagania projektowe, a następnie projektuje rozwiązanie, które spełnia te wymagania. Implementacja następuje po projektowaniu, a po niej przeprowadza się testy, aby upewnić się, że projekt działa zgodnie z oczekiwaniami. Po testach następuje wdrożenie projektu, czyli umieszczenie go w środowisku produkcyjnym.
Podejście waterfall ma swoje korzyści i wady. Jednym z głównych zalet tego podejścia jest jasna i precyzyjna kolejność etapów projektowych, co ułatwia planowanie i koordynowanie prac. Ponadto, waterfall może być stosowany w sytuacjach, gdy wymagania projektowe są dobrze określone i nie ulegają zmianie w trakcie realizacji projektu.
Jednakże, podejście waterfall ma też swoje wady. Jest to podejście sztywne i nie elastyczne, co oznacza, że trudno jest dostosować projekt do zmieniających się wymagań klienta lub rynku. Ponadto, w podejściu waterfall projekty często trwają dłużej i kosztują więcej, niż w podejściu agile, które skupia się na iteracyjnym dostarczaniu wartości biznesowej.
Warto jednak zaznaczyć, że niektóre organizacje stosują kombinacje podejść, takie jak waterfall z elementami agile lub kanban. Dzięki takiemu połączeniu można uzyskać korzyści obu podejść, takie jak jasna kolejność etapów projektowych oraz elastyczność i szybkość dostarczania wartości biznesowej.
Dlatego teraz omówmy sobie kilka przykładowych połączeń metod i podejść.
Kombinacje podejść i metod
Agile + Kanban to połączenie, które może przynieść wiele korzyści w zarządzaniu projektami.
Agile pozwala na elastyczność i dostosowywanie się do zmieniających się warunków, a Kanban zapewnia wizualizację postępu prac w czasie rzeczywistym i ułatwia komunikację między członkami zespołu. Dzięki temu podejście Agile + Kanban jest szczególnie przydatne w sytuacjach, gdy projekt jest nieregularny lub wymaga ciągłego dostosowywania się do zmieniających się wymagań.
Agile + Scrum to kolejne popularne połączenie, które łączy elastyczność podejścia Agile z przejrzystą strukturą metody Scrum. Sprinty i regularne przeglądy pozwalają na szybkie dostarczanie wartości biznesowej i efektywne dostosowywanie się do zmieniających się wymagań klienta.
Nie ma jednego idealnego podejścia do zarządzania projektami, każde podejście ma swoje zalety i wady. Dlatego coraz częściej stosuje się podejście hybrydowe, łączące elementy różnych metod i podejść.
Na przykład, Agile + Kanban + Scrum to popularna kombinacja, która pozwala na elastyczne zarządzanie projektem i dostosowywanie się do zmieniających się wymagań, jednocześnie utrzymując strukturę i przejrzystość projektu.
Ogień i woda – niespodziewane połączenie Agile + Waterfall
Agile i Waterfall wydają się być dwiema bardzo różniącymi się podejściami, trochę jak ogień i woda. Mimo to jednak połączenie to jest możliwe.
Połączenie podejścia Agile i Waterfall w projektach IT nazywa się hybrydowym podejściem projektowym. W tym podejściu, zamiast wybierać jedno z podejść jako dominujące, projekt realizowany jest poprzez wykorzystanie elementów obu podejść, w celu stworzenia procesu dostosowanego do konkretnego projektu.
W hybrydowym podejściu, korzysta się z iteracyjnej i zwinnej natury podejścia Agile, a także z planowości i hierarchii podejścia Waterfall. Możliwe jest to dzięki temu, że w tym podejściu projekt jest podzielony na mniejsze etapy, z których każdy jest realizowany przez cały zespół projektowy w sposób iteracyjny i zwinny, podobnie jak w podejściu Agile.
Jednakże, w każdym etapie projektu, hybrydowe podejście projektowe wymaga wypracowania konkretnych planów i dokumentacji, co wprowadza elementy podejścia Waterfall. Po każdym etapie projektu, zespół projektowy musi zbierać informacje zwrotne, analizować wyniki i podejmować decyzje na podstawie ich wyników, tak jak to ma miejsce w podejściu Agile.
Dzięki połączeniu podejścia Agile i Waterfall w hybrydowym podejściu projektowym, projekt może być realizowany w sposób dostosowany do specyficznych potrzeb klienta i charakterystyki projektu, przy jednoczesnym zachowaniu zalet obu podejść.
Podsumowanie
Wybór odpowiedniej metody lub podejścia do zarządzania projektem zależy od wielu czynników, takich jak charakter projektu, wymagania klienta i preferencje zespołu. Kombinacja różnych metod i podejść może przynieść korzyści i pozwolić na elastyczne i skuteczne zarządzanie projektem.
Metody Kanban i Scrum wykorzystują wizualizację procesów i elastyczne podejście do projektów.
Metoda Kanban korzysta z tablic Kanban, umożliwiających elastyczne monitorowanie procesów, a Metoda Scrum skupia się na zasadach transparentności i zespołowej pracy nad wartością dla klienta.
Agile i Waterfall to dwie główne metodyki stosowane w projektowaniu i zarządzaniu projektami informatycznymi.
W Waterfallu projekt jest podzielony na kolejne fazy, a każda z nich musi zostać zakończona przed rozpoczęciem kolejnej. Metoda ta zakłada, że wymagania projektowe są dokładnie określone i nie ulegają zmianie w trakcie realizacji projektu. Wadą tej metodyki jest brak elastyczności, co oznacza, że zmiany w wymaganiach projektowych mogą prowadzić do opóźnień lub zwiększenia kosztów projektu.
Agile to podejście iteracyjne, które zakłada ciągłą integrację i dostarczanie wartości biznesowej w krótkich okresach czasu. Agile pozwala na elastyczne dostosowywanie się do zmieniających się wymagań projektowych i szybsze reagowanie na problemy.
Aplikacje cross-platform i natywne - czym się różnią i które rozwiązanie wybrać?
Dowiedz się, kiedy wybrać technologie natywne, a kiedy cross-platformowe. Poznaj różnice między tymi podejściami i odkryj, które rozwiązanie najlepiej pasuje do Twojego projektu aplikacji mobilnej.
Oskar Szymkowiak
12 sierpnia 2022
4 narzędzia do analizy danych e-commerce: Optymalizuj sprzedaż i zwiększ konwersje
Poznaj 4 niezawodne narzędzia do analizy danych e-commerce, które pomogą Ci zoptymalizować sprzedaż i zwiększyć konwersje.
Michał Kłak
14 kwietnia 2023
AWS w 2023: Dlaczego dominuje w świecie usług chmurowych?
AWS to lider w chmurze, oferujący elastyczne i skalowalne rozwiązania. Odkryj, jak wspiera transformację cyfrową firm.
Oskar Szymkowiak
27 listopada 2023