AgileAdept.pl
samoorganizacja ptatki

Samoorganizacja w Scrumie

Czym się różni się samoorganizacja od samozarządzania i co tak naprawdę oznaczają te terminy? Skąd zostały zaczerpnięte i jaki mają wpływ na efektywność twojego Zespołu Scrum? Zapraszam do lektury, tym razem nieco bardziej naukowego wpisu 🙂

Samoorganizacja w otaczającym nas świecie

Ludzkość od zarania dziejów zadaje sobie w zasadzie wciąż to samo pytanie: jak do tego doszło, że świat jest zbudowany w ten, a nie w inny sposób? Skąd wzięły się wszystkie struktury, począwszy od atomów, pierwiastków, pojedynczych komórek, poprzez złożone organizmy żywe, a kończąc na całych planetach czy galaktykach? Dlaczego tak się dzieje, że rzeczy same się porządkują, układają i wypracowują pewien schemat funkcjonowania w otaczającym ich środowisku?

Pierwszą próbą wyjaśnienia takiego stanu rzeczy było oczywiście to, że jest jakaś jednostka z zewnątrz, która powoduje taki, a nie inny obrót spraw. Innymi słowy, jest jakiś główny projektant, który decyduje o tym, jak będą wyglądały struktury i prawa rządzące światem.

samoorganizacja wzorzec

Oczywiście jest to odniesienie wprost do religii, gdzie możemy spotkać interpretację świata jako pewną wypadkową chaosu oraz oddziaływania nadprzyrodzonych mocy, które ten chaos porządkują. Aż chciałoby się w tym miejscu zacytować, że na „początku był chaos, a później było słowo…” i tak dalej… Takie wyjaśnienie procesu przechodzenia ze stanu chaosu w stan uporządkowania oczywiście nie dla wszystkich będzie wystarczające. Pozostawmy zatem kwestię wiary i zobaczmy, co na ten temat ma do powiedzenia nauka. W tym celu cofniemy się do lekcji fizyki ze szkoły średniej.

Co mówi nam fizyka o samoorganizacji?

W fizyce istnieje tak zwane prawo zachowania energii. Zgodnie z pierwszą zasadą termodynamiki całkowita energia izolowanego systemu jest stała, czyli że nie może zostać stworzona czy zniszczona, lecz jedynie przetransportowana z jednej formy do drugiej.

Z kolei druga zasada termodynamiki mówi o tym, że entropia, czyli nieporządek, zawsze będzie rosła w zamkniętych systemach. Na przykład, jeżeli gotujemy wodę, to ciepło próbuje rozchodzić się w garnku równomiernie, ale nigdy odwrotnie. Ciepło nie zacznie z powrotem koncentrować się w jakimś jednym punkcie. Podobnie, z czasem ludzie stają się starsi, czyli po prostu ich organizmy ulegają entropii, a nieporządek w mieszkaniu, co byśmy nie robili, również z czasem wzrośnie. Czyli bałagan zawsze zrobi się sam ;).

A zatem dany system nie może spontanicznie zwiększać swojego uporządkowania, samoorganizować się, bez zewnętrznej ingerencji, która zmniejszy to uporządkowanie w innym systemie. Te dwie zasady wydają się bardzo logiczne i możemy gołym okiem zaobserwować je na co dzień.

Niestety żadne z tych praw nie pomaga nam w zrozumieniu, dlaczego wszechświat rozwinął różne systemy o bardzo wysokim stopniu zorganizowania i struktury. Druga zasada termodynamiki wydaje się wręcz temu zaprzeczać.

Pierwsze użycie terminu samoorganizacja

A zatem być może istnieją jakieś sytuacje i systemy, w których budowanie struktur po prostu dzieje się samo? W tym miejscu dochodzimy w końcu do terminu samoorganizacja.

Został on po raz pierwszy użyty przez angielskiego psychiatrę i pioniera cybernetyki Rossa Ashby’ego już w latach czterdziestych ubiegłego wieku. Spopularyzował się natomiast dopiero w latach 70-tych i 80-tych za sprawą fizyków w kontekście tak zwanych Complex Adaptive Systems, czyli złożonych systemów adaptacyjnych. Belgijski fizyk Ilya Prigogine w 1977 roku otrzymał Nagrodę Nobla za pracę, która pokazywała, że drugie prawo termodynamiki nie do końca jest prawdziwe dla wszystkich systemów.

