Abraham Maslow powiedział kiedyś: „Jeżeli masz tylko młotek to wszystko wygląda jak gwóźdź”. Podobnie sprawa ma się ze Scrumem. Jeżeli ktoś zna tylko Scruma może się okazać, że chce go za implementować absolutnie w każdym przypadku. Prawda jest jednak taka, że w niektórych sytuacjach Scrum pasuje jak wół do karety.
1. Brak produktu
Scrum to narzędzie do wytwarzania i rozwoju produktu. Jeżeli nie ma produktu, to Scrum nie ma żadnego sensu. Najważniejsza część Scruma to “Potentially Releasable Product Increment that is usefull I thourly tested…” („Potencjalnie Wydawalny Inkrement Pro duktu, który jest używalny i gruntownie prze testowany…”) i to, co Sprint! Jak tworzyć inkrement produktu bez produktu? Jeżeli nie masz, czego poddawać inspekcji i adaptacji na Sprint Review to lepiej nie stosuj Scruma.
2. Wysoka przewidywalność
Scrum to zwinność, czyli agile, oznacza to oczywiście empiryzm. Empiryzm jest bardzo przydatny w środowisku z małą przewidywalnością, gdy na bieżąco weryfikujemy hipotezy biznesowe oraz techniczne, aby mieć „feedback od rzeczywistości”. Jeżeli jednak rzeczywistość, w której się poruszamy jest przewidywalna i predykcja w 100% wystarcza to empiryzm jest niepotrzebny. Szkoda strzelać z armaty do komara. Zamiast Scruma lepiej zastosować waterfalla.
3. Za niska przewidywalność
Co ważne, zwinność Scruma ma też swoje limity. Aby miał sens musimy móc zaplanować prace przynajmniej na jeden Sprint. Jeżeli priorytety prac oraz zakres zmieniają się zbyt szybko, Scrum za tym nie nadąży.
Przykład: Jeżeli praca głównie polega na „łataniu” błędów krytycznych albo po prostu na utrzymaniu – Scrum będzie nas ograniczał, zamiast nam pomóc. Lepiej zastosować podejście beziteracyjne.
4. Brak kontroli nad procesem
Kolejnym przypadkiem, kiedy Scrum raczej nie zadziała pozytywnie, jest brak kontroli nad procesem wytwarzania produktu.
Przykład: W software house’ach często pracuje się dla klientów, którzy nie oddają pełnej kontroli nad procesem. Mogą naciskać na deweloperów, że mają więcej zaciągnąć na Sprint Planningu. Mogą też wpraszać się na Daily Scrum i stosować micromanagement. W czasie Sprintu mogą zmieniać ustalony zakres prac. Nie pozwalać na organizowanie Sprint Retrospective – „macie pracować a nie usprawniać proces!”. Mogą nie zgadzać się na wszystkie potrzebne kompetencje np. testerów. Mogą też nie chcieć płacić za Scrum Mastera albo Product Ownera.
Oczywiście praca z takimi klientami może być bardzo owocna, ale na 100% nie w Scrumie.
5. Brak interdyscyplinarnych zespołów
Scrum nie może funkcjonować skutecznie, gdy nie ma interdyscyplinarnych zespołów (cross-functional teams). Zespół Deweloperski musi mieć wszystkie kompetencje, aby móc wydawać kolejne wersje produktu na koniec Sprintu. Jeżeli nie da się uniknąć zależności z serwisami poza nasza kontrolą to… klops. Doradzałbym poważnie się zastanowić czy nie zorganizować pracy inaczej niż Scrum.
Przykład: Tylko deweloperzy z innego działu mają uprawnienia do operacji na bazie danych, natomiast ukończenie inkrementu wymaga takiej pracy. W takim przypadku planowanie Sprintu bez udziału tych developerów nie ma sensu. Oczywiście da się pracować w ta kim środowisku jednak lepiej nie „pchać się w Scruma” w tym przypadku. Są inne rozwiązania.
6. Projekt > produkt
Zdarzyło mi się kiedyś szkolić z zarządzania produktem członków projektu dla jednego ministerstwa. Podczas moich warsztatów mieli za zadanie ustalić swoich interesariuszy. Jeden z nich powiedział, że do interesariuszy zaliczają się użytkownicy. Reszta wybuchnę ła śmiechem i powiedziała: „Co nas obchodzą userzy? Zamawiający ma nam zaakceptować zakres i tyle” – to nawet zabawne dopóki sobie nie uświadomimy, że tego typu projekty są finansowane z naszych podatków. Czasami się zdarza tak, że nikogo nie obchodzi wartość biznesowa produktu na koniec. Końcowy produkt nie jest ważny, natomiast ważny jest tylko projekt, czyli: zakres, czas i budżet. Scrum w takim przypadku nie jest zbyt dobrym wyborem.
7. Niezmienialny zakres
Generalnie Scruma stosuje się po to, aby mieć jak najkrótszą pętlę zwrotną, aby na bieżąco modyfikować zakres, aby efekt koń cowy realizował potrzeby użytkowników i innych interesariuszy. Jeżeli nie ma możliwości zmiany zakresu to Scrum jest niepotrzebnym utrudnieniem. Szkoda się męczyć i denerwować. Lepiej wtedy nie stosować Scruma.
8. Łamanie wartości scrumowych
Fundamentem Scruma jest 5 wartości:
- zaangażowanie,
- otwartość,
- skupienie,
- szacunek,
- odwaga.
Gdy dodano je do The Scrum Guide to po myślałem: „To takie HRowe gadanie”. Jednak po latach widzę, że to był bardzo dobry ruch. Bez choćby jednej z nich Scrum nie ma prawa się udać. Co najwyżej będzie to Kult Cargo inaczej zwany Zombie Scrumem. Czyli kolorowe karteczki, scrumowe ceremonie, dużo agile’owej nowomowy, jednak bezzaimplementowania najważniejszych idei stojących za Scrumem. Takich jak empiryzm i maksymalizacja wartości biznesowej.
Przykład:
Jeżeli nie ma otwartości i odwagi na praw dziwą informację zwrotną od rzeczywistości, na przykład, że produkt, który robimy od 2 lat, nie podoba się użytkownikom, że nie ma w tej postaci szans osiągnąć sukcesu na rynku, to jak Scrum ma zadziałać? U jednego klienta podczas wdrażania Scruma usłyszałem: „Nie mówmy tak otwarcie o wszystkich problemach. Po co stresować ludzi? Po za tym idziemy zgodnie z planem.”. Empiryzm w takim przypadku nie zadziała.
Oczywiście nie twierdzę, że w każdej z wartości scrumowej mamy mieć poziom mistrzowski. Jednak, jeżeli kultura firmowa jest im przeciwna, to dopóki tego nie zmienimy szkoda zachodu. Lepiej nie stosować Scruma.
9. Brak know-how
Kolejna kwestia niby jest oczywista, jednak bardzo często ją spotykam u moich klientów. To brak wiedzy i umiejętności. Scrum jest trudnym podejściem, trzeba umieć w nim pracować. Nie wystarczy przeczytać Scrum Guide’a (nawet dwa razy). Nie wystarczy też wysłać kilku pracowników na szkolenie, po którym zdobędą certyfikat Scrum Mastera. Oczywiście każda organizacja może zdobyć ten know-how, dopóki jednak to nie nastąpi, to odradzam stosowanie Scruma. Będzie on zastosowany z całą pewnością źle i narobi poważnych szkód. Dodatkowo ludzie bardzo zniechęcą się do Scruma.
10. Struktura organizacyjna
Nieadekwatna struktura organizacyjna może skutecznie utrudnić pracę w Scrumie.
Przykład:
Bardzo często widzę sytuację, że oprócz ról scrumowych w strukturze jest Project Manager. Oczywiście samo to, że jest PM nie jest ni czym złym. Problem pojawia się dopiero, gdy PM dostaje po głowie, gdy zespół nie dowozi prognozowanego zakresu na koniec Sprintu. Jeżeli się tak dzieje, to przecież, aby wywiązać się ze swoich obowiązków, PM włączy się w działania i będzie próbował zabrać autonomię zespołowi. W praktyce kończy się to mniejszym lub większym micromanagementem. Samoorganizacja powoli umiera.
Jeżeli hierarchia i obecna struktura stoi na drodze Scrumowi i nie ma woli „góry” do zmia ny tej struktury, lepiej nie stosować Scruma.
11. Uraz do Scruma
Czasami się zdarza tak, że wystarczy w firmie użyć słowa Scrum, a ludzie od razu dostają ataku szału. Najprawdopodobniej ktoś wcześniej zastosował u nich Scruma nieudolnie, powodując dużo frustracji i szkód.
Nie twierdzę, że to zawsze powód, aby ka tegorycznie zrezygnować ze Scruma, jednak na pewno zastanowiłbym się nad alternaty wą. Może się okazać, że opór przed Scrumem jest tak silny, że wprowadzenie go będzie wymagało za dużo wysiłku w stosunku do wartości, jaką to przyniesie.
12. Brak autonomii Scrum Teamu
W Scrumie mamy 3 pozycje managerskie:
- Product Owner – zarządza produktem,
- Scrum Master – zarządza procesem,
- Deweloperzy – zarządzają swoją pracą i tym jak będą wytwarzać inkrement produktu.
Aby to robić wszyscy muszą mieć odpowiednie umocowanie i decyzyjność w swoich obszarach, jeżeli jej nie mają Scrum raczej nie zadziała jak należy. Nie da tej wartości, co powinien.
Przykład: Product Owner jest tylko proxy pomiędzy deweloperami, a biznesem albo deweloperzy są zarządzani za pomocą mikrozarządzania.
Generalnie Scrum jest narzędziem, które może dać ogromną wartość. Trzeba jednak pamiętać, że należy jest stosować we właściwy sposób i we właściwych okolicznościach. Warto też zdać sobie sprawę, że nie wszyscy muszą pracować w Scrumie.
Akredytowany trener Scrum.org oraz Kanban University. Posiada doświadczenie z najróżniejszych obszarów powiązanych z projektami IT. Od wielu lat pomaga rozwiązywać najróżniejsze problemy organizacjom począwszy od startupów na korporacjach kończąc. Gdy wymaga tego sytuacja dołącza do projektu i pomaga wyprowadzić go z krytycznej sytuacji. Nie akceptuje kosmetycznych zmian i podążania za projektową modą. Jeżeli pomaga wdrażać w organizacji Kanbana albo Scruma to tylko po to, aby wytwarzano lepsze oprogramowanie spełniające oczekiwania i potrzeby
użytkowników.