Scrum for Hardware

Scrum to ogromna zmiana w przyzwyczajeniach zarządczych, jednak większa wydajność, szybsze dowożenie prototypów, zadowolenie klientów i wyniki finansowe przemawiają za tworzeniem nowych fizycznych produktów właśnie w taki sposób.


To już działa

Tak powstał samochód Wikispeed, a największy zespół o którym słyszałem to 4000 inżynierów pracujących w zespołach Scrumowych nad samolotem Saab Grippen, którego koszt rozwoju obniżono w ten sposób do 18% rozwoju porównywalnego F-35, który był modernizowany klasycznym zarządzaniem projektem.


Praca zespołów Scrumowych dotyczyła wersji  Saab Grippen JAS 39 E


Niestety, by Scrum w rozwoju sprzętu działał, potrzeba kilku istotnych zmian. Jedną jest zmiana mentalna przejścia na nowy, rytmiczny styl pracy bez „wtryniającego” się w szczegóły managera. Inną jest modularność – wspomniany samochód Wikispeed składa się z kilkunastu modułów, które mają precyzyjnie określone połączenia z całą resztą. Trudność ustanawiania interfejsów pomiędzy modułami bywa bolesna tylko w pierwszym projekcie, potem jest już łatwiej.


Ultraoszczędny samochód Wikispeed (opensource) w rozbiciu na moduły. Źródło

 

Zacznijmy od początku

Nazwa Scrum pochodzi z gry Rugby. Po polsku ten stały fragment gry nazywany jest młynem – jest to charakterystyczne wznowienie gry po jej zatrzymaniu przez sędziego jak na zdjęciu.

 

Młyn dyktowany (czyli ang. Scrum) Zdjęcie



Takie ustawienie zawodników to esencja pracy zespołowej, dlatego Scrum w rozwoju produktów to praca samozarządzającego się zespołu bez szefa. Taki niezmienny w składzie zespół inżynierów planuje i pracuje w regularnych i równych interwałach czasowych nie dłuższych niż miesiąc zwanych Sprintami. To duża zmiana w stosunku do tradycyjnego, kaskadowego zarządzania projektami, pozwala jednak sprawdzić zespołowi wyniki prac częściowych co Sprint, a nie dopiero na zakończenie projektu.


Zespół

Przykładowy zespół wykonawczy może składać się z dwóch mechaników, dwóch elektroników, jednego automatyka, jednego programisty embedded i jednego projektanta wzornictwa przemysłowego.

Oni faktycznie pracują zespołowo, jeden drugiemu pomaga, a wysoka wydajność wynika z tego, że zespół docierał się wcześniej i funkcjonuje na poziomie „Kompanii Braci”. Korzyścią różnorodności w zespole jest przykładowo natychmiastowe poprawianie projektu elektronicznego przez mechanika i na odwrót.


Samozarządzający się

Co istotne taki zespół, mimo że nie ma swojego managera, potrafi bardzo wydajnie funkcjonować z wbudowanymi mechanizmami ciągłej poprawy efektywności. Praktyka zespołów od lat tworzących software w Scrum udowodniła, że absolutnie konieczne jest wsparcie takiego zespołu przez Scrum Mastera, który jest kimś w rodzaju wewnętrznego konsultanta pomagającego przy rozwiązywaniu problemów w pracy zespołowej i uczącego zasad Scrum. Jeden Scrum Master po jakimś czasie może wspierać do dwóch zespołów Scrum.

Ostatnią rolą w Scrum jest Product Owner. To on reprezentuje potrzeby klienta/odbiorcy dla zespołu i tworzy tzw. Backlog, czyli spriorytetowaną listę potrzeb nowego produktu. Nie bierze udziału w tworzeniu produktu lecz interesują go osiągnięte rezultaty wypracowane w kolejnych Sprintach. Co ważne Product Owner nie może stosować żadnego mikromenedżmentu. Nie można w trakcie trwania Sprintu dorzucać zmian bo lista punków do osiągnięcia na dany Sprint jest zamrażana i nie wolno jej w czasie Sprintu zmieniać nawet Product Ownerowi. Na szczęście Sprinty są na tyle częste, że podążanie za zmianami w oczekiwaniach klienta, który z czasem dochodzi do tego, czego tak naprawdę, chce jest głównym atutem Scrum.


Pilotaż

Oczywiście jeśli produkt jest mocno złożony to pracować może jednocześnie dowolnie wiele zespołów Scrumowych. Zazwyczaj jednak wdrażanie Scrum w organizacji rozpoczyna się od pilotażu i jednego zespołu inżynierskiego ze Scrum Masterem i Product Ownerem.

Zespół pracuje ze sobą bardzo ściśle, Scrum Master dba o kulturę pracy gdzie od razu dyskutuje się o pojawiających się problemach, nie ma przerzucania się winą, a jest współpraca. Nawet jeśli chwilowo nie ma zadań np. dla projektanta wzornictwa to pomaga on innym w zespole do osiągnięcia celów danego Sprintu. Jego uczestnictwo i komentarze na wczesnym etapie mają nieocenioną wartość bo przyszłe duże problemy rozwiązywane są od razu, gdy są jeszcze małe.


Prototypy

Często w początkowych Sprintach robione są modele, makiety i szybkie prototypy do sprawdzenia założeń i początkowej wizji. Dzięki temu unikane są problemy przy późniejszej produkcji, że coś  nie działa lub nie daje się fizycznie zmontować. A jeśli celem wyznaczonym przez Product Ownera była niższa cena produkcji, to zespół jest w stanie poprzez kolejne iteracje uproszczania konstrukcji osiągnąć rewelacyjne rezultaty bez ponoszenia wielkich kosztów na badania nowych rozwiązań.


Od oprogramowania do sprzętu

Scrum jest dobrze znany i powszechnie używany w tworzeniu oprogramowania. Przeniesienie tego modelu prowadzenia projektów do rozwoju fizycznego sprzętu to jednak rewolucja mentalna, nie ma już klasycznego project managera, jest za to ścisła współpraca różnych specjalistów inżynierii, którzy wcześniej nigdy nie pracowali razem w stałym zespole. Na szczęście we wprowadzaniu Scrum bardzo pomaga Scrum Master, który już w ciągu kilku pierwszych tygodni jest w stanie z zespołem pokazać  zachęcające efekty nowego stylu pracy.


Michał Hałas




Najbliższe szkolenie Scrum for Hardware (dla zarządzających R&D) 1 dzień.