Obserwował on różne zjawiska fizyczne i chemiczne w systemach nie będących w stanie równowagi i patrzył, jak drobne fluktuacje wzmacniane przez pętlę informacji zwrotnej mogą przyczynić się do tworzenia nowych wzorców. A teraz prościej – jeżeli w danym zamkniętym zbiorniku woda jest zarówno podgrzewana z dołu i schładza z góry, a ciepła woda jest lżejsza od zimnej, to próbuje przemieszczać się do góry, natomiast chłodniejsza woda próbuje opadać na dno zbiornika.

samoorganizacja komórek konwekcyjnych
Źródło: wikipedia.org

Te dwa przeciwstawne ruchy nie mogą zajść w tym samym czasie bez pewnej formy koordynacji pomiędzy dwoma przepływami cieczy. Woda zaczyna się więc samoorganizować we wzorzec tak zwanych komórek konwekcyjnych. Po jednej stronie jest przepływ na dół, a po drugiej w górę zbiornika. Skąd zatem wyłania się tutaj porządek? W przeciwieństwie do religii, która mówi nam o pewnych nadprzyrodzonych zjawiskach czy tradycyjnej nauce i drugiej zasadzie termodynamiki, w myśl której porządek może pojawiać się jedynie poprzez transfer z innego zewnętrznego systemu, organizacja w tym przypadku jest powiązana z interakcjami pomiędzy wewnętrznymi komponentami!

Kiedy zachodzi samoorganizacja?

Aby zaszedł ten proces, niezbędny jest system w stanie nierównowagi, czyli o jakimś poziomie nieporządku, entropii, fluktuacji, zostawiając przestrzeń do wyłaniania się i utrzymania nowych wzorców. Można by więc zaryzykować stwierdzenie, że taki system znajduje się gdzieś pomiędzy porządkiem i chaosem. Umożliwia to generowanie nowych zjawisk i wzorców i ponowne odtwarzanie ich przez dłuższy czas za sprawą samoorganizacji.

Naukowo taki system określany jest jako niezbalansowany, niezrównoważony. My możemy określić go po prostu jako znajdujący się „na krawędzi chaosu”. Samoorganizacja jest możliwa tylko przy odpowiednim poziomie entropii i nieporządku, gdzie występują drobne zmiany i przestrzeń do budowania nowych wzorców. Nie zajdzie ona w zbalansowany, zrównoważonym i w pełni przewidywalnym systemie.

Samoorganizacja występuje częściej niż ci się wydaje

Warto jeszcze dodać, że to właśnie takie złożone, nieliniowe, niezbalansowane systemy stanowią zdecydowaną większość we wszechświecie. Systemy uporządkowane i zbalansowane należą do wyjątków. Cytując fragment książki Management 3.0 autorstwa Jurgena Apello:

ktoś kiedyś powiedział, że wprowadzenie rozróżnienia między systemami liniowymi i nieliniowymi jest jak dzielenie wszystkich gatunków na dwie grupy: muszki owocówki i nie muszki owocówki.

Można by wręcz zaryzykować stwierdzenie, że dynamiczne, złożone, zmieniające się systemy i zachodząca w nich samoorganizacja to… norma. Bez względu na to, czy będą składać się z wirusów, komórek żywych organizmów, gatunków czy przykładowo… członków Zespołu Scrumowego, będą zachowywać się zawsze w ten sam sposób.

Samoorganizacja jest zatem pewnym procesem, w którym poprzez interakcję pomiędzy elementami danego nieuporządkowanego systemu powstaje jakiś porządek. Proces ten dzieje się zupełnie sam, spontanicznie, bez żadnych zewnętrznych czynników. Jeżeli występuje wystarczająco dużo energii w systemie, efektem tego procesu jest stworzenie pewnego zdecentralizowanego systemu, którego wszystkie elementy są rozproszone.

Dzięki tej cesze cały system jest bardziej odporny na niespodziewane, lokalne zawirowania i perturbacje. Innymi słowy ma po prostu większą zdolność do przetrwania. Poza wspomnianym wcześniej zjawiskiem konwekcji, czyli procesem przekazywania ciepła w cieczy innymi przykładami samoorganizacji w przyrodzie może być na przykład krystalizacja czy zjawisko roju ptaków czy owadów. Warto jednak dodać, że żaden samoorganizujący się system nie zaistnieje bez konkretnego kontekstu, który narzuca mu pewne ramy i ograniczenia.

