Metodyka jako zasób. Inżynieria oprogramowania i Open Practice Library

Metodyka jako zasób. Inżynieria oprogramowania i Open Practice Library20.12.2019 13:49
Metodyka jako zasób. Open Practice Library (fot. Kamil Dudek)

Kontynuujemy nasze poszukiwania w dziedzinie procesów i metodyk wytwarzania oprogramowania. Wzrost prędkości produkcji software'u oraz popularność tzw. podejścia zwinnego (agile) poskutkowały zalewem wielu przeróżnych wariantów oryginalnego pomysłu spisanego w Manifeście Agile. Oczywiście, zachodzi tu zjawisko podobne, jak w przypadku książek o zarządzaniu – gdyby znano uniwersalną metodę wydajnego zarządzania, nie napisano by na jego temat aż tylu książek.

Jednakże, ciężkie regały podręczników menedżerskich nie są dowodem na to, że nikt nie wie jak zarządzać. Po prostu specyfika każdego miejsca pracy i projektu bywa drastycznie odmienna od reszty, co wymusza ciągłą adaptację metodyki. Nie wszędzie sprawdzi się ten sam kanban lub scaled agile (SAFe), nie wszędzie będzie obowiązywać taka sama definicja pracy poprawnie wykonanej (Definition od Done, DoD). Stąd też poznawanie nowych metodyk pracy jest korzystne i wartościowe, zdecydowanie zaprzeczając poglądowi, że inżynieria oprogramowania jest "pseudonauką".

Baza wiedzy

Nie jest to nowy pomysł, ale zbiór wypracowanych praktyk coraz częściej jest traktowany jako zasób, na równi z innymi. Tworzy to firmową bazę wiedzy. Naturalnym, acz nieco mniej oczywistym następstwem tego podejścia w świecie agile jest zarządzanie praktykami w sposób zbliżony do kodu. Zamiast opasłych, drogich podręczników otrzymujemy w ten sposób repozytorium praktyk, podobnie jak otwarty kod źródłowy jest dostępny na publicznych repozytoriach typu GitHub.

Zbiór praktyk OPL (fot. Open Practice Library)
Zbiór praktyk OPL (fot. Open Practice Library)

Publiczna dostępność praktyk jako zasobu sprzyja współpracy i wymianie doświadczeń. Celem podtrzymania ducha open source w inicjatywie otwartych praktyk stworzono platformę Open Practice Library, gdzie możliwa jest wymiana i prezentacja wypracowanych praktyk. Podstawową różnicą między klasycznym tworzeniem bazy "firmowych tajemnic", a publikacją praktyk jest świadomość, że istnieje pokaźna część wiedzy, której opublikowanie nie tylko nie zagrozi pozycji firmy i nie wyprodukuje konkurencji, ale wręcz okaże się branżowo korzystne. W świecie ustawicznych braków kadrowych, wpływa to dodanio na wiedzę i kształtuje wartościowe postawy u programistów. Nie wspominając o korzyściach wizerunkowych, przedstawiających firmę jako kontrybutora, a nie kolejny zwykły biznes.

Właśnie o takiej polityce miałem okazję porozmawiać z pracownikami Red Hata podczas mojej wizyty w londyńskim Open Innovation Labs. Nacisk na myślenie open source, rozumiane nie tylko jako publikowanie kodu źródłowego i szum marketingowy, ale faktycznie cała kultura, pozwalająca się dzielić tym, co często jest trzymane pod kluczem zupełnie bez powodu. Red Hat wypracował wiele własnych praktyk i opowiada o nich z dumą. Duża część z nich jest ściśle zorientowana na dzielenie się wiedzą. Nie tylko z innymi firmami, ale także wewnątrz samej organizacji.

Red Hat Open Innovation Labs (fot. Kamil Dudek)
Red Hat Open Innovation Labs (fot. Kamil Dudek)

Wiedzą trzeba się dzielić

Doskonałym przykładem niech będzie, wyśledzony przeze mnie w kącie, kapelusz czarodzieja. Osoba w projekcie, która rozwiąże jakieś nietypowe zagadnienie lub okaże się posiadać wiedzę tajemną niedostępną nikomu innemu (tzw. wysoki bus factor), powinna nosić wspomniany kapelusz aż do momentu, w którym zostanie opracowana metoda podzielenia się wiedzą. Pokazuje to, że tworzenie skomplikowanych, dużych i trudnych rozwiązań nie jest powodem do dumy. Prawidłowym podejściem jest bowiem dbałość o ciągłe zdobywanie wiedzy. Nie tylko przez siebie, ale i przez otoczenie

