Wyprawa po magiczny kod: Smokobójca

Znacie legendę o wyprawie po złote runo? To wyobraźcie sobie, że ono istnieje i jest zakodowane w dobrym softwarze. Jak je zdobyć? Oto historia Habiba Moskina – współwłaściciela firmy Testspring, konsultanta QA, który od lat pomaga firmom osiągać lepszą jakość oprogramowania. Nie zawsze w konwencjonalny sposób.

Wyprawa po magiczny kod: Smokobójca

Zagrożenie czyha na każdym kroku                       

Są wśród nas, niepozorne. Przemykają między kolejnymi indeksami Google’a. Czają się rozleniwione. Wytrwale wpatrują się w nas z granicy cienia. Ich cel? Nasze pieniądze, czas, energia. Tropię je od dawna. Poluję. Złe Softwarehous’y… Praca nie kończy się nigdy. Tego nie poznałem od razu. Działał przebiegle – jakby zupełnie nie próbował się schować. Wtopił się między dobre firmy, sprytny marketing, ale coś we mnie kazało mi podejść bliżej… Wyczułem to w drżeniu kolan project managerów, w płytkim oddechu CTO. Koniec był bliżej, niż myśleliśmy…

Mogłaby to być kolejna opowieść z dreszczykiem emocji, którą po kilku godzinach podróży pociągiem wkładamy do torby – szczęśliwi, że możemy wrócić do rzeczywistości. W Testspring nie mamy tego komfortu. Dlaczego?

W Testspring oferujemy usługę QA, czyli zapewnianie jakości oprogramowania. To znaczy, że ludzie korzystają z naszej pomocy, kiedy czują, że przyszedł czas na poważne zmiany w ich firmie. Nie ma w tym fikcji, nie ma hucznych biesiad i pięknej królewny dziękującej za uratowanie zamku. Są za to smoki, skarby i brutalność rynku. Software house, o którym mowa, zamienił się z niepozornej jaszczurki w pasmo frustracji, spalonych mostów i złej opinii o branży IT… Ale to dopiero początek opowieści.

Kiedy nie ma wśród nas jakości…

Skąd bierze się jakość? Z porządku, konsekwencji i wytyczania jasnych celów. Może więc historia o smokach nie jest wcale przesadzona? Potwór uosabia symboliczną przywarę, z którą nie da się pertraktować. Jest złośliwa, uciążliwa i ma nas w nosie. Nie reaguje ani na groźbę, ani na prośbę. Strzeże dostępu do skarbu. Uniemożliwia osiągnięcie celu… Tego smoka można było poznać już po obejściu.

Pierwsze, co zobaczyłem, to po prostu… bałagan. Zlew pełen brudnych naczyń. Na podłodze lepkie plamy. Na stole otwarty sok. Na talerzu porzucone resztki jedzenia. Koło śmietnika opakowanie, którym ktoś nie trafił, gdzie trzeba. Okruszki. Ślady po yerbie będzie trzeba zdrapać szpachlą. Żałuję porzucenia narracji fantasy. Bo nawet dla niewprawionego tropiciela byłyby to wystarczające ślady.  W software housie zalęgły się lenistwo, niechlujstwo i bylejakość. Żerowały jak ghule na padlinie, ograbiając firmę z resztek jakości.

Dlaczego porządek jest tak ważny? Może programiści mieli dużo pracy, może akurat trzeba było zrobić coś na już, może przekroczyli nieprzekraczalne terminy… Jednak zawsze pozostajemy sobą. Jacy jesteśmy na co dzień, tak się bawimy, pracujemy, podejmujemy decyzje. Łatwo sobie wyobrazić, że jeżeli nie masz czasu wytrzeć kropli ketchupu na podłodze, nie znajdziesz go na przejrzenie swojego kodu. Zawsze będzie coś pilnego, na już – coś ważniejszego. A ten bałagan… to w końcu nic złego. Ktoś przecież przyjdzie i posprząta…

Firma nam się pali…        

Kończę narzekania. Mam kawę, siedzę w przyjemnie chłodnym pokoju i za chwilę zacznę spotkanie z Mirkiem. To szef małego, opolskiego software housu. Sprowadził się tu przypadkiem, z rodzicami. Kiedy miał kilkanaście lat, zobaczył, jak ich dom zostaje zalany po dach. To był 1997 rok. Wielka powódź. Jako jedni z nielicznych byli ubezpieczeni. Przenieśli się do mieszkania. Rodzice zgodzili się na komputer. Starczyło.

