6 grudnia 2018

Tragedia Rzemiosła


Wydajesz się zamyślony.
Tak. Właśnie przeczytałem transkrypcję prezentacji Martina Fowlera otwierającą konferencję Agile Australia 2018. Nazwał to "Stan Agile w 2018".
Aaa, tak, wspaniała prezentacja.
  • Strzeż się Złożoności Agile-Branżowej
  • Dbaj o Techniczną Doskonałość
  • Produkty ponad Projektami
    Fantastyczne treści! No więc, co Cię martwi?

Poniższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina ze strony :


Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta.


W tej prezentacji powiedział, że uformowanie się ruchu Software Craftsmanship (Rzemiosła Programistycznego) było tragedią.
Tak. Ma rację.
Ma? Jak to? Myślałem, że Software Craftsmanship było dobrą rzeczą.
O tak, jest. To bardzo dobra rzecz.
No to o co chodzi?
Tragedią jest, że ruch Agile miał promować wartości Rzemiosła; i poniósł porażkę. Sromotną.
Nie rozumiem.
Ruch Agile tak bardzo zaangażował się w promowanie konferencji i certyfikowanie Scrum Masterów i Menedżerów Projektu, że porzucił programistów i porzucił wartości i dyscypliny Rzemiosła.
Ale myślałem, że to programiści zapoczątkowali ruch Agile.
Tak. Tak było. To jest największa ironia. To programiści rozpoczęli ruch Agile mówiąc: "Hej popatrz! Zespoły się liczą. Kod powinien być czysty. Chcemy współpracować z klientem. I chcemy wdrażać wcześnie i często."
Ruch Agile rozpoczęli programiści i profesjonaliści od oprogramowania, którym drogie były ideały Rzemiosła. Ale wtedy wpadli menedżerowie i powiedzieli: "Łaaał! Agile jest nowym sposobem, w jaki możemy zarządzać projektami."
Jest taka stara piosenka napisana przez Alana Shermana, nazywa się "J.C. Cohen". Opowiada o zawiadowcy kolejki metra, który pracował przy upychaniu ludzi do wagonów. Robił to tak dobrze, że wypchnął maszynistę z pociągu. To samo się stało z ruchem Agile. Wepchnęli tak wiele menedżerów, wypychając jednocześnie programistów.
To nie jest dokładnie tak, jak Martin Fowler to opisał. Powiedział, że ruch Craftsmanship powstał, bo grupa programistów powiedziała: "Ooo, potrzebujemy stworzyć całkiem nowy świat dla nas samych [...] gdzie możemy pójść, odejść od tych wszystkich ekspertów biznesowych, menedżerów projektów i analityków biznesowych, żeby móc w spokoju pogadać o sprawach technicznych"
Oooo, nie. Martin odebrał to całkowicie błędnie. Wyraźnie widać z Manifestu Rzemiosła Oprogramowania, że celem Rzemiosła jest podążanie i rozwijanie przesłania Agile. Rzemiosło Oprogramowania to nie jest jakaś forma Technicznych Mokrych Fantazji Nocnych. Rzemiosło Oprogramowania jest po prostu kontynuacją oryginalnych celów Agile.
Rzemiosło to Agile, które ruch Agile porzucił.
Porzucił? Porzucił, żeby robić niby co?
Żeby promować konferencje, certyfikaty, i fajne nowe sposoby zarządzania projektami.
Co jest złego w certyfikatach?
Ujmę to w ten sposób: Każdy, kto zaproponowałby dwudniowy kurs certyfikacyjny z Rzemiosła zostałby wyśmiany i wyrzucony z pokoju, wyśmiany i wyrzucony z miasta, wyśmiany i wyrzucony z kraju. Ten pomysł jest czystym absurdem.
OK, ale jak chcesz mieć ruch bez szumu, certyfikatów, sesji treningowych, konferencji? Czy nie potrzebujesz tych rzeczy, aby pozyskać uwagę ludzi?
Być może. Ale mam nadzieję, że ruch Rzemiosła nie porzuci swojego oryginalnego celu w sposób, w jaki Ruch Agile to zrobił.
Co to za cel?
Oryginalny cel Agile. Widzisz, Rzemiosło nie jest o nowych rzeczach. Rzemiosło mówi o starych rzeczach. Jest o poprawnym działaniu, o dodawaniu wartości, robieniu dobrej roboty. Jest o współgraniu, o komunikacji, o współpracy. Jest o produktywności i reagowaniu na zmiany. Jest o profesjonalizmie i o etyce. Jest o celu, który Kent Beck ustalił dla Agile.
Co to był za cel?
Podczas konferencji Snowbird w 2001 roku, gdzie Manifest Agile był napisany, Kent Beck powiedział, że jednym z naszych celów jest zasypanie przepaści pomiędzy programistami i zarządzającymi.
Ruch Agile porzucił ten cel przekształcając Agile w biznes, który promuje "nowy-lepszy" sposób zarządzania. Zamiast zbliżać do siebie programistów i menedżerów, Ruch Agile skupił się niemal w całości na zarządzaniu projektem - praktycznie wykluczając programistów.
I dlatego programiści się odłączyli?
Nie! Programiści się nie odłączyli. Programiści zostali na starym kursie! Programiści kontynuowali oryginalnie zapoczątkowane dążenie Agile. Przeczytaj zdanie otwierające Manifest Agile: "My odkrywamy nowe metody programowania dzięki praktyce w programowaniu i wspieraniu w nim innych." My to znaczy Rzemieślnicy i Rzemieślniczki Oprogramowania, którzy kontynuują tę pracę. Nie menedżerowie projektów w ruchu Agile. Oni gonią za czymś innym.
Za czym więc oni gonią?
Za Nowością i Nowinkami. Dzisiaj ruch Agile jest o "Następnej Wielkiej Rzeczy" o "Całkowicie Nowej, Śmiałej Idei". Potrzebują nowości, żeby utrzymać poziom entuzjazmu i energii  bardzo wysoko. Potrzebują tego, aby ludzie zapisywali się na konferencje i certyfikaty. Chcą być postrzegani jako robiący - "postępy". Agile stał się biznesem; a biznes musi rosnąć.
Wydaje mi się, że osiągają sukces.
Osiągają. Nie osiągają jednak sukcesu w dziedzinie oryginalnych celów Agile. Porzucili te cele, aby zaspokajać potrzebę Nowości i Nowinek. Wynikiem jest, niestety, coś, co Fowler i Jeffries nazwali: "Błędnym Agile", "Mrocznym Scrumem", czy "Zwiotczałym SCRUMEM"
Ciężko mi w to uwierzyć.
Udowodnię Ci to. Co było pierwszym punktem prezentacji Fowlera - punkt o Złożoności Agile-Branżowej.
Powiedział coś, że ludzie najlepiej pracują, kiedy wybierają, w jaki sposób chcą pracować.
No właśnie. W zespole programistycznym, kto odwala najwięcej roboty?
Cóż, programiści oczywiście.
Jak dużo programistów było na sali podczas prezentacji Fowlera?
Cóż, użył słów "namiastka", "niewielu", "na pewno mniejszość".
C.n.d.. Kto chodzi na konferencje Agile? Na pewno nie programiści. Nie ludzie, którzy robią całą robotę. Programiści zapoczątkowali te konferencje. Programiści zapoczątkowali ruch. Programiści już tam nie chodzą. To nie programiści się zmienili. To konferencje, i co za tym idzie ruch się zmienił. Ruch Agile odszedł od programistów - odszedł od Agile. C.n.d..
Ale...
Zobacz. Agile nigdy nie było o zarządzaniu projektem; ale to jest to, w co to zamienili. Agile i zarządzanie projektem to całkowicie rozłączne rzeczy. Agile nie jest lepszym sposobem na zarządzanie projektem. Agile nie ma nic wspólnego z zarządzaniem projektem. Agile to zestaw wartości i dyscyplin, które pomagają relatywnie małym zespołom rzemieślników i rzemieślniczek oprogramowania tworzyć małe do średnich systemy.
Ale, czy to nie jest zarządzanie?
Nie! Na Boga Nie! Zarządzanie Projektem jest o datach, budżetach, deadlinach i kamieniach milowych. Jest o zarządzaniu personelem i motywacji. Dobre zarządzanie jest absolutnie potrzebne; ale nie ma nic wspólnego z Agile.
Tu masz. Spójrz na Manifest Agile. Przyuważ te cztery zdania i w jaki sposób są podzielone pomiędzy lewo i prawo. Co rozdziela od siebie te rzeczy po lewej i prawej stronie? Rzeczy po prawej stronie to zarządzanie. Rzeczy po lewej stronie to Agile. Menedżerowie odwołują się do procesów i narzędzi. Osoby w zespole Agile komunikują się ze sobą. Menedżerowie utrzymują wszechstronną dokumentację. Drużyny Agile budują działające oprogramowanie. Menedżerowie negocjują i ustalają kontrakty. Zespoły Agile współpracują z klientem. Menedżerowie upewniają się, że plany są wykonywane. Zespoły Agile reagują na zmiany.
No, ale czy Scrum Masterzy to niejako menedżerowie projektu?
O niebiosa, nie! Scrum Masterzy to doradcy, a nie menedżerowie. Ich rolą jest bronić wartości i dyscyplin. Ich rolą jest przypominać zespołowi, w jaki sposób przyrzekł sobie samemu pracować. Rola ta miała być dzielona pomiędzy zespół, a nie zawłaszczona przez menedżerów. Co kilka tygodni nowy członek zespołu mógłby, na ochotnika, pracować jako doradca - jeżeli byłaby taka potrzeba. Rola miała być tymczasowa. Dorosły zespół nie potrzebuje doradcy na pełny etat.
Łaaał, z całą pewnością teraz nie uczą tego w taki sposób. Czyli sądzisz, że to już koniec Agile.
Nie! Agile żyje, ma się dobrze i kwitnie w sposobie myślenia Rzemiosła. To tam Agile przeniosło się, kiedy menedżerowie projektu najechali i wzięli w niewolę ruch Agile.
No to czym naprawdę jest ruch Agile?
Dzisiaj, ruch Agile mógłby być nieoficjalną odnogą PMI. To jest biznes, który promuje konferencje, kursy i certyfikacje dla menedżerów projektu. A więc, jako takie, stało się przeciwieństwem do oryginalnego celu Beck'a. Ruch agile nie zasypuje przepaści pomiędzy programistami i menedżerami; on ją pogłębia.
Wydaje się, że chcesz powiedzieć, że ruch Agile nie jest Agile.
Nie jest. Stało się to już dawno. Dzisiaj ruch Agile jest o okropnie poronionym pomyśle mówiącym, że to zarządzanie projektem czyni zespół Agile.
Cóż, nie jest tak?
Nie, nie i jeszcze raz nie. Widzisz, zespół Agile to grupa rzemieślników i rzemieślniczek, którzy utrzymują wartości i dyscypliny drogie Agile. Zespół Agile będzie Agile, nie ważne w jaki sposób będzie zarządzany. Z drugiej strony zespół Agile nie stanie się Agile dzięki jakiejś nowej i fajnej strategii zarządzania projektem. Taki zespół będzie Błędnym Agile.
Czy chcesz powiedzieć, że dobry menedżer nie może poprowadzić zespołu, żeby był Agile?
To rzadko spotykany menedżer, który potrafi wpajać wartości i dyscypliny Rzemiosła. To nie jest niemożliwe; ale jest nieczęste. Zespoły Agile są najczęściej złożone z ludzi, którzy już podzielają wartości i dyscypliny Agile - wartości i dyscypliny Rzemiosła. Myślenie, że zespół może stać się Agile tylko dlatego, że Certyfikowany Scrum Master jest menedżerem projektu to marzenie ściętej głowy.
A więc, jaka będzie przyszłość?