Samorganizujacy się robot inspiracją dla twórcy Scruma

W jaki sposób teoria samoorganizacji i złożonych systemów adaptacyjnych trafiła do Scruma?

Na początku lat 90 tych Jeff Sutherland, czyli współtwórca Scruma, wynajmował biuro Rodney’owi, Brooks owi. Brooks to wynalazca tak zwanej architektury Brooksa, czyli specjalnego układu sterowania w robotach mobilnych i twórca firmy iRobot produkującej roboty odkurzające Roomba.

W owym czasie różne prototypy robotów tworzonych firmę iRobot miały tendencję do uciekania z laboratorium i wbiegania do biura Jeffa. Późniejszy współtwórca Scruma pewnego piątkowego popołudnia udał się zainteresowany do biura Brooksa, aby ten wyjaśnił mu, na jakiej zasadzie działa jego robot roboczo określany jako Czyngis-chan ;).

Brooks wspomniał początkowo, że na Uniwersytecie MIT przez 30 lat próbowano zbudować jakiś inteligentny system, ale w zasadzie jedyne, co się udało, to automat grający w szachy. Jak się później okazało, problem leżał u samej podstawy.

Zespół budujący robota Czyngis-chana kreatywnie podszedł do zagadnienia zupełnie inaczej. Otóż nie miał on żadnego centralnego procesora sterującego całym robotem. Każda z kilku nóg, która umożliwiała jego poruszanie, posiadała swój niezależny czip. Oddzielny chip posiadał kręgosłup, który koordynował nogi, a kolejny niezależny chip sieć neuronowa, która wymyślała co robot ma zrobić.

Nie posiadał on także żadnej bazy danych. Przed włączeniem robota czip był po prostu pusty. Natomiast wszelkie dane to tylko te, które zostały zebrane z otoczenia przed odpowiednie sensowy w trakcie, gdy robot był włączony. Jaki był efekt takiego podejścia? Otóż na początku, po uruchomieniu robot bardzo niezgrabnie wymachiwał i falował swoimi nogami. Następnie zaczął powoli się zataczać i przypominać dziecko uczące się chodzić. Po kilku chwilach, posiadając już zebrane z otoczenia dane, zupełnie swobodnie zacząć chodzić po pokoju.

samoorganizacja irobot
Robot Czyngis-chan, inspiracja twórcy Scruma

Samoorganizacja w Zespole Scrumowym

Jeff, zainspirowany postępem, w jaki robot uczy się chodzić, przypomniał sobie pewną sytuację, kiedy miał do czynienia z zespołem bardzo niewydajnych, wolnych programistów. Następnie zapytał Brooksa: jak myślisz, jeżeli weźmiemy wolnych, nie wydajnych programistów i damy im zestaw prostych reguł, tak jak robotowi, a następnie codziennie będą mieli okazję do synchronizowanie się i wymieniania wiedzy, to czy przekształcą się w sprawny, super wydajny zespół? Brooks odpowiedział Nie wiem czemu, po prostu tego nie spróbujesz?

Co stało się później, doskonale wszyscy wiecie sami. Samoorganizacja, zainspirowana nie tylko naturą, ale także robotyką, zagościła na dobre w Scrumie. Do tej pory jedno z ulubionych pytań Jeffa Sutherlanda to jaki jest najlepszy sposób na zorganizowanie pracy stu developerów w zespoły Scrum owe i zapewnieniu, że wybiorą właściwe elementy Backlogu Produktu? Prawidłowa odpowiedź daje im się po prostu samo zorganizować.

Samoorganizacja w Scrum Guide

Myślę, że wyczerpałem temat ciekawostek naukowych 😉 Przejdźmy zatem do ostatniej części tego wpisu, czyli do zmian w Scrum Guide z listopada 2020 roku, gdzie nie występuje już określenie samoorganizacja. Na początek przypomnijmy sobie jednak, co zawierała poprzednia wersja z 2017 roku.

W akapicie poświęconym zespołowi Scrumowemu mogliśmy przeczytać, że jest on samoorganizujący się, czyli decyduje w jaki sposób najlepiej wykonać pracę, nie będąc przy tym kierowanym przez osoby spoza zespołu.

Podobny zapis znajdował się w rozdziale poświęconym Zespołowi Deweloperskiemu.

Przez samoorganizację rozumiemy, że nikt, nawet Scrum Master nie może mówić Zespołowi Deweloperskiego, jak przekształcać elementy Backlogu Produktu w przyrosty gotowej do potencjalnego wydania funkcjonalności.