Podoba mi się historia Mirka. Opowiada o pasji do elektroniki. O trudnej decyzji o rezygnacji ze studiów. O tym, jak pracował, kiedy znajomi się bawili, brali śluby, kredyty. Z nieskrywaną dumą mówi o największych sukcesach. Potem żar w oku blednie. Zaczyna mówić o kłopotach. A teraz firma nam się pali – rzuca na koniec.

Uśmiech nie schodzi z jego twarzy, ale czuć wyczekiwanie – na magiczne zaklęcie, szybką radę, na lekarstwo, które pozwoli stanąć od razu na nogi. Chce usłyszeć, że wystarczy wziąć naszego specjalistę od procesów i wszystko będzie dobrze. Chciałbym, żeby tak było. A jak jest w rzeczywistości?

Czas na audyt

Mirka i jego firmę czeka ciężka praca. Zaczynamy od audytu. Przyglądamy się procesowi wytwarzania oprogramowania. Rozmowa w formie wywiadu z pracownikami trwa około dwóch godzin. Słuchamy, a ludzie się otwierają. Mówią, co ich boli, co przeszkadza. Często naturalnie odchodzimy od naszego skryptu. To dobrze. Każda firma jest inna. Nie da się zamknąć wszystkich w jednym worku pytań.

Po rozmowie potrzebujemy około tygodnia na stworzenie raportu. To moment, kiedy dyskutujemy, porównujemy, zastanawiamy się, opiniujemy. Poznajemy firmę od wewnątrz i decydujemy, co naprawdę możemy zrobić, żeby pomóc rozwiązać problemy. Chcecie wiedzieć jakie?

Stawiamy diagnozę

Pierwszy problem, który diagnozujemy, to brak procesów. Wszyscy pracują doraźnie, na już, na zapalenie płuc. Tak, żeby było „jak najszybciej”, bo wszystkim się śpieszy – oczywiście z klientem na czele. Wiele informacji się gubi, wiele informacji jest niejasnych, wiele informacji przechodzi przez głuchy telefon. Nawet cele klienta gdzieś się w tym wszystkim zatraciły.

Nie wiadomo już, co właściwie zostało obiecane, powiedziane i zapisane. Nie wiadomo, co zostało zrobione. Developerzy próbują zrobić wszystko na raz. Wierzą, że akurat dzisiaj jakimś cudem uda się ominąć wszystkie przeszkody, nadrobić zaległości i domknąć sprawy bieżące. Jednak projekt żyje i codziennie pojawiają się nowe taski.

Drugi problem to luki w personelu. To ciekawszy temat. Firmy często zjada ich sukces. Rośnie ilość zamówień, ilość pracy. Właściciel często pracuje w swojej firmie na trzech etatach równocześnie. Szuka na szybko developerów, bo temat jest pilny. Firma, w której wszyscy wiedzieli, co mają robić, zaczyna się rozrastać. Nie ma jednej osoby, która zna wszystkie odpowiedzi, panuje nad strukturą i procesami.

Project Manager

Pracownicy powtarzają sobie, że przecież „wiemy, jak pracować”. Starzy członkowie zespołu spodziewają się, że nowi też magicznie nabędą tę wiedzę. Powoli wkrada się chaos. Właściciel? Nie ma czasu, jest zabiegany – od konferencji do spotkania, od szkolenia do webinaru. Nam formułuje się dość proste pytanie w głowie: czy to, aby nie moment na dobrego Project Managera?

W firmie Mirka nie brakowało Project Managera. W firmie Mirka pracował Rafał. A według Rafała wszystko było super. Wszystko szło dobrze i nie ma się, czym przejmować. Ludzie są zadowoleni, można pograć na konsoli, a jak sytuacja robi się napięta, to wystarczy zamówić pizzę, kupić piwo i posiedzieć dwie nocki z rzędu. Przecież już praktycznie oddali software.

A te ciągłe zwrotki? – pytamy z pewną dozą wahania. 

To przecież wina klienta. Sam nie wie, czego chce. Nasi programiści robią wszystko dobrze. Tylko wymagania są dostarczane na ostatnią chwilę. Także my po prostu nie mamy, jak pracować. Musimy z tym klientem przecierpieć, przeboleć jego fanaberie. Z następnym będzie zupełnie inaczej. Ale jestem pewien, że jak tylko oddamy projekt, to będziemy mieli więcej czasu. Wtedy wszystko naprawimy, poukładamy.

