Opinia

Czy metodologie pomagają technologii? - część 1

14 czerwca 2020


Nim zacząłem pracę jako tester nie przypuszczałem nawet, że w swym zawodzie częściej niż z samymi technologiami będę musiał mierzyć się ze złowieszczym słowem metodologia. 

Metodyka, procedura, taktyka, tryb - jak zwał, tak zwał. To magiczne słowo będące kombinacją takich pojęć jak praktyka, sposób współpracy czy metoda wytwarzania stało się w ostatnich latach złotym i uniwersalnym kluczem do wszystkich biznesowych spotkań i dyskusji.

Dla osób spoza branży świat technologicznych korporacji może wydawać się względnie kolorowy. Spędzasz całe dnie otoczony nowoczesnymi rozwiązaniami, analizujesz najnowsze trendy, pracujesz w interesującym środowisku i masz styczność z technologią jutra. Jesteś trybikiem w niezwykłym świecie zaawansowanych rozwiązań, w których każdego dnia jesteś naoczynym świadkiem i uczestnikiem narodzin nowości.

Tego typu wyświechtany wizerunek byłby może i prawdą gdyby nie to, że w XXI wieku większy nacisk niż na stosowaną technologię kładzie się na to w jaki sposób będzie ona wytwarzana.


PO CO NAM METODOLOGIA?

Przecież skoro wytwarzamy oprogramowanie szyte na miarę, oprogramowanie wykorzystujące nowoczesne technologie to i wymagamy od nas równie nowoczesnego i zwinnego podejścia.Ma być zatem szybko, efektywnie i bezbłędnie. Ma być sprawnie, wydajnie i widowiskowo, aby można było często chwalić się wynikami. Świat się spłaszczył, wzrósł dynamizm, a my zostaliśmy w objęciach klienta, który zawsze wie czego chce, nie zawsze wie, czego potrzebuje, a często nie zdaje sobie sprawy z konsekwencji swoich oczekiwań.

Tym oto sposobem zrodził się świat wypełniony metodykami. Świat tajemniczych akronimów, koszmarnych nazw, bzdurnych zachowań, wydumanych certyfikacji, nic nie znaczących rytuałów. Świat pustych wojenek, samozwańczych ewangelistów, nawiedzonych myślicieli i coachów, którzy szerzą radosną nowinę. Świat ulotnych artefaktów, namaszczonych ról, niejasnych tytułów i zmiennych procesów. Świat, w którym bezustannie przepakowuje się i sprzedaje metody na radzenie sobie ze starymi problemami, z którymi nadal musimy się mierzyć. Nowy, lepszy świat, w którym odnaleźć się muszą pracownicy.

Widzisz… jeśli nigdy nie miałeś do czynienia z tym światem możesz być zdziwiony moim negatywnym nastawieniem. Przecież metodyki to coś dobrego. Reguły czynią nasze życie prostszym, prawda?

 Nie w tym przypadku.

 W sieci można znaleźć interesujące opinie - pod doskonałym wpisem Why Agile And Especially SCRUM are terrible komentujące dzisiejsze trendy:

W dawnych czasach zadania do wykonania były określane przez programistę, który rozpoczął programowanie, zespół programistów otrzymał pełną i kompletną specyfikację, a programiści mogli pomyśleć o najlepszym sposobie wdrożenia wymaganych funkcji. Te dni się skończyły, programowanie przerodziło się w pracę na linii montażowej do pisania małp, napędzaną przez ciągle zmieniających zdanie PM-ów i zawsze nie do końca pewnych klientów. Nadzieje sprzedaje się łatwo ubierając metodyki w kolorowe ciuszki i hasła “nowy, lepszy sposób na rozwiązanie twoich problemów”.

Ktoś inny dodaje:

W nowym, lepszym świecie otoczeni jesteśmy środkami zapewniającymi „ludziom, którzy absolutnie nie mają pojęcia o technologii” kontrolę nad inżynierami i architektami, którzy rozumieją technologię. Przynoszą oni ze sobą nowe trendy, które sprawiają, że praca staje się wyjątkowo nie atrakcyjna, szczególnie dla osób kreatywnych.

Co poparte zostaje stwierdzeniem:

Powszechnie wiadomo, że kreatywność znika w momencie gdy trzeba się tłumaczyć z tego co się robi. Tymczasem nowy, lepszy świat wymaga od nas jednostronnej przejrzystości. Wglądu w to co robimy i jak to robimy. Zamiast pracować nad rzeczywistymi, długoterminowymi projektami, którymi moglibyśmy się podekscytować, trzeba pracować nad rozproszonymi historyjkami na poziomie funkcji. Wszystko rzucamy by realizować natychmiastowe potrzeby biznesowe, a pojęcie własności i utożsamianie siebie jako część większego projektu znika na rzecz łatwo wymienialnego komponentu jakim jest człowiek, którego da się w każdej chwili zastąpić. Bo widzisz, nowy, lepszy świat wprowadził coś co nazwał “sprintami”. Odgórnie przyjęte mikroskopijne wycinki czasu, w których mamy dołożyć wszelkich starań by dostarczyć kolejny, równie mizerny wsad do projektu. W biznesie wielu “specjalistów” uważa, że jest to dobra rzecz, która sprawi, że ludzie będą „pracować szybciej”. W praktyce działa to zgoła odwrotnie.

