Sztuczna inteligencja
Etyka w AI – równoważąc innowacyjność i odpowiedzialność w IT
Oba należą do rodziny zwinnych metod zarządzania projektami. Ich spiritus movens stanowi manifest Agile – swego rodzaju filozofia tworzenia oprogramowania, z którego wynika 12 zasad jego tworzenia. Są zatem metodami implementacji Agile, do tego najbardziej popularnymi, jak wynika z badań wśród organizacji. Istnieją między nimi zarówno podobieństwa, jak i różnice.
Oba – Kanban i Scrum – są zaprojektowane tak, aby umożliwić szybkie, stabilne tempo pracy, które można dostosować do zmieniających się potrzeb klientów. Różnice zaś dotyczą metod stosowanych do osiągnięcia wyników. Nie każdy więc pasuje do każdego projektu i zależy od jego wymagań. Wybór właściwej metody (używa się też określeń struktura czy framework) jest kontekstowy i może wynikać ze szczegółowych czynników, czy np.:
Dokonując wyboru metody, można też zastosować podejście empiryczne: wypróbować obie, by się przekonać, która przynosi lepsze efekty, czyli zapewnia lepszą przejrzystość, pozwala usprawniać proces i podnosi wartość biznesową.
Scrum jest obecnie bardzo popularną strukturą zarządzania zwinnego. Jest stosowany do budowania złożonych produktów, głównie oprogramowania. Praca na bazie Scruma polega na serii iteracji – cyklach trwających 1–4 tygodni (zwykle 2), zwanych sprintami, i odbywaniu codziennych „scrumów”, podczas których zespół informuje o postępach i przeszkodach. Taka organizacja umożliwia zespołowi iteracyjne i regularne dostarczanie oprogramowania, a jej najważniejszym elementem jest proces wdrażania.
Wizję klienta musi dogłębnie poznać cały zespół projektowy
Dla firmy – wykonawcy projektu oznacza to, że wizję klienta musi dogłębnie poznać cały zespół projektowy. Następnie od poziomu pracy indywidualnej całość musi wrócić do wizji. Dzielenie się wizją staje się w rzeczywistości ćwiczeniem jej formowania. Ustawienie pracy w sprintach ogranicza ją czasowo i zarazem dyscyplinuje. Aby osiągnąć cel, wizję należy wdrażać krótkimi krokami i szybko powtarzać, z silnym naciskiem na przegląd pracy.
Scrum pozwala na eksplorację nowych pomysłów biznesowych lub technologicznych, minimalizuje ryzyko eksperymentowania dzięki stałym iteracjom, a na koniec każdej z nich tworzy użyteczny przyrost produktu. Świetnie sprawdza się tam, gdzie trzeba utrzymać stałe tempo rozwoju produktu, którego nie można szczegółowo zaplanować na starcie.
Gdy:
Pod wieloma względami przypomina Scruma, ale jest procesem lżejszym i bardziej elastycznym, ponieważ jest mniej nakazowy i nie zakłada ścisłego planowania pracy. Kieruje się zarządzaniem projektami skoncentrowanym na zasadach Lean. Mówi się, że jest nie tyle metodą, co pewną strategią optymalizacji przepływu pracy. Chodzi o utrzymanie ciągłego przepływu zadań, aby każdy element pracy docierał do punktu zakończenia tak szybko, jak to możliwe, poprzez maksymalizację wydajności zespołu. Jednocześnie zespół nigdy nie otrzymuje więcej pracy, niż jest w stanie wykonać. Zakłada zmiany w toku prac poprzez usprawnianie przepustowości i bieżący pomiar czasu realizacji oraz zmianę priorytetów.
Utrzymanie ciągłego przepływu zadań, poprzez maksymalizacja wydajności zespołu.
Poprzez ciągłe doskonalenie lepiej dostosowuje się do zmian niż inne metody. Sprawdzi się zatem w środowiskach operacyjnych lub serwisowych, w których priorytety mogą się zmieniać. Jego elementy pracy są reprezentowane wizualnie na tablicy Kanban, dzięki czemu członkowie zespołu mogą w dowolnym momencie zobaczyć stan pracy.
Poza budowaniem oprogramowania, z Kanbana dobrze korzysta się w świecie HRu, marketingu, call center czy dziale prawnym – wszędzie tam, gdzie kolejność pracy nie tyle zależy od wartości w produkcie, co jest po prostu kolejką tematów do podjęcia.
Gdy:
Jak już wiadomo, planowanie w Scrumie polega na tworzeniu sprintów i nadawaniu określonej wartości poszczególnym zadaniom. Zespół wspólnie ustala priorytety i przydziela zadania do odpowiednich sprintów. W Scrumie, podobnie jak w Kanbanie, także można tworzyć tablice. Są przydatne, gdy chcemy szczegółowo zaplanować swoją pracę jeszcze przed jej rozpoczęciem. Pozwalają zespołom organizować zadania, zarządzać procesem i na bieżąco monitorować postępy projektu. Podczas tworzenia tablicy w Scrumie powstaje też backlog – lista zadań oczekujących na przydzielenie do właściwego sprintu.
Tablice Kanban tworzone są po to, by łatwo monitorować przebieg zadań, uczynić projekt bardziej przejrzystym i mieć pewność, że wszyscy współpracownicy mają dostęp do niezbędnych danych. Pracownicy nie muszą więc tracić czasu na wzajemne informowanie się o zmianach. Wygląda ona podobnie do scrumowej tablicy aktywnego sprintu – zbudowana jest z kolumn reprezentujących różne statusy postępu.
Jednak Kanban nie pozwala na organizację zadań w sprinty. Tablica Kanban stworzona jest do zarządzania całością zleceń związanych z danym projektem, a nie dzielenia ich na partie. Dzięki temu zespół nie musi szacować czasu ich realizacji. Umożliwia natomiast podzielenie całości pracy na konkretne zadania, np. ostatnio dodanego zlecenia, z ustaleniem dla niego ograniczenia czasowego. W ten sposób można kontrolować obciążenie zespołu pracą w danym czasie i jej przepływ.
Scrum i Kanban to metody, z których korzystaliśmy lub korzystamy w niektórych naszych projektach. O ich skuteczność i przypadki użycia spytaliśmy więc Jana Siemińskiego, Software Developera w WEBSENSA.
Co warto wiedzieć o metodzie zarządzania, aby wybrać optymalną dla danego projektu?
J.S.: Metodologie takie jak Kanban czy Scrum zwykle narzucają sztywną strukturę pracy. Jedną z podstawowych zasad przyświecających “Agile” jest to, że zespoły powinny być “self-organizing” i “self-managing”. Gdy coś nie działa tak jak powinno, nie ma sensu na siłę trzymać się zasad ustalonych przez metodologię. Najlepiej, żeby zespół sam znalazł zestaw technik, w których czuje się dobrze, a praca przebiega efektywnie.
Jak się przekonać, która metoda przynosi lepsze efekty i zapewnia lepszą przejrzystość?
J.S.: Warto eksperymentować i szukać nowych sposobów na poprawę efektywności.
Jakie są Twoje osobiste doświadczenia ze stosowaniem tych metod? W której lepiej się czujesz i dlaczego?
J.S.: Mam lepsze doświadczenia z Kanbanem, ponieważ daje więcej swobody. Najgorszą, moim zdaniem, ideą w Scrumie są sprinty i cała otoczka z nimi związana (planowanie, retrospekcje itp). Najbardziej naturalne jest, po skończeniu zadania, wzięcie z backlogu kolejnego zadania, z najwyższym priorytetem.
Metody zarządzania projektami IT dzielimy na kaskadowe i zwinne. Przeczytaj o tych tradycyjnych (kaskadowych), jak Waterfall czy PRINCE2.
Co to jest dostępność sieci oraz WCAG? Jak ułatwić korzystanie z internetu osobom niepełnosprawnym? Przeczytasz w tym artykule.