Czy wam też brzmi to dziwnie? No cóż, Mirek w to wierzył, bo przecież znał Rafała od dawna. Razem kodowali w piwnicy, razem przechodzili pierwszego Wiedźmina i razem też skończą ostatniego. Na Rafale zawsze można było polegać. Problem pojawił się, kiedy firma niezauważalnie się rozrosła, a właściciel zapomniał, że zarządzanie zespołami i klientami wymaga nowych kompetencji.

Jakie podjęliśmy kroki?

Co mogliśmy zrobić? Wdrożyliśmy błyskawicznie testera, który miał za zadanie odciążyć Rafała i developerów. Zaczął od testowania, ale wiedzieliśmy, że kluczowa będzie pomoc w komunikacji z klientem. Dostałem informację, że Mirek rzadko bywa w firmie. Rafał też. To kto tam właściwie bywa? Odpowiedź przyszła sama: Developerzy.

Jak Developerzy traktują naszego testera? Z nieufnością. Pewnie dlatego, że pozorna gonitwa za terminami to tylko część prawdy. Przy takiej ilości zadań, które nie mają nadanych priorytetów oraz ciągłym poczuciu „porażki”, ludziom najzwyczajniej w świecie się nie chce. Nie widzą w tym sensu.

Rafał nie zajmuje się projektem, bo wszystko jest winą klienta. Developerzy nie wiedzą do końca co mają robić. Nasz tester uzyskuje szczątkowe informacje od zespołu, rozmawia ze sfrustrowanym klientem i zaczyna testy. Mówiąc wprost: zgłasza błędy. Dużo błędów. Dopytuje się o ich naprawienie, o releasy.

Trafia na gęstniejącą wokół ciszę. Dlaczego? Developerzy stworzyli swój własny czat. Żeby nikt im nie przeszkadzał… To taki czat bez testera i PMa. Wiecie: ŻEBY IM NIKT NIE PRZESZKADZAŁ.

Czas na procesy i szkoleni

Na podstawie analiz i pierwszego miesiąca pracy stworzyliśmy procesy. Tak, aby każdy wiedział, jak pracować. Procesy, których nikt nie przestrzega. Rafała to nie interesuje.

Wiem Habib, że to wasze sposoby, ale my tu sobie radziliśmy. I generalnie mamy fajny system, tylko teraz trochę nas przygniotło robotą. – powtarza to jak mantrę, wierząc, że następnym razem się coś zmieni.

Matryca komunikacji została przyjęta równie chłodno. Przecież ludzie wiedzą, kogo pytać.

No przecież zawsze mogą zapytać mnie – proste rozwiązanie Rafała, które nie wytrzymuje zderzenia z rzeczywistością, bo zapomniał, że w firmie bywa od święta.

Przeprowadziliśmy szkolenie z metodyk agile’owych. Przedstawiliśmy je jako koncept, który nie został wymyślony nagle, przez nas, tylko wyrósł na podstawie obserwacji udanych projektów, specyfiki branży i tego, jak działa ludzki mózg. Staramy się, aby ludzie zrozumieli, po co właściwie są codzienne spotkania albo czemu służy planowanie zadań. Staramy się pokazać realne korzyści, które wynikają z wyboru konkretnego, spójnego sposobu pracy.

Czy zdziwiło mnie kiedy po trzech miesiącach przyszedł do mnie zakłopotany Rafał, chcąc wstrzymać współpracę? Wtedy tak. Myślałem, że nie rozumie, w jakiej są sytuacji. Że nasze odejście w tym momencie pogorszy sprawę.

Mamy inne priorytety, rozumiesz. Musimy skupić się teraz na kliencie.

Niestety o wiele łatwiej zauważyć pewne rzeczy z perspektywy czasu. W tamtym momencie poczułem się zaniepokojony. Pogadałem chwilę z Rafałem i na koniec zapytałem go tylko o jedno: o bałagan w kuchni.

Wiesz, przez tego klienta to chyba nawet sprzątać nie mamy czasu.

Nie chciałem pytać, czy ostatnia susza w Australii to też wina tego klienta. Straszny człowiek, ten Klient.

