Cerner Corporation jest firmą, która poczyniła ogromne postępy w tworzeniu kultury sieciowej. Jest to firma z Kansas City w stanie Missuori, tworząca oprogramowanie używane w medycynie, która aktualnie zatrudnia mniej więcej 25 000 pracowników i bardzo szybko się rozwija. Transformacja Agile rozpoczęła się w niej w 2008 roku. Od tego czasu poświęcono wiele wysiłków, aby całą załogę przekonać do prawa małego zespołu i prawa klienta. Z powodu ciągłego wzrostu firma cały czas przyjmuje nowych pracowników, którzy niekoniecznie przychodzą od razu przekonani do zarządzania zgodnego z Agile. Jak w takim razie firma Cerner radzi sobie z podtrzymywaniem kultury Agile w tej sytuacji? Jak to może się sprawdzać w sektorze służby zdrowia, która podlega bardzo ścisłym regulacjom, ponieważ każda pomyłka może zaważyć na czyimś życiu lub śmierci? W jaki sposób firma Cerner jest w stanie wprowadzić i utrzymać ducha autonomii i innowacji, nie redukując jednocześnie jakości swoich produktów? Po wprowadzeniu transformacji Agile w firmie Cerner okazało się, że wcale nie jest łatwe zatrudnianie osób będących w stanie solidnie pracować w zgodzie z zasadami Agile, tworzyć kod o wysokiej jakości, szybko i skutecznie rozwiązywać powstające problemy, korzystać z automatycznych testów i patrzeć na to wszystko z perspektywy klienta. Nie powinno nikogo dziwić, że nowo przyjmowani pracownicy nie mieli wielkiego doświadczenia w tym zakresie, ponieważ szkoły, w których próbowano ich szukać, nie miały tych tematów w programie nauczania. Poznajmy Michelle Brush — dyrektorkę wykonawczą w dziale Population Health firmy Cerner. Do jej podstawowych zadań należy tworzenie rozwiązań, które pozwalają wyszukać osoby o wysokim ryzyku zapadnięcia na choroby wynikające z niskiej jakości życia, a powodujące bardzo wysokie koszty leczenia, takie jak cukrzyca albo dolegliwości sercowe. Taka identyfikacja pozwala na rekomendowanie wykonania na pacjentach zabiegów zapobiegawczych, zanim jeszcze znajdą się oni w sytuacji wymagającej poważnych operacji, takich jak amputacja stopy u cukrzyków. Celem jest zatem wykorzystanie metod analizy i inteligencji, aby wychwycić problemy, zanim staną się one naprawdę poważne. Dzięki temu poprawia się stan zdrowia poszczególnych pacjentów, a system ochrony zdrowia może zaoszczędzić wiele pieniędzy. Brush ma jednak jeszcze dodatkową pasję, czyli umacnianie kultury Agile w firmie Cerner i wpajanie jej inżynierom już od momentu, gdy pierwszy raz słyszą o tej firmie. W tych okolicznościach otrzymała zatem zadanie przebudowania systemu szkoleń inżynierów oraz programów wdrażania nowych pracowników.
Problemy ze szkoleniami w firmie Cerner
Przed przyjęciem modelu zwinnego rozwoju oprogramowania szkolenia inżynierów firmy Cerner skupiały się na własnych technologiach firmy i sposobach interpretowania przez nią całego sektora służby zdrowia. Takie szkolenie trwało cztery tygodnie i miało taką samą postać dla wszystkich. W jego skład wchodził też system oceny składający się z pisemnych testów z następującymi po nich dyskusjami. Brush zauważyła jednak, że menedżerowie nie zauważali pożądanych zachowań u osób, które ukończyły taki program szkoleń. Postanowiła zatem przebudować go w zgodzie z metodologią Agile. Zadanie to stało się dla niej osobistym wyzwaniem. Dzisiaj Brush mówi z pozycji dyrektora, ale musiała przejść przez całą drabinę hierarchii. Większość jej kolegów, którzy zaangażowani są w firmową kulturę, ma za sobą podobną ścieżkę. Zaczęli od samego dołu, jako zwyczajni pracownicy, i zaczęli przedstawiać swoje pomysły. Uzyskali poparcie swoich przełożonych i mogli zacząć wprowadzać swoje idee w życie. Następnie zostali zauważeni i docenieni za zmiany, jakie udało im się wprowadzić w środowisku pracy firmy Cerner. Teraz otrzymali stanowiska dyrektorskie. Jej mały zespół cały czas poszukuje kolejnego poziomu współpracowników, którzy byliby w stanie usprawnić kulturę firmy. W ramach przemyśleń nad koncepcją szkoleń Brush zauważyła, że firma Cerner zatrudnia współpracowników, którzy nie do końca wiedzą, na czym polega praca w zgodzie z zasadami Agile. Było to pewnym zaskoczeniem, ponieważ firma stosowała już całkiem złożony proces rozmów kwalifikacyjnych. A mimo to zatrudniane były osoby, które zupełnie nie wiedziały, od czego zacząć. Był to być może niewielki, ale jednak znaczący procent wszystkich nowo zatrudnianych osób. Przygotowanie czterotygodniowego szkolenia dla tych wszystkich osób było bardzo kosztowne. Po jego ukończeniu poszczególne osoby były przydzielane do różnych zespołów, w których pracowały przez sześć miesięcy. Po ich upływie często zdarzało się, że zespół mówił zgodnie: „Przykro nam, ale to się nie sprawdza. Nie możemy ich w ten sposób niańczyć. Raczej nie będą pasować do firmy Cerner”. Gdy Brush sobie to uświadomiła, zaczęła się zastanawiać nad tym, jak należałoby przebudować system szkoleń. Spotkała się zatem z ponad sześćdziesięcioma menedżerami firmy Cerner, chcąc się upewnić, że w ten sposób uzyska pełen przekrój opinii, doświadczeń i ról. Pytała, na czym polegają podstawowe trudności w pracy z kandydatami przyjmowanymi do pracy zaraz po studiach. Na tej podstawie mogła sobie przygotować listę wszystkich kłopotów i zauważonych wzorców. Okazało się, że program szkolenia koncentrował się na nauczaniu metod pracy stosowanych w firmie Cerner oraz prezentowaniu środowiska, w którym firma się porusza, a także problemów w funkcjonowaniu służby zdrowia. Jednocześnie menedżerowie wcale nie takiej wiedzy oczekiwali od nowo przyjmowanych pracowników. Poszukiwali oni kogoś z bardziej praktycznymi umiejętnościami. Chcieli ludzi umiejących rozwiązywać problemy, potrafiących tworzyć testy automatyczne albo rozmawiać z projektantami i zadawać właściwe pytania, aby uszczegółowić wymagania klienta. Chcieli zatem mieć pracowników, którzy działaliby zgodnie z prawem małego zespołu i prawem klienta. Wielu nowo przyjętych sądziło jednak, że raz napisany kod wystarczy przerzuć przez ściankę do innego działu i o nim zapomnieć, albo prezentowało inne ekstremum, próbując w pełni udokumentować każdy element jeszcze przed rozpoczęciem projektu.
Akademia programistów
Brush zauważyła, że w szkoleniu brakowało nacisku na właściwe zachowania. Oznaczało to, że firma musiała przemyśleć cały program szkoleń, który koncentrował się na przekazywaniu wiedzy. Należało jednak położyć akcent na nauczanie właściwych zachowań. Sama wiedza nie była wystarczająca. Była jedynie środkiem do uzyskania właściwych zachowań. Brush sporządziła listę podstawowych zachowań, które okazywały się nieodzowne, a których brakowało nowo przyjmowanym kandydatom. Przejrzała wszystkie dostępne dane i wyrzuciła z istniejącego programu niemal wszystkie elementy. Podczas przygotowywania nowego programu zastosowała metody Agile. Co tydzień mieli wprowadzać jedną innowację i zbierać na jej temat opinie. Na tej podstawie podejmowana miała być decyzja o zachowaniu danej zmiany, odrzuceniu jej lub poddaniu dalszym poprawkom. Taką procedurę stosowano przez sześć miesięcy, aż do uzyskania pożądanego programu szkolenia, który otrzymał nazwę Akademii programistów. Szkolenie zaczyna się od części nazywanej „Programistyczne podstawy”. W ciągu dwóch tygodni prezentowane są wszystkie pożądane zachowania. Nauczane są tu podstawowe zasady DevOps, testów jednostkowych, rozwijania oprogramowania zgodnie z Agile, a także kilka ogólnych informacji o tym, co każdy powinien wiedzieć. I tak każdy powinien umieć posługiwać się bazą danych i powinien wiedzieć, jak tworzyć systemy dla sieci WWW. Po zakończeniu tego etapu wszyscy zostają poddani ocenie. Informowani są o tym, w jakich obszarach powinni włożyć więcej pracy, aby móc skutecznie pracować w firmie Cerner. Całość wygląda podobnie jak w szkole lub na studiach, ale nauczane są tutaj tematy, których nie porusza się na uczelni.
Centrum programistów
Po ukończeniu kursu w Akademii programistów wszyscy przenoszeni są do Centrum programistów, gdzie każdy może wybrać dla siebie projekt. Zawsze dostępna jest lista mniej więcej czterdziestu otwartych w danym momencie projektów. Każdy może zatem podać swoje preferencje. Następnie specjalny algorytm pozwala na dopasowanie kandydatów w ramach dwu- lub trzyosobowych zespołów. Wszystkie te projekty są całkiem rzeczywiste. Firma Cerner musi je i tak opracować, choć mają one niski priorytet i niezwykle niskie ryzyko. Oczywiście firma nie chce, żeby nowo przyjęte osoby maczały palce w oprogramowaniu klinicznym, które jest produktem wysokiego ryzyka. W związku z tym nowi pracownicy nie mają uprawnień do pracy z takimi systemami. Mogą jednak zacząć prace nad takimi projektami jak tworzenie narzędzi wspomagających debugowanie lub testowanie. Wszystkie takie projekty mają pewną wartość dla firmy, ale też niosą bardzo niskie ryzyko. Mentorzy pomagają przy podejmowaniu decyzji projektowych i podczas tworzenia kodu. Podają nowym pracownikom informacje zwrotne, rozmawiają na temat ich zdolności komunikacyjnych oraz przedstawiają oczekiwania względem jakości tworzonych projektów. Na takich pracach mentorzy spędzają mniej więcej cztery godziny tygodniowo. Oprócz wszystkich mentorów w Centrum programistów zatrudnionych jest jeszcze kilka innych osób. Są to zazwyczaj przyszli liderzy projektów w firmie, którzy wspomagają pracę Centrum programistów, zmieniając się co 18 lub 24 miesiące. W efekcie po opuszczeniu Centrum programistów mają oni zagwarantowaną pozycję lidera i mogą samodzielnie wybierać, gdzie chcą dalej pracować. W Centrum programistów szkoleni pracownicy mogą wybrać sobie projekt, pracować nad nim i otrzymywać informacje zwrotne na temat swojej pracy. Mentorzy mają za zadanie co tydzień informować, jak radzą sobie ich podopieczni. Wypełniają zatem niewielki formularz, w którym proszeni są o ocenę podstawowych obszarów wydajności. Poniżej przedstawiam wskazówki opisujące sposób oceniania w każdym obszarze. „Nie dajemy im ocen w skali od 1 do 6 — mówi Brush. — A to dlatego, że ludzie, który dopiero co ukończyli szkołę, za bardzo się takimi ocenami przejmują. Jeżeli ktoś dostanie trójkę, to zwykle bywa załamany. Jeżeli jednak dostanie tylko minus, przyjmuje po prostu do wiadomości, że musi się w tym zakresie poprawić. Musimy zatem wykorzenić z nich to ciągłe myślenie o ocenach”. Praktykanci co tydzień otrzymują takie informacje od swoich mentorów. Mogą na przykład usłyszeć, że pewne elementy wymagają poprawienia. Może tu chodzić o zwiększenie jakości albo pokrycie kodu testami. Mentorzy monitorują co tydzień postępy praktykantów z nadzieją, że wszystkie minusy zmienią się z czasem w plusy albo nawet podwójne plusy. Tutaj chodzi tylko i wyłącznie o wydajność pracy. Praktykanci zostają przydzieleni do zespołu dopiero wtedy, gdy wszystkie ich oceny będą plusami. „To wszystko bardzo różni się od naszego starego programu, który był bardzo statyczny — mówi Brush. — Nie miało znaczenia, czy ktoś był dobry, czy zły. Przed przydzieleniem do zespołu każdy spędzał na szkoleniu dokładnie cztery tygodnie. Dzisiaj praktykant może zakończyć szkolenie już po dwóch tygodniach, albo pozostać w nim nawet przez dwanaście. Wszystko zależy od aktualnych potrzeb. Nikt nie ponosi kary za to, że jego szkolenie zajęło dwanaście tygodni, bo chodzi w nim o uzyskanie odpowiedniej kompetencji. Dopiero wtedy można skutecznie pracować w naszej firmie”. Jeżeli zauważone zostaną niepokojące sygnały, na przykład praktykantom brakuje zdolności albo pracują przez dwanaście tygodni nad jedną rzeczą i nie są w stanie doprowadzić jej do końca lub bardzo źle znoszą uwagi przekazywane im przez mentorów, to potrzeba bardziej zdecydowanych działań. Tacy praktykanci muszą opuścić firmę i nie mogą negatywnie wpływać na pracę zespołów. „Dzisiaj rozstajemy się z niewielką liczbą praktykantów — mówi Brush. — Pozytywnie świadczy to o poprawkach, jakie wprowadziliśmy również do procesu rekrutacji”. Cały program Akademii programistów został świetnie udokumentowany, poddany audytom i jest na bieżąco monitorowany. Wszystko jest jawne i każdy może uzyskać dowolne informacje. Można dowiedzieć się, kto należy do Akademii programistów albo kto jest czyim mentorem. Jedynie wyniki ocen wydajności pozostają dokumentami prywatnymi.
Usprawnienia w rekrutacji
Podczas oceny nowego programu szkoleń po pierwszym roku jego funkcjonowania pojawiły się wątpliwości, czy lepiej będzie poprawić program szkoleń, czy też zmieniać system rekrutacji. Postanowiono wprowadzić do programu szkolenia pewne usprawnienia, ale jednocześnie konieczne było wprowadzenie wielu różnych zmian w procesie rekrutacji. Brush dodaje: „Po prostu po przejrzeniu dostępnych danych zauważyliśmy, że istnieje korelacja pomiędzy sposobem zatrudniania stosowanym przez firmę Cerner i tym, kto prowadził rozmowę kwalifikacyjną, a wynikami uzyskiwanymi przez praktykantów. Na bazie tych danych uruchomiliśmy inicjatywę mającą na celu ocenę istniejących praktyk rekrutacyjnych i porównanie ich z najnowszymi wynikami badań psychologicznych, które również sugerowały konieczność większego skupienia się na zachowaniach. Okazało się, że nasz sposób prowadzenia rozmów kwalifikacyjnych koncentrował się przede wszystkim na wiedzy kandydatów”. Okazało się, że wiedza o tym, co kandydaci robili w przeszłości, pozwalała lepiej przewidzieć ich przyszłe działania. Ich deklaracje często nie pokrywały się z rzeczywistością. Dlatego w firmie Cerner zdecydowano się skoncentrować na zachowaniach kandydatów i zaczęto stosować polecenia i pytania typu: „Opowiedz mi o projektach, w których pracowałeś. Opowiedz o najbardziej kłopotliwym błędzie, z jakim zdarzyło ci się zmagać. W jaki sposób wykryłeś przyczynę? Na czym polegał problem? Jak go rozwiązałeś?”. Celem tych zmian było przekształcenie rozmowy rekrutacyjnej z quizu, jakim była wcześniej, w normalną rozmowę na tematy techniczne. Miało to przyjąć taką postać: „Porozmawiajmy teraz o tym. Może przejdziemy do tablicy i to rozrysujemy?”. Kandydatowi zadawane są pytania sytuacyjne, uzupełniające pytania behawioralne. Stawiane są przed nim takie problemy, z jakimi zazwyczaj stykają się pracownicy firmy Cerner. Na przykład: „Do szpitala przychodzą różni ludzie, a my musimy dowiedzieć się, kim oni są, gdzie mieszkają, jaką mają płeć itd. Możesz naszkicować mi strukturę danych przechowującą te wszystkie informacje?”. Następnie przyglądamy się pracy kandydata i wtrącamy różne pytania i sugestie, takie jak: „A dlaczego tutaj używasz typu string, a nie obiektu?”. Praca wykonywana przez kandydata oceniana jest już w jej trakcie. Celem takiego postępowania jest sprawdzenie, jak dana osoba reaguje na informacje zwrotne, a to, czy uzyskujemy prawidłową odpowiedź, jest sprawą drugorzędną. W trakcie rozmowy rekrutacyjnej prowadzące ją osoby stawiają przed kandydatem coraz bardziej wymagające zadania, docierając w końcu do punktu, w którym kandydat nie jest w stanie podać prawidłowego rozwiązania. Prowadzący rozmowę nie wyciągają wniosków z tego, w którym momencie dany kandydat utknął. Bardziej interesuje ich to, w jaki sposób reaguje na zadawane pytania i czy wykorzystuje nowo otrzymane informacje w próbach rozwiązania problemu. Czy jest w stanie przeprojektować wcześniejszą pracę po otrzymaniu nowego wymagania? Cała procedura ma polegać na prostej rozmowie dwóch osób przed tablicą i wymianie idei prowadzącej do lepszego poznania problemu i siebie nawzajem. Firma Cerner ma teraz standardowy pakiet rekrutacyjny, zawierający pewną pulę pytań, z których mogą korzystać prowadzący rozmowy. Nie muszą oczywiście wykorzystywać wszystkich pytań. Mogą je zadawać do momentu, gdy uznają, że uzyskali zestaw zachowań i oznak potrzebnej im kultury. Nie mogą jednak wykraczać poza ten pakiet pytań. Firma Cerner ustaliła tę zasadę, ponieważ wielokrotnie zostało udowodnione, że ustalone szablony dawały lepsze wyniki niż osobiste opinie rekruterów. Wynika to z faktu, że ludzie noszą w sobie nieuświadomione uprzedzenia. W związku z tym, gdy ktoś mówi, że „ta osoba tu nie pasuje”, oznacza to zwykle, że „ta osoba mi nie pasuje”. Chcąc przeciwdziałać takim sytuacjom, firma Cerner nalega na stosowanie jednakowych szablonów i ustalonego programu rozmowy rekrutacyjnej. Przy każdym pytaniu podawane są zachowania, które powinien oceniać prowadzący rozmowę. „Jaką wagę przywiązuje do szczegółów? Jak radzi sobie i jak reaguje na informacje zwrotne? W jaki sposób zajmuje się projektowaniem?” Podawane są też cechy, jakie po zakończeniu dyskusji na temat danego pytania powinien wykazywać dobry albo średni kandydat. Przy każdym pytaniu prowadzący rozmowę zakreśla ocenę kandydata, która będzie podstawą dyskusji prowadzonej w ramach sesji podsumowującej. Firma Cerner zainteresowana jest przede wszystkim mobilnością. Ważne jest dla niej to, czy dany kandydat będzie w stanie nauczyć się takich języków programowania jak Java lub Ruby, a mniej istotny jest fakt, czy już teraz te języki zna. Technologia rozwija się tak szybko, że firma musi się do niej cały czas dostosowywać. To właśnie dlatego firmę mniej obchodzi aktualna wiedza kandydata, a bardziej jego umiejętność przyswajania nowych informacji, idei i technologii. W firmie Cerner pracuje pewna grupa osób prowadzących rozmowy kwalifikacyjne. Każda z nich musiała ukończyć specjalny kurs rekrutacyjny, zanim mogła zacząć prowadzić takie rozmowy. Organizacja rekrutacyjna regularnie ocenia swoich pracowników. W skład tej oceny wchodzi też informacja, ilu kandydatów przyjęło propozycję pracy i jak sprawują się oni przy realizowaniu swoich zadań. Firma dość często usuwa wybrane osoby z tej grupy, kierując się przy tym uzyskiwanymi przez nie wynikami oraz otrzymanymi informacjami zwrotnymi. (Przez pewien czas firma próbowała stosować inne rozwiązania, rezygnując z wybranej grupy prowadzących rozmowy kwalifikacyjne, ale ostatecznie powróciła do tego. Chodzi przecież o to, żeby jak najskuteczniej wyszukiwać dobrych kandydatów do pracy). Początkowo akcent kładziony jest na „dopasowanie do kultury”. Kwestia „dopasowania do zespołu” pojawia się dopiero pod koniec procesu, gdy menedżer spotyka się z kandydatem. Menedżer może w tym momencie powiedzieć „nikt tutaj nie spełnia moich oczekiwań”. Oznacza to, że woli on poczekać jeszcze dwa tygodnie, w nadziei znalezienia kogoś pasującego w następnej grupie kandydatów. A zatem dopasowanie do kultury staje się podstawą do przyjęcia kandydata do pracy. „Dopasowanie do zespołu” nie ma znaczenia dla tej decyzji i ma generalnie mniejszą wagę, ponieważ firma Cerner nie stara się utrzymywać stałego składu zespołów przez długi czas. Ważniejsze jest zatem to, czy kandydaci będą mogli pracować w wielu różnych zespołach.
Otwarte źródła
Pewnym efektem rozwijania kultury pracy w firmie Cerner była decyzja o próbach lepszego poznania pozycji firmy w społeczności otwartych źródeł. Firma używała już wcześniej różnych metod otwartoźródłowych, ale okazało się, że więcej korzysta na pracy społeczności, niż się do niej dokłada, nie mówiąc już o tworzeniu czegoś nowego. Firma Cerner uznała zatem, że jako twórca kodu o otwartych źródłach musi samodzielnie zacząć przygotowywać repozytoria kodu. Podjęto zatem decyzję, żeby zatrudniać osoby pozwalające lepiej zrozumieć znaczenie kodu o otwartych źródłach. Przyjęto też zewnętrznego konsultanta, którego zadaniem było przekonanie pracowników, że inwestowanie w otwarte źródła będzie dawało firmie strategiczną przewagę. Prezentując kod tak, żeby inne firmy mogły z niego korzystać, firma Cerner może definiować kierunki rozwoju poszczególnych technologii wykorzystywanych w przemyśle. Na przykład aktualnie firma pracuje nad technologią strumieniowania dużych zbiorów danych. Jest to tematyka, w której nie powstał jeszcze powszechnie uznany standard. Prowadzono zatem rozmowy na temat tego, jak firma Cerner może przygotować coś, co stanowiłoby rozwiązanie tego problemu. Przygotowane rozwiązanie ma zostać udostępnione w postaci otwartych źródeł, ponieważ firma nie chce tworzyć rozwiązania własnościowego tylko po to, żeby za dwa lata odkryć, że cały przemysł wykorzystuje inne, otwartoźródłowe rozwiązanie, i być zmuszoną do dostosowywania swoich systemów do obowiązującego standardu. Jeżeli firma Cerner ma samodzielnie coś zbudować, to chce, żeby jej produkt stał się standardem przemysłowym. A jeżeli istnieje już coś funkcjonującego o otwartych źródłach, to firma chce z tego skorzystać i wziąć udział w rozwoju tej technologii. Firma Cerner musi wykorzystać swoją wagę, aby wspierać rozwiązania, które według jej oceny staną się wiodącymi technologiami w świecie otwartych źródeł. Aktualnie firma Cerner zachęca swoich pracowników do jak najaktywniejszego udzielania się w projektach o otwartych źródłach, zarówno przez poprawianie błędów, jak i rozwijanie kodu otwartoźródłowego w dziedzinach, które nie należą do domeny firmy. Stała się ona też sponsorem fundacji Apache Software Foundation, jak również organizacyjnym członkiem publicznego GitHuba. Pracownicy udzielający się w projektach otwartoźródłowych są wychwalani na zebraniach firmowych i odpowiednio nagradzani.
Informacje zawarte w tym artykule to fragmenty 3 rozdziału książki „Era Agile. O tym, jak sprytne firmy kształtują swoją efektywność.” (autor:Stephen Denning). Aby dowiedzieć się więcej zachęcamy do zakupu
książki:https://onepress.pl/ksiazki/era-agile-o-tym-jak-sprytne-firmy-ksztaltuja-swoja-efektywnosc-stephen-denning,eragil.htm#format/d, https://www.metabunk.org/attribution-of-schopenhauers-three-stages-2 of-truth.t897