Jak budować wydajne zespoły w Scrumie i nie tylko? (cz. 2)

Cykl: Menedżer Plus
12 marca 2015

4

Ten odcinek jest drugim i zarazem ostatnim wpisem z cyklu o budowaniu zwinnych zespołów w Scrumie. Poprzednim razem pisałem o współczynniku kohezji, który jest bardzo ważny w kontekście wzmacniania zespołu od środka (wzajemne interakcje).

Tym razem, przedstawię wam drugą, bardzo przydatną zasadę, którą, na co dzień, kieruję się przy budowaniu zespołów w Scrumie – jest nią coupling.

Czym jest „coupling”?

Ze słowem „coupling” możecie spotkać się w programowaniu obiektowym. Jest to jedna z fundamentalnych zasad (wzorców) projektowania. Oznacza stopień powiązań, jakie występują pomiędzy poszczególnymi modułami rozwijanego programu.

Jeżeli liczba zależności między obiektami jest mała – tzw. „low coupling”, oznacza to, że program jest dobrze napisany. Duży poziom powiązań powoduje, że każda zmiana w danym module pociąga za sobą konieczność zmian w modułach zależnych. To także utrudnia możliwość ponownego wykorzystywania modułów w innych miejscach programu.

Zasada couplingu i budowanie zespołów w Scrumie

Zasada „couplingu” bardzo dobrze sprawdza się w budowaniu zespołów w Scrumie. Używam jej jako jednego z wzorców dobrego „projektowania” zespołu.

Każda firma, która zaczyna swoją przygodę ze Scrumem, wcześniej czy później stawia sobie pytanie: jak zbudować zespół, który da z siebie wszystko i będzie wydajnie pracował w tej metodzie?

Czy dobór ludzi ma znaczenie? Pewnie, że ma. Ostatnio coraz częściej dochodzę do wniosku, że tylko tam, gdzie są właściwi ludzie można coś osiągnąć.

Ale…

…możecie mieć nawet najlepszych zawodników, wdrożyć sobie Scruma i Bóg wie co jeszcze, ale wszystko to psu na budę, jeżeli nie pozwolicie ludziom pracować nad jedną rzeczą – jednym produktem, jednym projektem.

Kiedyś znalazłem gdzieś takie oto powiedzenie, które mocno utkwiło mi w głowie:

Bądź jak znaczek pocztowy: trzymaj się jednej rzeczy, aż dotrzesz do celu

Josh Billings

Filozofia ograniczania

Ukierunkowanie pracy w zespołach projektowych jest bardzo ważne. Jeżeli, za każdym razem będziecie się rozmieniać na drobne, nic nie osiągnięcie. Bez względu na to jak dobrych macie ludzi w zespole i jakiej metody używacie.

Rezultaty pracy w projekcie każdorazowo zależą od tego jak bardzo potraficie ukierunkować swoje działania.

Umiejętna selekcja, wybór tego na czym chcemy się skupić – od tego zależy sukces tego, co robimy.

Kiedy Scrum działa?

Scrum sprawdza się najlepiej w tych zespołach, których członkowie nie tworzą żadnych zależności ze światem zewnętrznym (inni „zleceniodawcy”, inne projekty). Innymi słowy, kiedy współczynnik couplingu jest mały.

Oczywiście, w praktyce, możecie sobie skonfigurować zespół w taki sposób, że jedna czy dwie osoby będą pracować nad kilkoma różnymi projektami na raz. I da się. Jednak minus takiego podejścia jest taki, że pozostali członkowie takiego zespołu („niesparowani”) nie mogą na nich polegać.

Wyobraźcie sobie taką sytuację. Jest kolejny dzień waszego sprintu. Spotykacie się na Codziennym Scrumie. Każdy z was, krok po kroku, opowiada o tym, co zrobił od ostatniego spotkania, nad czym będzie dalej pracował i co go spowalnia. Nagle, kolejka zatrzymuje się na koledze, który nie ma zbyt wiele do powiedzenia. Bo, jak się okazuje, wczoraj pracował nad projektem X, który kompletnie nie ma związku z pracą jego zespołu w Scrumie. Zleceniodawcą był kierownik innego projektu.

Sytuacja powtarza się przez kilka kolejnych dni. Widziałem to wiele razy. Zespół, dzień po dniu przekonuje się, że na taką „sparowaną” z innymi „zleceniodawcami” osobę, po prostu nie może liczyć. Poziom frustracji rośnie. Po co więc trzymać taką osobę w zespole scrumowym?

Wysoki poziom couplingu ma także negatywny wspływ na samą osobę, która pracuje  dla kilku „zleceniodawców”. Za taką wielozadaniowość zawsze płaci się wysoką cenę. Próba złapania kilku srok za ogon prowadzi do błędnych decyzji, nieoptymalnych wyborów i niepotrzebnego stresu.

Poza tym, nie wiem jak wy, ale ja nie chciałbym codziennie patrzeć kolegom i koleżankom w oczy, tłumacząc się, że od ostatniego spotkania nic nie zrobiłem – dla nich, dla zespołu. Frustrujące.

Ludzie, którzy robią wszystko w firmie. Co z nimi zrobić?

Absolutnie nie mam nic do omnibusów i wielo-zadaniowców. W każdej organizacji znajdziecie osoby, których kompetencje są bardzo szerokie. To mogą być liderzy techniczni, eksperci dziedzinowi. Bardzo często, dzięki takim osobom i ich wiedzy, możemy szybko ugasić firmowe pożary. Problem w tym, że czasem „wrzucamy” ich do zespołów scrumowych.

Takie rozwiązanie zawsze zwiększa liczbę powiązań w zespole, które wychodzą na zewnątrz. Coupling jest wysoki!

Jeżeli na serio chcecie zbudować wydajny zespół w Scrumie zacznijcie od pytania:

Czy faktycznie, każda z osób, które go tworzą w 100% będzie mogła poświęcić się na zadania, realizowane w Scrumie?

Jeżeli odpowiedź brzmi: „nie”, zastanówcie się dwa razy, czy taką osobę warto mieć w Scrumie.

No dobrze, jeżeli nie w Scrumie, to gdzie? Przede wszystkim nie jest tak, że każda osoba musi pracować w Scrumie. Jeżeli ktoś, z różnych przyczyn, dostarcza rozwiązania dla różnych zespołów, pracująćych w Scrumie – najlepiej jest traktować taką osobę jako „zewnętrznego dostawcę”. Czasem też stosuję określenie „konsultant”, który od czasu do czasu pojawia się w zespole, żeby mu w czymś pomóc. To rozwiązanie też bardzo fajnie działa.

Złota zasada

Na koniec, moja złota zasada: wysoka kohezja i mały coupling – to jest klucz do budowania efektywnych zespołów. Od tego powinniście zacząć.