Scrum i Kanban to dwie najpopularniejsze metody pracy w modelu zwinnym. W związku z tym, że różnią się one od siebie, dla każdego projektu wybór może być inny, w zależności od potrzeb oraz charakteru pracy. Jaka metoda sprawdzi się dla zespołów DevOps, które wykorzystują wysoce zautomatyzowane podejście do wdrażania rozwiązań, które bardzo szybko ewoluują? Dobrze dobrany system jest bardzo istotny – dzięki temu zespoły DevOps mogą znacząco poprawić wartość biznesową dostarczaną przez organizacje. Co zatem wybrać – Scrum czy Kanban?
DevOps polega na przyjmowaniu zwinnych praktyk w całym łańcuchu wartości IT, od biznesu, przez rozwój, po operacje IT – takie zespoły powinny pracować w odpowiednio dobranych metodykach agile. To sposób na szybsze i bezpieczniejsze dostarczanie produktów do środowiska produkcyjnego. Ostatecznym celem zespołów DevOps jest jak najszybsze dostarczenie produktu użytkownikom końcowym. DevOps promuje współpracę między zespołami programistów i operacyjnymi, a także standaryzację, wykorzystując wysoce zautomatyzowane podejścia do wdrażania rozwiązań, które ewoluują tak szybko, jak potrzebuje tego organizacja. Jaka metodologia sprawdzi się w tak wysoce dynamicznym środowisku, przy jednoczesnej realizacji bardzo złożonych projektów przy współpracy z naprawdę dużymi zespołami?
- Dla naszych zespołów DevOps, funkcjonujących w ramach Cloud & Data Services w Capgemini, wybór rozwiązania nie jest jednoznaczny, ponieważ nie zajmujemy się samym programowaniem, a raczej rozwojem i utrzymaniem platform, na których następnie pracują programiści (z naszych oddziałów we Wrocławiu i Poznaniu lub bezpośrednio od klienta). Wobec tego, jak różne i rozbudowane są prowadzone przez nas projekty, właściwie żadna z metod – ani Scrum, ani Kanban – nie jest możliwa do zaaplikowania w stu procentach – mimo specyfiki pracy, można zaryzykować stwierdzeniem, że właściwie nie możemy być w pełni „agile”, bo ze względu na specyfikę biznesową niosłoby to zbyt duże ryzyko dla realizacji projektów. Dlatego z naszej perspektywy najlepsze są metody hybrydowe, czyli połączenie metod pracy takich, jak Scrum, Kanban i bardziej tradycyjnego ITIL. W metodologii agile nie trzeba na szczęście wybierać jednego rozwiązania – możemy każdorazowo wybierać to, co w danym momencie jest dla danego projektu najlepsze, tworząc rozwiązania łączone - mówi Krzysztof Podobiński, Delivery Architect w Cloud & Data Services w Capgemini Polska.
Dla zespołów DevOps połączenie metod pracy sprawdza się z uwagi na charakterystykę tej specjalizacji. Scrum mogą one wykorzystywać wówczas realizując swoje zadania przy wykorzystaniu ramowej metody porządkującej proces powstawania złożonych projektów. Po drodze dodatkowo tacy eksperci często wykorzystują Kanban jako warstwę wizualizacyjną do prezentacji postępów projektach i zobrazowania na jakim etapie jest dany projekt oraz dalszego planowania pracy.
- To nasze autorskie połączenie różnych metodyk pracy doskonale sprawdza się w organizacji pracy dużych zespołów. Do Scruma i Kanbana dodatkowo często wykorzystujemy także ITIL, który w jeszcze inny sposób umożliwia zarządzanie infrastrukturą i usługami IT. Dopiero taka hybryda złożona ze wszystkich podejść pozwala nam w odpowiedni sposób pracować nad dostarczaniem usług cyfrowych dopasowanych do oczekiwań biznesów i ich odbiorców. W naszym zespole idziemy jednak jeszcze o krok dalej – we współpracy z oddziałem Application Services Capgemini, wypracowaliśmy nowe, autorskie rozwiązanie o nazwie DevOps@Scale. Ta nowopowstała metodologia rozwija metodę Scrum w taki sposób, że umożliwia współpracę naprawdę dużych zespołów. DevOps@Scale to model, który integruje sposób myślenia i zasady DevOps z dostarczaniem IT w środowisku korporacyjnym, z naciskiem na zwinność na dużą skalę, dostarczanie rozproszone i kompleksową odpowiedzialność za dostarczanie wysokiej jakości oprogramowania swoim użytkownikom. Jest odpowiedzią na wyzwania współczesnego IT, przed którymi stoją zarówno dostawcy usług IT, jak i odbiorcy - dodaje Krzysztof Podobiński.
Popularność agile nie zwalnia z przygotowania
- Wiemy, że przechodzenie na pracę w metodyce agile jest teraz bardzo popularne i jako organizacja nie tylko sami rozwijamy się w tym zakresie na co dzień, ale także przeprowadzając transformacje i wdrożenia u naszych klientów, często również u nich wdrażamy tę metodę. Co jednak ważne, a o czym nie mówi się często – klient musi być na takie wdrożenie bardzo dobrze przygotowany i musi podjąć świadomą decyzję – organizacja musi wiedzieć, co to dla niej znaczy. Agile oznacza mnóstwo odpowiedzialności przekazywanej zespołom. W organizacjach w pełni zwinnych to członkowie zespołu muszą o wszystkim decydować. Jest trochę tak, że dziś każdy chce być „agile”, ale to błędne postrzeganie tematu. Taka transformacja w firmie to musi być dokładnie przemyślane podejście, wymaga ona zgody na wszystkich szczeblach, przygotowania zespołów i przygotowania klientów. Bycie „agile” oznacza zmianę dla całej organizacji, a więc cała organizacja musi więc wiedzieć, jak się w tych nowych metodach odnaleźć – komentuje Krzysztof Podobiński.