Biblioteka otwartych praktyk zawiera dziesiątki udokumentowanych metodyk, podzielonych wg. podstawowego rozdziału Mobius: odkrywania, dostarczania oraz możliwości. Zawarte w bibliotece dokumenty dotyczą naprawdę różnych kwestii. Niektóre z nich są związane z poznawaniem klienta i wypracowywaniem metod współpracy (Empathy Mapping).

(fot. Mobius)
(fot. Mobius)

Inne są związane z tematyką o wiele bardziej pomiarową, jak Priority Sliders, pozwalające implementować priorytety w zadaniach. Nie brakuje również praktyk pozornie mniej innowacyjnych, dostarczających sposoby na optymalizację już stosowanych elementów procesu zwinnego, jak udoskonalanie backlogu (Backlog Refinement).

Dużo praktyk dotyczy zagadnień devopsowych, jak polityka wdrożeń. Nie wszystkie są możliwe do zastosowania w każdym miejscu. Blue Green Deployments jest niezwykle interesującym podejściem, ale nie każdy projekt pozwala na tyle swobody. Niewątpliwie jednak opisana tam metodyka jest poparta czyimś sukcesem. Warto więc okresowo odświeżać swoją wiedzę na temat cudzych rozwiązań devopsowych, niekoniecznie po to, by od razu zacząć je stosować, ale by skonfrontować swoje przyzwyczajenia z cudzą wyobraźnią.

(fot. Open Practice Library)
(fot. Open Practice Library)

Zwinna dydaktyka

OPL dostarcza także bogaty zbiór materiałów dydaktycznych. Talia kart biblioteki praktyk w przyswajalny sposób pozwala zapoznać się z nowoczesną terminologią inżynierii oprogramowania. Talię można wykorzystywać podczas procesu planowania, powoływać się na zawarte w niej terminy (lub szukać ich przykładów w swojej pracy). Osoby mniej wdrożone w proces zwinny lub uczące się, mogą skorzystać z kodu QR prowadzącego w przypadku każdej definicji do rzetelnego omówienia z przykładami.

Zaletą podziału na karty jest to, że nie trzeba koniecznie implementować wszystkich pojęć z talii. Metodyki zwinne często bywają wprowadzane wskutek panującej mody, na zasadzie "inni tak robią, to my też tak róbmy". Karty pozwalają używać owych terminów jako argumentów, przyspieszających dyskusję i poszerzających wiedzę.

OPL Card Deck (fot. Kamil Dudek)
OPL Card Deck (fot. Kamil Dudek)

Karty można wypróbować samodzielnie, są dostępne na GitHubie. Oczywiście nie każdy jest podatny na współpracę z rekwizytami. Niemniej owa talia nie jest kolejnym zabawnym gadżetem, o dyskusyjnej przydatności i własnościach alergizujących względem programistów spod szyldu "no fun allowed", twierdzących że radość w pracy jest oznaką braku profesjonalizmu. Rozważam wykorzystanie jej w procesach inżynieryjnych, w których sam biorę udział.

Otwarta kultura pracy oparta nie tylko o kod, ale i o praktyki, będzie coraz popularniejsza. Wiele zwyczajowych, biznesowych granic w IT istnieje dziś bowiem zupełnie bez powodu. Często wynikają one z inercyjnego podejścia, które chroni wszystkie firmowe zasoby, zakładając że każdy wypracowany komponent "zarabia pieniądze". Istotnie tak właśnie jest, ale wysnuwany z tego wniosek, że owymi zasobami nie da się dzielić bez dotkliwej straty jest coraz bardziej błędny.

Z wizytą w Red Hacie (fot. Dave Wedderburn)
Z wizytą w Red Hacie (fot. Dave Wedderburn)

Red Hatowi dość mocno zależy na przebiciu się z niniejszym przekazem. Nie wszyscy im bowiem wierzą. Fala zwątpienia przybrała tym bardziej po przejęciu firmy przez IBM, kojarzący się wielu z fortecą skostniałych, enterprise'owych rozwiązań, pilnie strzeżonych przez uzbrojonych prawników. Tego typu opinie wydają się być już dziś przesadzone, a sam Red Hat wciąż dość mocno forsuje ideę otwartości, nie tracąc na tym.

Istotnie, w tematyce inżynierii oprogramowania mamy do czynienia z ogromem rozwiązań. Wydaje się, że rozwiązań jest więcej niż problemów, a pewna ich część od czasu do czasu eksploduje (niekoniecznie zasłużenie) jako nowy, "obowiązkowy" trend w organizacji pracy. Biblioteka Open Practice Library może pomóc w wypracowaniu racjonalnych metod rozwoju, acz nie oferuje gotowych przepisów na wszystko. Każdym procesem, źle dobranym lub źle wdrożonym, można sobie zrobić krzywdę.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.