Kultury inżynieryjne, które codziennie generują dług techniczny


Wprowadzenie
Wszystkie zespoły inżynierów, z którymi miałem do czynienia, borykają się z problemem zadłużenia technicznego. Chociaż istnieją różne przyczyny lub czynniki, które prowadzą do jego narastania, niektóre kultury organizacyjne sprzyjają powstawaniu zadłużenia technicznego w tempie, które jest nie do utrzymania. Te toksyczne wzorce mają kluczowe znaczenie dla zrozumienia, w jaki sposób liderzy technologiczni zamierzający tworzyć zrównoważone systemy mogą w pełni je pojąć. Wszelkie działania mające na celu redukcję ostatecznie okażą się bezskuteczne, jeśli nie będą realizowane w oparciu o kulturę, która powoduje powstawanie długu technicznego. Dług ten będzie nadal rosnąć w tempie szybszym niż tempo, w jakim będziecie w stanie go spłacić.
Dług techniczny będzie się nadal kumulował szybciej, niż jesteś w stanie go spłacić, chyba że najpierw naprawisz podstawowe problemy kulturowe.
Typowe wzorce kulturowe, które powodują powstawanie długów technicznych
Dług techniczny nie występuje w izolacji. Istnienie pewnych tendencji kulturowych i nawyków w organizacjach inżynieryjnych sprzyja warunkom, w których niska jakość kodu, skróty i obecność narosłej złożoności są regułą, a nie wyjątkiem.
Kultura niechlujstwa
Zespoły, które nie dbają o standardy rzemiosła, zawsze tworzą kod niskiej jakości. Inżynierowie nie piszą testów, zaniedbują przypadki skrajne i nie testują kompatybilności między przeglądarkami. Praktyka ta skutkuje nadmiarowym kodem i poniżej standardów fundamentem strukturalnym. Rozwiązanie: zaszczep w zespole poczucie rzemiosła. Pomóż inżynierom z dumą angażować się w pracę i ustal odpowiednie standardy jakości, których wszyscy będą przestrzegać.
Nieprofesjonalne podejście
Nie wszyscy inżynierowie uważają się za profesjonalistów na równi z prawnikami lub księgowymi. Nie mają wewnętrznej motywacji, aby postępować właściwie, ponieważ jest to standardowa praktyka w zawodzie. Rozwiązanie: Buduj profesjonalny wizerunek wśród członków zespołu. Aby uzyskać tytuł inżyniera, musicie zaakceptować obowiązki i wymagania, które się z nim wiążą.
Tolerancja ograniczonych umiejętności
Bycie osobą niewykwalifikowaną to jedno, ale bycie osobą niewykwalifikowaną i czerpanie z tego radości to zupełnie inna sprawa. Gdy nie kładzie się nacisku na rozwój i naukę, zespoły są skazane na narastanie długu technicznego w wyniku złych decyzji i wdrożeń. Rozwiązanie: promuj kulturę ciągłego uczenia się i zdobywania umiejętności. Oferuj perspektywy rozwoju i ustalaj jasne oczekiwania dotyczące rozwoju zawodowego.
Presja zewnętrzna
Kierownicy ds. inżynierii i programiści są świadomi tego, co jest słuszne i co można osiągnąć w wyznaczonym terminie, ale ulegają presji. Przenoszą stres na swoje zespoły, zamiast w odpowiednim momencie wyrazić sprzeciw. Rozwiązanie: Kierownicy pociągów powinni zostać przeszkoleni w zakresie podejmowania decyzji dotyczących tego, kiedy należy wywierać presję, a kiedy opierać się nierealistycznym żądaniom.
Organizacje wzorcowe
W wielu przypadkach porzucenie projektu powoduje, że organizacje inicjują wiele projektów, sprawiając wrażenie aktywnych, a następnie odrzucają je na rzecz projektów, które wydają się ważniejsze. Skutkuje to:
- Funkcje w połowie ukończone
- Niekompletne migracje baz danych
- Częściowa aktualizacja frameworka
- Połowa odpisów
Rozwiązanie: Buduj kulturę całościowości. Zastanów się przed rozpoczęciem nowych przedsięwzięć, a po ich rozpoczęciu kontynuuj je do końca, nawet jeśli przestaną być ekscytujące.
Śledzenie trendów technologicznych
Zespoły bardzo łatwo podążają za nowymi trendami technologicznymi, pozostawiając po sobie ślady technologicznego bałaganu. Aplikacje w naturalny sposób wykorzystują różne stosy technologiczne w różnych komponentach i mają więcej frameworków niż programistów. Rozwiązanie: Kochaj, ale nie przyjmuj nowych, błyskotliwych technologii. Wprowadzaj nowe narzędzia tylko wtedy, gdy istnieje wyraźna i istotna różnica między nimi a obecnymi rozwiązaniami.
Brak praw własności
Inżynierowie nie ponoszą odpowiedzialności za długoterminowe skutki swojego kodu. Kiedy pojawia się dług techniczny, często słyszy się odpowiedź: „To nie ja!”. Rozwiązanie: Ustal zasady odpowiedzialności i własności. Daj członkom zespołu możliwość podejmowania decyzji i zadawaj pytania typu „Co byś zrobił?”, zamiast mówić im, co mają robić. Kultywuj odpowiedzialność i profesjonalizm jako część kultury firmy, która zapewnia długoterminową przewagę techniczną.
Kult bohaterów
Organizacje, które polegają na bohaterach i podziwiają ich, generują ciągły kryzys, w którym poszukiwane są heroiczne działania. Kultura ta pozostawia po sobie ślad w postaci długu technicznego; te dramatyczne ratunki są uwielbiane przez kierownictwo. Odpowiedź: deleguj zadania zespołowi i skup się na długoterminowych wynikach. Chociaż ważne jest, aby doceniać indywidualnych współpracowników, należy podkreślić, że tworzenie oprogramowania jest skuteczne dzięki pracy zespołowej.
Brak wizji technicznej
Brak wizji technicznej lub strategii powoduje, że zespoły pracują w kółko, robiąc wszystko, co w waszym mocy, ale nieświadomie przyczyniając się do powstawania długu technicznego poprzez podejmowanie sprzecznych decyzji architektonicznych i stosowanie sprzecznych podejść. Rozwiązanie: Sformułuj i podziel się szczegółową wizją techniczną i strategią. Daj przykład, pokazując drogę do doskonałości w inżynierii.
Zatrzymaj cykl zadłużenia technicznego
Zmień kulturę inżynieryjną, zanim będzie za późno. Zacznij od zaangażowania kierownictwa już dziś.
RozpocznijRozwijanie kultury automatycznego zarządzania
Ostatecznym celem jest opracowanie czegoś, co nazywam automatycznym zarządzaniem – miejsca, w którym inżynierowie zawsze mogą podejmować właściwe decyzje bez ścisłego nadzoru lub kompleksowych wytycznych. Przed podjęciem bardzo kosztownych działań mających na celu redukcję długu technicznego zaleca się wyeliminowanie elementów kulturowych, które powodują powstawanie długu technicznego. W przeciwnym razie będziesz zmagać się z problemami systemowymi, co będzie bardzo trudnym zadaniem.
Zmiany kulturowe wymagają czasu, aby się utrwaliły. Wymagają one ustalenia jasnych zasad zawodowych, odpowiedzialności, ciągłego uczenia się i stworzenia systemów, które doceniają dobrą pracę, a nie doraźne rozwiązania.
Droga naprzód
Redukcja długu technicznego nie jest jedynie kwestią techniczną, ale przede wszystkim kwestią przywództwa i kultury. Dzięki zidentyfikowaniu i wyeliminowaniu tych toksycznych wzorców w swojej organizacji, tworzysz podstawy zrównoważonych praktyk inżynieryjnych. Należy pamiętać, że zmiana kulturowa jest procesem czasochłonnym i pracochłonnym. Zacznij od zidentyfikowania wzorców występujących w twojej organizacji, a następnie strategicznie zajmij się wszystkimi problemowymi obszarami, przekształcając je w atuty, które pomogą osiągnąć długoterminową doskonałość techniczną. Inwestycja w transformację kulturową przyniesie korzyści nie tylko w postaci zmniejszenia długu technicznego. Stworzycie:
- Bardziej spójne zespoły
- Produkty najwyższej jakości
- Praktyki inżynieryjne, które można skalować wraz z rozwojem organizacji
Tags
Wprowadzenie
Wszystkie zespoły inżynierów, z którymi miałem do czynienia, borykają się z problemem zadłużenia technicznego. Chociaż istnieją różne przyczyny lub czynniki, które prowadzą do jego narastania, niektóre kultury organizacyjne sprzyjają powstawaniu zadłużenia technicznego w tempie, które jest nie do utrzymania. Te toksyczne wzorce mają kluczowe znaczenie dla zrozumienia, w jaki sposób liderzy technologiczni zamierzający tworzyć zrównoważone systemy mogą w pełni je pojąć. Wszelkie działania mające na celu redukcję ostatecznie okażą się bezskuteczne, jeśli nie będą realizowane w oparciu o kulturę, która powoduje powstawanie długu technicznego. Dług ten będzie nadal rosnąć w tempie szybszym niż tempo, w jakim będziecie w stanie go spłacić.
Dług techniczny będzie się nadal kumulował szybciej, niż jesteś w stanie go spłacić, chyba że najpierw naprawisz podstawowe problemy kulturowe.
Typowe wzorce kulturowe, które powodują powstawanie długów technicznych
Dług techniczny nie występuje w izolacji. Istnienie pewnych tendencji kulturowych i nawyków w organizacjach inżynieryjnych sprzyja warunkom, w których niska jakość kodu, skróty i obecność narosłej złożoności są regułą, a nie wyjątkiem.
Kultura niechlujstwa
Zespoły, które nie dbają o standardy rzemiosła, zawsze tworzą kod niskiej jakości. Inżynierowie nie piszą testów, zaniedbują przypadki skrajne i nie testują kompatybilności między przeglądarkami. Praktyka ta skutkuje nadmiarowym kodem i poniżej standardów fundamentem strukturalnym. Rozwiązanie: zaszczep w zespole poczucie rzemiosła. Pomóż inżynierom z dumą angażować się w pracę i ustal odpowiednie standardy jakości, których wszyscy będą przestrzegać.
Nieprofesjonalne podejście
Nie wszyscy inżynierowie uważają się za profesjonalistów na równi z prawnikami lub księgowymi. Nie mają wewnętrznej motywacji, aby postępować właściwie, ponieważ jest to standardowa praktyka w zawodzie. Rozwiązanie: Buduj profesjonalny wizerunek wśród członków zespołu. Aby uzyskać tytuł inżyniera, musicie zaakceptować obowiązki i wymagania, które się z nim wiążą.
Tolerancja ograniczonych umiejętności
Bycie osobą niewykwalifikowaną to jedno, ale bycie osobą niewykwalifikowaną i czerpanie z tego radości to zupełnie inna sprawa. Gdy nie kładzie się nacisku na rozwój i naukę, zespoły są skazane na narastanie długu technicznego w wyniku złych decyzji i wdrożeń. Rozwiązanie: promuj kulturę ciągłego uczenia się i zdobywania umiejętności. Oferuj perspektywy rozwoju i ustalaj jasne oczekiwania dotyczące rozwoju zawodowego.
Presja zewnętrzna
Kierownicy ds. inżynierii i programiści są świadomi tego, co jest słuszne i co można osiągnąć w wyznaczonym terminie, ale ulegają presji. Przenoszą stres na swoje zespoły, zamiast w odpowiednim momencie wyrazić sprzeciw. Rozwiązanie: Kierownicy pociągów powinni zostać przeszkoleni w zakresie podejmowania decyzji dotyczących tego, kiedy należy wywierać presję, a kiedy opierać się nierealistycznym żądaniom.
Organizacje wzorcowe
W wielu przypadkach porzucenie projektu powoduje, że organizacje inicjują wiele projektów, sprawiając wrażenie aktywnych, a następnie odrzucają je na rzecz projektów, które wydają się ważniejsze. Skutkuje to:
- Funkcje w połowie ukończone
- Niekompletne migracje baz danych
- Częściowa aktualizacja frameworka
- Połowa odpisów
Rozwiązanie: Buduj kulturę całościowości. Zastanów się przed rozpoczęciem nowych przedsięwzięć, a po ich rozpoczęciu kontynuuj je do końca, nawet jeśli przestaną być ekscytujące.
Śledzenie trendów technologicznych
Zespoły bardzo łatwo podążają za nowymi trendami technologicznymi, pozostawiając po sobie ślady technologicznego bałaganu. Aplikacje w naturalny sposób wykorzystują różne stosy technologiczne w różnych komponentach i mają więcej frameworków niż programistów. Rozwiązanie: Kochaj, ale nie przyjmuj nowych, błyskotliwych technologii. Wprowadzaj nowe narzędzia tylko wtedy, gdy istnieje wyraźna i istotna różnica między nimi a obecnymi rozwiązaniami.
Brak praw własności
Inżynierowie nie ponoszą odpowiedzialności za długoterminowe skutki swojego kodu. Kiedy pojawia się dług techniczny, często słyszy się odpowiedź: „To nie ja!”. Rozwiązanie: Ustal zasady odpowiedzialności i własności. Daj członkom zespołu możliwość podejmowania decyzji i zadawaj pytania typu „Co byś zrobił?”, zamiast mówić im, co mają robić. Kultywuj odpowiedzialność i profesjonalizm jako część kultury firmy, która zapewnia długoterminową przewagę techniczną.
Kult bohaterów
Organizacje, które polegają na bohaterach i podziwiają ich, generują ciągły kryzys, w którym poszukiwane są heroiczne działania. Kultura ta pozostawia po sobie ślad w postaci długu technicznego; te dramatyczne ratunki są uwielbiane przez kierownictwo. Odpowiedź: deleguj zadania zespołowi i skup się na długoterminowych wynikach. Chociaż ważne jest, aby doceniać indywidualnych współpracowników, należy podkreślić, że tworzenie oprogramowania jest skuteczne dzięki pracy zespołowej.
Brak wizji technicznej
Brak wizji technicznej lub strategii powoduje, że zespoły pracują w kółko, robiąc wszystko, co w waszym mocy, ale nieświadomie przyczyniając się do powstawania długu technicznego poprzez podejmowanie sprzecznych decyzji architektonicznych i stosowanie sprzecznych podejść. Rozwiązanie: Sformułuj i podziel się szczegółową wizją techniczną i strategią. Daj przykład, pokazując drogę do doskonałości w inżynierii.
Zatrzymaj cykl zadłużenia technicznego
Zmień kulturę inżynieryjną, zanim będzie za późno. Zacznij od zaangażowania kierownictwa już dziś.
RozpocznijRozwijanie kultury automatycznego zarządzania
Ostatecznym celem jest opracowanie czegoś, co nazywam automatycznym zarządzaniem – miejsca, w którym inżynierowie zawsze mogą podejmować właściwe decyzje bez ścisłego nadzoru lub kompleksowych wytycznych. Przed podjęciem bardzo kosztownych działań mających na celu redukcję długu technicznego zaleca się wyeliminowanie elementów kulturowych, które powodują powstawanie długu technicznego. W przeciwnym razie będziesz zmagać się z problemami systemowymi, co będzie bardzo trudnym zadaniem.
Zmiany kulturowe wymagają czasu, aby się utrwaliły. Wymagają one ustalenia jasnych zasad zawodowych, odpowiedzialności, ciągłego uczenia się i stworzenia systemów, które doceniają dobrą pracę, a nie doraźne rozwiązania.
Droga naprzód
Redukcja długu technicznego nie jest jedynie kwestią techniczną, ale przede wszystkim kwestią przywództwa i kultury. Dzięki zidentyfikowaniu i wyeliminowaniu tych toksycznych wzorców w swojej organizacji, tworzysz podstawy zrównoważonych praktyk inżynieryjnych. Należy pamiętać, że zmiana kulturowa jest procesem czasochłonnym i pracochłonnym. Zacznij od zidentyfikowania wzorców występujących w twojej organizacji, a następnie strategicznie zajmij się wszystkimi problemowymi obszarami, przekształcając je w atuty, które pomogą osiągnąć długoterminową doskonałość techniczną. Inwestycja w transformację kulturową przyniesie korzyści nie tylko w postaci zmniejszenia długu technicznego. Stworzycie:
- Bardziej spójne zespoły
- Produkty najwyższej jakości
- Praktyki inżynieryjne, które można skalować wraz z rozwojem organizacji


