Agile,  Technologia

AI Scrum Master

Mój niedawny wpis na socialach na temat tego, że za jakieś dwa lata ujrzymy sztuczną inteligencję zdolną działać jako Scrum Master dla zespołów zdalnych (bo ich interakcje idą przez kanały, które poddają się łatwo maszynowej analizie) wywołał ku mojemu zaskoczeniu spore kontrowersje a nawet niektórych oburzył. Śpieszę więc temat rozwinąć żeby z jednej strony pokazać co mam na myśli a z drugiej wyjaśnić czego na myśli nie mam i nigdy nie miałem.

Moją prognozę bazuję na obserwacji rozwoju technologii AI, którą obserwuję od jakiegoś czasu korzystając z różnych narzędzi AI w miarę jak stają się one dostępne. W grudniu spędziłem sporo czasu korzystając z modelu OpenAI GPT-3 i jego możliwości są naprawdę ogromne. Zamiast jednak o nich pisać może po prostu krótka demonstracja.

Zadałem modelowi pytanie o typową sytuację (jest to jedna z sytuacji „szkoleniowych” ze szkolenia Professional Scrum Master). Model bazuje na informacji zaciągniętej z Internetu – a więc m.in. z Wikipedii, stron internetowych, Twittera i tak dalej. Demo udostępniane bezpłatnie nie ma włączonej możliwości poszukiwania i dociągania informacji na bieżąco (z tego powodu nie zna wydarzeń itp. po roku 2021). Można jednak trochę dodatkowych informacji przesłać jako element zapytania, co to też uczyniłem wklejając w ramach zapytania fragment ze Scrum Guide dotyczący Scrum Mastera. Dla zwięzłości w poniższym zrzucie jest on wycięty – każdy może go sobie zobaczyć tutaj.

Ponieważ odpowiedź – choć w punktach zawiera jednak dużo ogólników więc „drążyłem” dalej:

Widzę tu poważny błąd, a mianowicie w odpowiedzi modelu widać założenie, że zmiany jakie wprowadził Hugo są sprzeczne z Definition of Done. Tak jednak nie jest, co wiemy wprost z opisu zadania. Zwracam więc modelowi uwagę na to.

To już dużo lepiej, ale kontynuujmy i spróbujmy przejść do konkretów – co konkretnie powinien powiedzieć Scrum Master do zespołu?

A co nasz model powiedziałby do Hugo (kiedy ten się pojawi)?

Jak Tobie podobają się odpowiedzi modelu?

Moim zdaniem są naprawdę niezłe zwłaszcza biorąc pod uwagę, że:

  • jest to bezpłatne demo modelu,
  • jest trenowane na losowych zasobach z Internetu – a więc bez żadnej kontroli jakości z punktu widzenia Scruma ani skupienia na dialogach w zespołach,
  • jest to demo modelu GPT-3 – a więc starszego modelu, nowy model GPT-4 przygotowywany przez OpenAi ma mieć możliwości większe o dwa rzędy wielkości. Ten nowy model będzie dostępny już w bieżącym, 2023 roku!

Zastanów się teraz przez chwilę jakie możliwości będzie miała ta technologia za dwa lata? Jakie za dziesięć? Bo jej możliwości nie przyrastają obecnie liniowo ale wykładniczo.

Oczywiście, model to jedno, przygotowanie go do pełnienia roli Scrum Mastera to drugie. Jak takie przygotowanie powinno wyglądać? Otóż należy wytrenować model na dobrych źródłach (Scrum Guide, zawartość dobrych książek na ten temat) oraz interakcjach dobrych Scrum Masterów z ich zespołami. Należałoby zatem wytypować pewną pulę zdalnych zespołów, które uznalibyśmy za dobre w Scrumie, mające sprawnych Scrum Masterów, a następnie zapewnić modelowi dostęp do pełnego strumienia danych dotyczących tych zespołów i ich interakcji. W połączeniu z ogólnym modelem językowym – a więc tym, na czym ogólnie wytrenowana jest instancja modelu taka jak GPT-3 – powinno to dać w efekcie AI, które będzie w stanie sprawnie i prawidłowo reagować na różne sytuacje w zespołach.