Posiadanie dwóch różnych określeń na zespół, czyli zespołu Deweloperskiego i Zespołu Scrumowego, mogło być nieco mylące i powodować rozdwojenie jaźni oraz rozmycie odpowiedzialności. Dlatego w wersji z 2020 roku zdecydowano się na znaczące uproszczenie tego aspektu i teraz mamy po prostu jeden zespół złożony z różnych odpowiedzialności. Jest on całościowo odpowiedzialny za wszystkie działania związane z produktem oraz za wytworzenie wartościowego, użytecznego elementu w każdym Sprincie.

W najnowszym Scrum Guidzie czytamy, że Zespół Scrumowy jest samozarządzający, co oznacza, że samodzielnie podejmuje decyzje o tym, kto będzie wykonywał określone zadania, kiedy i jak. (…) Zespół ma odpowiednią strukturę oraz uprawnienia nadane mu przez organizację, by móc zarządzać własną pracą.

Czym się różni samozarządzanie od samoorganizacji?

Zatrzymajmy się na chwilę przy terminie „zarządzanie”. Często kojarzy się nam ono z zarządzaniem ludźmi i rolą menedżera. Nie trzeba jednak być menedżerem, żeby czymś zarządzać. Mogą być to równie dobrze finanse, budżety, zarządzanie sobą w czasie, jakimiś zasobami czy po prostu planem.

W Scrumie każda z odpowiedzialności (które we wcześniejszej wersji Przewodnika były określane jako role) zarządza po prostu swoją częścią. W przypadku Product Ownera jest to Product Backlog czy komunikacja z interesariuszami, Scrum Mastera efektywność procesu Scrumowego, natomiast w przypadku Developerów sposób wytworzenia użytecznego przyrostu w budowaniu i rozwijaniu produktu.
Jest zatem w Scrumie wiele rzeczy, którymi trzeba zarządzać i Zespół Scrumowy jako całość jest wprost za to odpowiedzialny. Nowy Scrum Guide bardziej podkreślił zatem właściwość Scrum Teamu, nadal pozostając frameworkiem, w którym może zajść samoorganizacja, która bardzo często była błędnie rozumiana zbyt szeroko.

samoorganizacja mem

Wiele zespołów często skrajnie nadinterpretowało zasadę samoorganizacji jako coś na zasadzie wolnej amerykanki, bez żadnych ograniczeń. Sam często byłem atakowany pytaniami czy pomysłami w stylu „skoro mamy samoorganizację to może zdecydujmy sobie, że robimy Daily co 2 dni?”…
Jeff Sutherland, współtwórca Scruma, w ramach webinaru dotyczącego zmian w Przewodniku po Scrumie, wyjaśnił, że właśnie z tego powodu zdecydowano się na zamianę samoorganizacji na samozarządzanie.

Czyli zespół Scrumowy musi sam zarządzić swoją pracą w taki sposób, aby zrealizować cel Sprintu.

W przystępny sposób różnice pomiędzy samoorganizacją i samozarządzaniem zinterpretował też znany i szanowany Professional Scrum Trainer, Gunther Verheugen. Według jego definicji samoorganizacja to pewien proces formowania się ludzi. Animowane grupy wokół jakiś problemów czy wyzwań, bez narzucania im żadnych zewnętrznych planów lub instrukcji.
Natomiast samozarządzanie to pewien minimalny wyraz samoorganizacji w Scrumie, utrzymujący, że tylko zespół Scrumowy decyduje, jak wykonać pracę w ramach swojego sprintu.

Gunther dorzucił jeszcze jedną definicję dla porównania, czyli coś, co określa jako self design – „samoprojektowanie”. Jest to pewien wyraz samoorganizacji, gdzie jedynie Scrum Team decyduje, jakie kompetencje i umiejętności są lub nie są niezbędne w danym momencie w zespole i czy w nim występują.

Podsumowując, samoorganizacja nie została usunięta ze Scruma. Scrum Guide w wersji z 2020 roku jedynie podkreślił właściwość Scrum Teamu, czyli samozarządzanie, nadal pozostając frameworkiem, w którym może zajść samoorganizacja. Samozarządzanie zatem to pewne minimum niezbędne do tego, aby móc pracować zgodnie z regułami Scruma.

Jarek Łojko

Dodaj komentarz

AgileAdept.pl