Przyszłością będzie to, co było do tej pory zawsze. Wartości i dyscypliny Agile będą pomagały relatywnie małym zespołom programistycznym budować produkty od małych do średnich, i będą zasypywać przepaść dzielącą programistów i zarządzających. Dzisiaj, te wartości i dyscypliny są dochowywane przez ludzi, którzy, czy zdają sobie z tego sprawę czy nie, są związani z ideałami ruchu Software Craftsmanship.
Nie sądzę byśmy potrzebowali promowania ruchu Rzemiosła na poziomie organizacji. Nie sądzę, że potrzebujemy "Stowarzyszenia Rzemiosła". Myślę, że wszystko, czego potrzebujemy, jako ludzie dobrej woli - osoby, które wchodzą w interakcje i współpracują - to społeczność profesjonalistów, którzy pracują nad promowaniem zmian poprzez stałe dodawanie wartości. Myślę, ze idee Agile - idee Rzemiosła - są solidne na tyle, żeby rosnąć i rozprzestrzeniać się bez pomocy ze strony jakiejkolwiek organizacji.
A więc Rzemiosło Oprogramowania nie było tragedią?
Jak mogłyby ideały Rzemiosła kiedykolwiek być rozważane jako tragiczne? Są to odwieczne ideały, do których ludzie dążyli, odkąd stali się ludźmi. Tragedią było to, że ruch Agile stał się biznesem, który cisnął za siebie oryginalne wartości i dyscypliny Agile.


Powyższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina ze strony :


Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta.


Brak komentarzy:

Prześlij komentarz

Podstawy Programowania Funkcyjnego Epizod 3

Czy wszystkie Zasady Się Zmieniają? Kiedy tylko zaczynamy używać nowego paradygmatu , porównujemy z nim na...