Dodajmy, że praca Scrum Mastera w zdalnych zespołach polega na interakcjach z zespołem na czacie oraz na video-konferencjach. Dodatkowo może obejmować także tickety w systemie klasy Rally czy Jira, karteczki na tablicach Mural/Miro, kod źródłowy i związane z nim elementy (np. opisy commitów, komentarze i dokumentację) czy zawartość wspólnych stron typu Sharepoint albo Wiki czy wreszcie e-mail. Z tego względu idealnym miejscem dla stworzenia – i późniejszego używania takiego sztucznego SM-a – byłoby zintegrowane środowisko zawierające to wszystko, a więc np. środowisko Microsoft (Office 365 + Azure DevOps).

Większość z rzeczy powyżej to przede wszystkim tekst, a więc rzecz nie nastręczająca trudności. Rozpoznawanie mowy już dziś jest na tyle skuteczne, że od strony biernej udział sztucznego Scrum Mastera w telekonferencjach już dziś nie nastręcza problemu (dygresja: już teraz można w Microsoft Teams włączyć „coacha mówienia„, który po telco podpowie użytkownikowi jak mówił łącznie z tym czy używał politpoprawnej nowomowy czyli „inclusive language”). Strona czynna wymagałaby odrobinę więcej pracy, ale już dziś dostępne są przekonywujące syntezatory mowy oraz syntetyczni aktorzy dostarczający przekonywującego obrazu, dość dobrego by wyglądał naturalnie podczas telekonferencji. Stworzenie więc takiego hipotetycznego „sztucznego Scrum Mastera”, który mówiłby na telekonferencji nie wymaga już żadnych przełomowych wynalazków a jedynie połączenia istniejących technologii (tu możesz zobaczyć świetny przykład co już da się tymi technologiami zrobić).

Biorąc powyższe pod uwagę czy naprawdę to co napisałem jest takie oderwane do rzeczywistości?

Kwestia więzi

Niektóre osoby podniosły problem, że taki Scrum Master nie mógłby zbudować relacji z zespołem ani tym bardziej empatyzować z nim, ponieważ nie będąc człowiekiem nie posiada uczuć ani w ogóle możliwości realnego zrozumienia słów, których używa. To w końcu tylko model, który przetwarza jedne wzorce tekstowe na drugie.

Moim zdaniem problem jest jednak pozorny – bardziej filozoficzny niż realny. Zasadniczo bowiem komunikacja z takim „wirtualnym Scrum Masterem” odbywa się poprzez słowa, zdania i wypowiedzi – czy to pisane czy wypowiadane. Zatem istotne jest, aby użyte przezeń wypowiedzi pasowały do sytuacji i do osób, do których będą kierowane prowadząc do pożądanych efektów (czyli współpracy w zespole, budowaniu zaangażowania, profesjonalizmu itp.). Z tego punktu widzenia nie jest istotne czy generujący te wypowiedzi byt realnie rozumie co generuje. Nie jest również istotne czy ów byt realnie odczuwa więź z zespołem – istotne jest, że używa języka w sposób dobrze udający odczuwanie tej więzi oraz, że członkowie zespołu czują więź ze swoim sztucznym Scrum Masterem.

Warto zauważyć, że np. w klasycznym coachingu coach dostarcza jedynie strukturę, używając pewnych schematów wypowiedzi prowadzi coachee przez proces rozmowy. Coaching wywodzi się m.in. z NLP, NLP zaś opierało się na fundamentalnej obserwacji, że naśladując dobrych psychologów można uzyskiwać efekty terapeutyczne. Sposób działania modelu generacyjnego, który znamy jako „AI”, jest de facto takim właśnie naśladownictwem na ogromną skalę. W efekcie model może generować naprawdę dobre wypowiedzi, świadczące pozornie o empatii i więzi. Czy to dowodzi, że model w istocie żonglujący konstrukcją języka posiada świadomość i tożsamość? Osobiście wątpię, ale to problem bardziej dla filozofów – w niczym nie przeszkadza to w praktycznym użyciu takiego narzędzia.

