Dług w produkcie — jak uzasadnić jego spłatę?2024-01-09Cześć! Nowy rok to nie tylko czas radości i nowych początków. Chociaż byśmy się najbardziej starali patrzeć na wszystko przez różowe okulary jako inżynierowie nie powinniśmy się skupiać jedynie na przyszłości. Te pierwsze dni to też czas, gdy zaczynamy patrzeć wstecz i widzieć cały dług, który, celowo bądź nie, zaciągnęliśmy w naszym produkcie. I nadchodzi ten czas, gdy trzeba zacząć go spłacać. Tak więc w dzisiejszym wydaniu newsletteru porozmawiamy o tym, jak uzasadnić spłatę takiego długu. Dodatkowo otrzymasz też krótkie wprowadzenie do kolejnej edycji szkolenia Tech Lead. Ale zanim, jak zwykle, przygotowałem również dla Ciebie 5 newsów z świata inżynierskiego. A więc w dzisiaj mam dla Ciebie: Miłego czytania 😀 Inżynierska prasówkaOto dzisiejsze ciekawostki:
Kwietniowe Szkolenie Tech LeadNowy rok, nowe plany. 😉 To też czas, w którym zapełniamy kalendarz projektami, inicjatywami i szkoleniami. Wychodząc temu trendowi naprzeciwko i ja zapowiadam kolejną edycję szkolenia Tech Lead. Dlaczego warto?
Plan szkolenia - 5 sesji po 4 godziny:
Ta edycja szkolenia będzie odbywała się dzień po dniu, od poniedziałku do piątku. Startujemy 8 kwietnia. 🚀 Dowiedz się więcej i zarezerwuj swoje miejsce tutaj ⬇️ https://radekmaziarka.pl/sklep/szkolenie-tech-lead-2024-04-08/ Do zobaczenia w kwietniu!😊 Jak uzasadnić spłatę długu w produkciePowiedzmy to sobie szczerze. Jeśli nasz produkt jest na produkcji, to najprawdopodobniej mamy w nim pewien dług. Tworzyć produktu, który długu nie ma, niestety po prostu się nie da. Naturalnie, pewne aspekty rozwijamy lepiej, a na innych skupiamy się mniej. A więc skończyliśmy mając dług, większy lub mniejszy. I co z tym zrobić? Ale nie tak szybko, na początku zastanówmy się, czy coś w ogóle. I czy w ogóle warto się przejmować Jaki dług warto spłacić?Bo nie każdy warto. Wyobraź sobie (albo zauważ ), że jesteś właścicielem mieszkania. Niezależnie, czy mówimy o penthouse czy kawalerce – zawsze znajdzie się takie pomieszczenie, czy obszar, nad którym nie skupiamy się tak bardzo. Jakaś spiżarnia, schowek, graciarnia. Brzmi znajomo? Rzeczy tam leżą i się kurzą, półki trochę skrzypią, światło lekko smuży. Ale działa. I jakoś nie czujesz potrzeby, by tę kanciapę modernizować. Dokładnie tak samo sprawy się mają z długiem w produkcie. Nie każdy jest na tyle wartościowy, by go spłacać. Czasem można z nim żyć, oswoić się albo nawet zaprzyjaźnić. Do oceny, czy nasz dług się do takich zalicza, może posłużyć kategoryzacja z artykułu Tech Debt Walls Pete’a Hodgsona: Kategoryzujemy dług ze względu na:
W rezultacie, z analizy może nam wyjść, że części długu nie warto spłacić, bo:
Jaki dług nie musimy uzasadniać by spłacićWarto zauważyć, że z powyższej kategoryzacji wychodzi nam jeszcze dodatkowa kategoria: Dług, który możemy spłacać od razu. Ten typ charakteryzuje się relatywnie niskim kosztem naprawy. Na tyle, że w zasadzie szkoda marnować czas na szczegółowe uzasadnianie jego spłaty, a właściwie to więcej czasu poświęcimy na argumentację, niż faktyczną akcję. Aby wdrożyć takie naprawy w praktyce, polecam wykorzystać regułę Boy Scout Rule:
Poświęcamy więc regularnie jakiś niewielki procent czasu pracy nad daną funkcją, aby nieco poprawić stan naszego produktu. Może to być na przykład:
Ale ostrzegam, nie próbujcie przy tym zbawiać całego świata Nie będzie (najprawodpodobniej) problemem jeśli, w ramach 10 dniowej pracy, poświęcicie pół dnia na sprzątanie. Kłopot zacznie się jednak, jeśli proporcje zaczną wyglądać odwrotnie.
Business case dla spłaty długuNajmniejsze długi (i najszybsze rozwiązania) mamy już z głowy, więc pora przejść do bardziej skomplikowanych zagadnień. Dla problemów z prawego górnego rogu (wysoki i zysk, i koszt), potrzeba innego podejścia — z jednej strony mamy dużą potencjalną wartość, ale z drugiej — wiąże się ze sporą inwestycją. Aby łatwo i skutecznie przekonać interesariuszy, że warto w to zainwestować, można wykorzystać wykorzystać podejście Business Case
Czyli odpowiednio przedstawić argumenty za tym, by zainwestować w spłatę długu. O czym więc powinniśmy pamiętać? Zmiana kierunku myśleniaNikomu nie będzie w smak „spłata długu” jako etykietka projektu. Taka nazwa, zamiast obietnicy korzyści, przywodzi na myśl same negatywne skojarzenia. W głowie pojawiają się obrazy błędów przeszłości i ich smutnych konsekwencji. Aby tego uniknąć, Alberto Brandolinii promuje inną nazwę — Design Integrity.
Musimy patrzeć w przyszłość i na długofalowych celach opierać argumenty za tym, do jak solidnego systemu doprowadzi zajęcie się kwestią. Zrozumieć interesariuszyAby dostać zielone światło dla usprawnień systemu, musimy rozumieć, na czym zależy naszym interesariuszom. Tylko dzięki temu przekujemy techniczne zyski (czas developerów, mniej błędów, usprawnione procesy) w biznesowe cele. Powiedzmy sobie szczerze:
Pomocne w przygotowaniu do rozmowy będzie zadanie sobie kilku pytań:
Zebrane refleksje ułatwią Ci pracę w kolejnym etapie. Przełożenie prac technicznych na zyski biznesoweBiorąc pod uwagę Drivery Architektoniczne, możesz zastanowić się, jak twoje usprawnienia wpłyną na pracę interesariuszy. Weź pod uwagę na przykład poniższe zagadnienia:
Dzięki stworzeniu takiej korelacji, ubierzesz w biznesowe argumenty twoje techniczne usprawnienia. Dodatkowo możesz jeszcze się zastanowić nad określeniem dokładniejszych liczb. Nie zawsze jest to konieczne, ale nierzadko pomaga. Kwantyfikacja zyskówNaszym celem jest pokazanie zysków na konkretnych liczbach. Chcemy obliczyć potencjalny zysk tak, by zobaczyć, czy poniesiony koszt będzie faktycznie warty spłaty. Aby zobaczyć, jak to działa w praktyce, weźmy na tapet takie usprawnienie:
Celem jest wykazanie, przykładowo, o ile szybciej zwiększy się tempo pracy w aplikacji. Znając zakres obowiązków wykonywanych przez pracowników oraz czas poświęcany na dane zadanie, możemy to zrobić następująco:
Jak ubrać w liczby ten i bardziej skomplikowane przypadki? Jak zmierzyć, o ile jesteśmy w stanie przyśpieszyć pracę? W tym aspekcie polecam świetną książkę How to Measure Anything i zaczerpnięte z niej podejście:
Przekładając to na nasz przykład:
Pozwolę sobie przytoczyć świetny cytat z powyższej książki:
Podążając za tą wskazówką, możemy, poświęcając stosunkowo niewiele czasu, uzyskać najważniejsze informacje. Nie potrzebujesz ogromnej ilości danych. Już niewielkie eksperymenty i inwestygacje pozwalają zgromadzić przekonywujące dowody. PodsumowaniePraca nad spłatą długu w produkcie zawsze będzie trudniejsza do uargumentowania niż „new shiny thing". Ale nie zapominajmy, to jakość produktu ostatecznie sprawia, że ludzie korzystają z produktu. I tylko poprzez spłatę długu jesteśmy w stanie tę jakość zapewnić. A ty, w jaki sposób argumentujesz spłatę długu w swoim produkcie? Odpowiedz na tego maila 📧 Prześlij dalejDzięki, że doczytałeś(aś) do końca. 😊 Wszystkie poprzednie wydania newslettera są dostępne tutaj. Jeśli spodobał Ci się mój newsletter, prześlij go proszę osobom, którym też mógłby się spodobać. Z góry dziękuję. A jeśli nie jesteś jeszcze w newsletterze, to zachęcam do zapisania się. Polecam się na przyszłość! "Inżynierskie podejście do produktów cyfrowych." P.S. Co myślisz o tym newsletterze? Odpisz :) |