Problemy się piętrzą

Kiedy Mirek zajmował się promocją firmy, zdobywaniem nowych kontraktów i przygotowaniem projektów. Polegał w pełni na Rafale. Rafał natomiast polegał na sobie. Problem pojawił się wtedy, kiedy Mirka nie było w firmie, bo wtedy w firmie nie pojawiał się też Rafał. Dopiero kiedy sytuacja robiła się gorąca, Mirek wkraczał z tajemną bronią – micro managementem.

Wory pod oczami, nieprzespane noce, wczorajsze ubranie – wygląda jak ktoś, kto dużo robi, prawda? No i ci klienci, którzy nie dają mu spać. Co ciekawe, miał czas na prowadzenie kursów. Jakich? Nie zdążyłem dopytać. Z pewnością były ważniejsze niż firma.

Nowe porządki

Mirek musimy porozmawiać.

Ciężko przekonać człowieka, żeby zwolnił swojego przyjaciela. Do tego kilku developerów. To niełatwe decyzje. Przed nami kilka spotkań. Kilka długich godzin, podczas których to Mirek musi sobie sam odpowiedzieć na pytanie, czego oczekuje od siebie i od swojej firmy. Decyzja zostaje podjęta. Wspólnie zatrudniamy nowego PMa. Mirek zaczyna częściej bywać w pracy.

Zdecydowaliśmy się, że spróbujemy uporządkować procesy mieszanką Scrum’a i Kanban’a. Dlatego zatrudniamy też Agile Coacha. Kłopotliwy projekt zostaje oddany na zewnątrz. To duży i ważny klient. Wiem, że Mirek robi to z ciężkim sercem. Ale wtedy naprawdę czuję, że nie chodzi mu tylko o kasę, że ta firma to jego życie.

Wprowadzamy drugiego testera. Kilka szkoleń z procesów, wdrożenie nowego PMa i powoli praca zaczyna sprawiać wszystkim przyjemność. Jeden z naszych partnerów z Australii potrzebował wsparcia z developementem, szukał SH, któremu może powierzyć część produkcji. Zaufałem Mirkowi na tyle, że oferuję mu ten kontrakt.

Na żywym organizmie obserwujemy różnicę. Zmiany przynoszą efekt. Wracamy do etapu zgranego zespołu, który był w tej firmie na samym początku. Tylko tym razem wiemy, jak go rozszerzyć i utrzymać. Po miesiącu jest już naprawdę nieźle. Mirek poprosił, aby nasi testerzy zostali. W kuchni jakby czyściej… Czy to koniec? Oczywiście, że nie.

Na czym polega praca z Testspringiem?

Specjaliści z Testspringa dokonają audytowej analizy procesów w Twojej firmie. Jasno sformułujemy rekomendacje i będziemy starali się je wdrożyć. To od Twojej firmy i od Ciebie zależy, w jaki sposób wykorzystasz tę pomoc. Nie zawsze się udaje, a przyczyn niepowodzeń jest tak samo dużo jak ludzi w projekcie: brak wiary w sensowność zmian, źli doradcy, strach, kończące się środki.

Bywa i tak, że jest to mityczny smok, który zalęgnie się w kuchni i powoli sprawi, że Twoja firma zacznie przypominać upiorne miasteczko z sennych koszmarów autora tego artykułu.

Myślę, że zbyt często popadamy w rutynę, że zabijają nas bieżące problemy. Zapominamy, o co tak naprawdę chodziło w naszym przedsięwzięciu. Kawałek po kawałku godzimy się na ustępstwa, idziemy na skróty i odkładamy rzeczy na potem, każdego dnia odrobinę odpuszczając sobie i innym.

Niestety to zawsze kończy się pośrodku chaosu, kiedy jest już za późno na drobne zmiany. Zasady, które stosujemy w Testspring, aby zapewniać jakość oprogramowania, można z powodzeniem wdrożyć w każdym przedsiębiorstwie i przedsięwzięciu. Dlaczego? 

Bo jakość zaczyna się od zrozumienia tego, co naprawdę robimy i opiera się na próbie ciągłego polepszania efektywności. Próbie robienia tego bardziej efektywnie.

Sprawdź ofertę Testspring i zoptymalizuj procesy w swojej firmie!


Artykuł sponsorowany

Podziel się

Zostaw komentarz

Najnowsze

Powered by: unstudio.pl