Samouczący się…

A dodajmy, że model uczy się. Jeżeli nauczymy model jak mierzyć pozytywne zachowania w zespole (a więc jak rozpoznawać świadczące o tym, odpowiednie wzorce w języku używanym przez członków zespołu – i to nie tylko na czacie czy telco, ale także w ticketach czy w kodzie) to wówczas będzie on w stanie sam się uczyć i korygować dobór słów i fraz w wypowiedziach. Innymi słowy na skutek obserwacji skutków użycia takich czy innych fraz model będzie się uczył które są bardziej skuteczne. Ponieważ tego rodzaju model będzie jednocześnie obsługiwał setki zespołów non-stop jego doskonalenie się będzie dużo szybsze niż ludzkiego Scrum Mastera. Zarazem, będzie w stanie dobierać odpowiednie reakcje do każdego członka każdego z zespołów.

Czy taki model jest w stanie być lepszym niż najlepszy Scrum Master? Oczywiście, że nie. Czy może być dość dobry, podobny do przeciętnej osoby pełniącej taką rolę? Bardzo możliwe. Czy mógłby być asystentem, pomocnikiem początkującego Scrum Mastera podpowiadającym mu co robić albo stawiającym prognozy jak zespół zareaguje na takie czy inne działanie dając mu szansę przetestować to zanim coś zrobi? Z całą pewnością.

Czy to dobrze

Jedną rzeczą jest kwestia możliwości, którą jak sądzę dość dobrze przedstawiłem powyżej – moim zdaniem „sztuczny Scrum Master” będzie zdecydowanie w zasięgu możliwości w ciągu następnych dwóch lat. Upowszechnienie się takiego rozwiązania to oczywiście inna kwestia – i więcej czasu.

Zupełnie inną kwestią jest czy to jest dobrze.

Jakoś tak się składa, że kiedy ktoś opowiada o możliwościach technologii to czyni się z niego automatycznie jej entuzjastę. Ja natomiast widzę raczej więcej zagrożeń niż korzyści – przynajmniej na krótką metę. Tym bardziej, że Scrum Master jest akurat pozycją, która może się czuć dużo mniej zagrożona nowymi technologiami niż inni. Na przykład copy writerzy, graficy tworzący reklamy i logotypy czy nawet prawnicy mogą się obawiać dużo bardziej.

Zasadniczo zmieni się też sposób pracy programistów. Jest to zmiana na miarę tej jaką było przejście w latach sześćdziesiątych zeszłego wieku z kodu maszynowego na języki strukturalne. Programiści przyszłości nie będą więc bezpośrednio pisać kodu, lecz mówić maszynie czego oczekują i korygować wyniki, jeśli nie będą zgodne z oczekiwaniami. To również będzie możliwe w ciągu najbliższych paru lat, ale to temat na osobny artykuł.

Nie ma więc dwóch zdań, że w najbliższej dekadzie czeka nas przeoranie rynku pracy przez tą i inne technologie. Poziom zmiany o jakim mówimy porównać można do rewolucji przemysłowej przełomu XVIII i XIX wieku, która przyniosła także zasadnicze, głębokie przemiany społeczne. A przecież to nie jedyna duża zmiana i niewiadoma, z którą przyjdzie się nam zmierzyć. „Obyś żył w ciekawych czasach” to podobno chińskie przekleństwo – no cóż, nie da się ukryć, że w takich właśnie czasach żyjemy.