I tak oto nowy, lepszy świat przynosi nam takie rozwiązania jak choćby, urastający do boskiego stopnia, SCRUM - czyli zwinną metodykę, w której co dwa tygodnie dostarczamy klientowi inkrement produktowy. Codziennie stawiamy się na stand-upie, mówiąc kim jesteśmy i dokąd zmierzamy, meldujemy plan na najbliższy dzień i pracujemy pilnie nad marzeniami klienta zwanymi potocznie historyjkami. Często rodzą się one bez ładu, składu i logiki, a naszym zadaniem jest tłumaczenie ich na język zrozumiały dla technologii.


METODOLOGIA NICZYM RELIGIA

A wszystko to przy regularnym powtarzaniu sobie niczym mantra czterech boskich praw:

  • ludzie i interakcja ponad procesy i narzędzia
  • działające oprogramowanie ponad obszerną dokumentację
  • współpraca z klientem ponad formalne ustalenia
  • reagowanie na zmiany ponad podążanie za planem

Gdybyśmy jednak zbłądzili z naszą “religią” uznając, że nie podoba nam się praca w ten sposób zawsze możemy rozważyć tzw. FAST, w którym będziemy mogli “ochrzcić” się mianem “członka plemienia”. 

FAST to akronim od Fluid (płynnego formowania i reformowania plemienia), Agile (zwinnego podchodzenia do problemów), Scaling (skalowania i koordynowania prac wśród ludzi, zespołów i plemion) i Technology (technologii dostępnej dla każdego).

Niedalko tu do Disciplined Agile czyli metodzie, która daje wskazówki i narzędzia opierające się na światłych siedmiu zasadach: 

  • zachwycaj klientów, 
  • bądź niesamowity, 
  • pragmatyzm, 
  • liczy się kontekst, 
  • wybór jest dobry, 
  • optymalizuj przepływ i bądź świadom przedsiębiorstwa.

Bo przecież koniecznie ktoś musi nam przypominać o tych odkrywczych zasadach.

Metodyki stały się tak ekstremalnie popularne. Każdy chce mieć własną, unikalną, a do tego taką którą mógłby sprzedawać za ciężkie pieniądze wliczając w to licencję obejmującą oświecające szkolenia.

Ktoś jeszcze pamięta lub praktykuje takie twory jak SLIM (Scrum Lean In Motion framework) , Nexusa , LeSS , Scrum at Scale czy choćby Scaled Agile Framework (SAFe). Pytam nie z przekory tylko autentycznej troski gdyż do niedawna to jeszcze RUP (Rational Unified Process) był takim Opus Magnum, a w obecnej kondycji rynku nie jestem w stanie wskazać zwycięzcy.

Ja wiem...nie od dziś wiadomo, że wyrywając z kontekstu pojedyncze sformułowania i frazy można ztrywializować, obrazić, ośmieszyć i wykpić wszystko. I tak to może teraz zabrzmieć.

 Z drugiej strony samemu dostrzegam zmęczenie idealizacją metodyk jako środka, który sprawi, że produkcja oprogramowania i technologii stanie się perfekcyjna.


METODOLOGIA TO CHAOS?

Okazuje się jednak, że nie jestem w tym zwątpieniu samotny. Tyle, że o ile ja staram się zadać pytania dotyczące tego zagadnienia tak niektórzy potrafią być ekstremalnie bipolarni w swoich wyrokach.

Są tacy, którzy piszą delikatnie:

Od połowy lat 70. jestem obserwatorem metodologii i wydaje mi się, że niewiele się zmienia w tym temacie. Faktem jest, że ludzie zwykle nie chcą płacić od nowa za pisanie tego samego oprogramowania na tej samej platformie w ten sam sposób. (...) Inny problem wynika stąd, że dopóki istnieje pietyzm wytwarzania wszystkie metody ignorujące artystów zawiodą. To tak proste. Wystarczy jeden wielki artysta, aby wykonać jedno nagranie, które sprzeda milion kopii. Niezbyt dobry artysta przybywa do studia i za kilka godzin jest skończony. Frank Sinatra zwykł wdzwaniać się w nagrania. Najmniejsi artyści zajadą się na śmierć. Impulsem do metodologii jest to, że ludzie, którzy płacą za rozwój oprogramowania, chcieliby mieć pewną przewidywalność. Nie są to ludzie, którzy lubią być informowani na początku projektu, że potrwa to sześć miesięcy, a skończy się na sześciu latach. Po pewnym czasie nienawidzą takich projektów i któż może ich za to winić. Gdyby ci ludzie mieli możliwość to wszystko co byłoby związane z tworzeniem nowego oprogramowania polegałoby na mówieniu maszynie co chcesz i wyskoczyłoby gotowe oprogramowanie. Mieliby gdzieś, że kosztowałoby to fortunę gdyby było przewidywalne i mogli to rzetelnie zaplanować i zabudżetować. Kierownictwo byłoby wniebowzięte. Kolejną rzeczą, która wydaje się wpływać na metodologię, jest ciągły i szybki rozwój branży. Rynek uległ pogorszeniu - mamy siłę roboczą z dużą liczbą pracowników o ograniczonym doświadczeniu i umiejętnościach. Metodologie to takie trudne do przełknięcia lekarstwo. Szkoda tylko, że nie na chorobę, na którą umierasz. Bo widzisz...to podejście działa świetnie np. w fabryce, gdyż gwarantuje, że przy średnio przyzwoitym procesie i metodologii, po 1000 jednostce, którą spuścisz z taśmy będziesz w tym całkiem niezły. Świat IT jest jednak niepojętym cudakiem. Masz szczęście jeśli chociaż dwa razy z rzędu uda się wykonać podstawowy projekt na tym samym poziomie.

Są tacy, którzy piszą dosadnie:

 Zawsze myślałem, że współczesne metodyki bliższe są stalinizmowi niż czemukolwiek innemu. Tu masz 5-letni plan, a tu 2-tygodniowe sprinty i żadne z nich nie produkuje nic wartościowego, pomimo tego, co mówi kierownictwo. Chciałeś pralkę? Nie ma problemu, oto ciągnik, który nie działa zbyt dobrze. (...) Podobnie jak w totalitarnym państwie stalinowskim nie kwestionuj ortodoksji i zawsze pamiętaj:

  • każda chwalona metodologia zawsze musi mieć manifest
  • ktokolwiek krytykuje metodologię, musi być zawistny lub nie ma pojęcia co mówi
  • próba obalenia metodologii oznacza bycie dysydentem
  • jednostka jest niczym, kolektyw jest wszystkim
  • nie ma miejsca na indywidualne myślenie ani wybitne jednostki
  • idea samoorganizującego się zespołu jest i zawsze była iluzją
  • zawsze trwa przy nas komisarz zapewniający, że metodologia jest prawidłowo wdrożona i wykonana
  • pracuj zgodnie z planami krótkoterminowymi nie myśląc dalej
  • ważnym czynnikiem są stałe, powtarzalne procedury
  • każdy powinien być odpowiedzialny za wszystko (co oznacza, że ​​nikt nie jest odpowiedzialny za nic)

Są też i tacy, którzy spoglądają na temat oczami biznesu twierdząc, że osoby krytkujące bredzą bo widzą jedynie wycinek rzeczywistości. 

Jak zawsze nie mogę przestać myśleć, że blogerzy lubią publikować prowokujące nagłówki, które wydają się być przeciwko Agile lub Scrumowi, ale potem wyjaśniają problemy z praktykami anty-Agile, przed którymi ostrzegałby każdy praktykujący Agile.  (...) Ja i wszyscy, których znam, robimy więcej w wyznaczonym terminie, a Scrum, gdy jest dobrze wykonany, zapewnia zrównoważony, bezstresowy sposób na zrobienie tego. Nadal uważam, że „Aby osiągnąć wspaniałe rzeczy, potrzebne są dwa elementy: plan i  za mało czasu ”, a Scrum jako jedyny  wykorzystuje istotę tego cytatu.

To, rzecz jasna, wywołuje kolejną falę dyskusji i oskarżeń: 

Czas, by w końcu umarła ta “kultura” niskiej autonomii i agresywnego zarządzania. To nie są już tylko złe pomysły. To ekstremalnie niebezpieczne pomysły, ponieważ wychowują pokolenie inżynierów, którzy pochłaniają te idee nie znając niczego lepszego. Zbyt wielu młodych programistów i testerów skazanych jest na przeciętność z powodu tego, że „historie użytkowników” są tym co zawsze robili. Zaprzestańmy tego bo od tego może polegać przyszła uczciwość naszej branży. “Zwinność” to zbiór bzdur, które nie mają nic wspólnego z programowaniem i na pewno nie mają nic wspólnego z informatyką. To ślepy zaułek. Należy go wrzucić z powrotem do błota, z którego pochodzi.

Dalsza dyskusja to swoisty ping-pong, w którym każda ze stron wie lepiej co jest dobre, a co złe mimo, że żaden uczestnik tej dyskusji nie przekona do swej racji swego rozmówcy.


KTO MA RACJĘ?

Mimo wszystko uważam, że ta prowokacyjna dyskusja jest istotna i potrzebna.

Szczególnie gdy rozpatrzymy ją z innej perspektywy - procent zakończonych sukcesem projektów.

Ale o tym porozmawiamy sobie w drugiej części :)


  • linkedin
  • twitter
  • facebook

Podziel się

Dołącz do dyskusji