Jeden komentarz

  • Tomek

    Cześć Andy,
    dzięki, że podzieliłeś się tymi bardzo ciekawymi obserwacjami. Z większością z nich się zgadzam i równie mnie to niepokoi co Ciebie – zwłaszcza podsumowanie i refleksja o rewolucji, jej skali i naszym w niej zapewne biernym udziale oraz jego konsekwencjach.

    No właśnie. Tylko czy ten udział musi być bierny? Zastanawiam się, czy jako środowisko powinniśmy się zjednoczyć i zacząć lobbować o wykorzystanie tej technologii w naszej dziedzinie w określony sposób? Czy sami powinniśmy zjednoczyć się w ramach kluczowych stowarzyszeń i rozpocząć oddolne tworzenie norm etycznych i granic wykorzystania technologii w taki sposób, aby nie pozbawiła nas pracy, a była jedynie ograniczona do roli narzędzia / asystent, które jak zauważyłeś miałoby pomóc nam być bardziej efektywnymi? I czy następnie powinniśmy rozpocząć lobbying w instytucjach rządowych i postarać się nadać tym normom formę ustawową?

    Jeśli nic nie zrobimy, zdecydowanie zastanie nas nowa rzeczywistość i obudzimy się po rewolucji lub w jej trakcie (o ile już się ona nie toczy) i nasze możliwości wpływania na regulacje prawne będą zdecydowanie blado wyglądać w konfrontacji z efektywnością AI, którą już wtedy w pełnej krasie zaoferuje biznesowi i przedstawicielom władzy.

    Słyszymy już o tym, że nawet twórcy AI i osoby z ich otoczenia otwarcie mówią o oczywistych zagrożeniach płynących z tej technologii i nawołują do budowaniu kodeksu, w ramach którego AI miałaby funkcjonować. Odgórnie chyba nic się w tym zakresie transparentnie nie dziej. Nie wiem czy ktokolwiek się tym teraz zajmuje i czy komukolwiek (kto skupiony jest jedynie na ślepej i bezrefleksyjnej maksymalizacji zysków i optymalizacji procesów) na tym zależy. Może zatem sami powinniśmy zacząć się jednoczyć i walczyć o nasze przyszłe miejsca pracy? Bo ostatecznie może się nawet okazać, że nie tylko o nasze miejsca pracy będzie chodziło.

    Taki sztuczny SM wydaje się no-brainerem z perspektywy ogólnie pojętych stakeholderów, ale idąc tym tropem, większość zawodów nie wytrzyma wyrachowanej i opartej na zimnej kalkulacji konfrontacji z możliwościami i efektywnością AI, kiedy w pełni rozwinie ono skrzydła. Jak wtedy człowiek udowodni swoją przydatność, kiedy kryteria tej konfrontacji będą dla nas tragicznie bezlitosne?

    Na koniec komentarza, taki trochę apokaliptyczno-fatalistyczny wątek. Kiedy tak o tym wszystkim myślę, trochę się boję o przyszłość tego świata i naszych dzieci. Ludzie od zawsze generują koszty, oczekiwania, konflikty – trudno się nimi zarządza (choć dziś w erze powszechnych mediów, nie tylko social-ones, pewnie trochę łatwiej). Z drugiej strony stanie AI, która zrealizuje większość prac taniej, szybciej, efektywnie i posłusznie, a co najważniejsze – bez oczekiwań. Czy ludzie nie staną się wobec tego niepotrzebni, a ludzkość po odpowiednim ograniczeniu liczby jej przedstawicieli (np. w formie jakiejś kontrolowanej pandemii), reglamentowana? Myślący człowiek myśli, czasem może tochę za dużo, i z tego myślenia takie coś mu może wyjść. Oby nikt nigdy nie wpadł na wykorzystanie AI do tak bezdusznej modyfikacji naszego pięknego świata:)

    Bardzo jestem ciekaw Twoich opinii. I chyba chodzi mi też po głowie ewentialne uczestnictwo w pracach takich grup roboczych tworzących wspominane przeze mnie powyżej normy etyczne dla AI. Ciekawe czy nie wyjdę teraz na zwolennika teorii spiskowych czy romantycznego fantastę, któremu marzy się spokojna, stabilna, bezpieczna i trochę wygodniejsza przyszłość, ale cóż … rozmawiajmy:)

    Pozdr!
    Tomek

Komentowanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *