Źródła Długu

Które obszary bazy kodu zgromadziły dług techniczny?

Moduł uwierzytelniania użytkowników jest nadmiernie złożony i trudny w utrzymaniu z powodu licznych hacków i obejść wprowadzonych z czasem.
Mamy dużo zduplikowanego kodu w różnych komponentach, który powinien zostać zrefaktoryzowany do współdzielonych narzędzi.
Wiele naszych podstawowych modeli danych jest ściśle powiązanych, co utrudnia rozszerzanie lub modyfikowanie funkcjonalności bez ryzyka regresji.
Wpływ i Ryzyka

Jak ten dług techniczny wpływa na zespół i produkt?

Wdrażanie nowych programistów jest niezwykle trudne ze względu na złożoność i brak dokumentacji w niektórych obszarach.
Ciągle gasimy pożary i nie jesteśmy w stanie dostarczać nowych funkcji w rozsądnym tempie z powodu niestabilności spowodowanej długiem.
Nasz proces wdrażania jest kruchy i podatny na błędy, prowadząc do częstych problemów i awarii produkcyjnych.
Ustalanie Priorytetów

Które obszary długu powinny być rozwiązane najpierw?

Powinniśmy zacząć od modułu uwierzytelniania, ponieważ jest to kluczowa zależność wpływająca na wiele obszarów aplikacji.
Poprawa pokrycia testami dla naszych najbardziej zmiennych komponentów zapewniłaby solidną podstawę do przyszłych wysiłków refaktoryzacyjnych.
Aktualizacja naszego frontendu do najnowszej wersji React powinna być najwyższym priorytetem, aby wykorzystać ulepszenia wydajności i nowe funkcje.
Plan Działania

Jak możemy systematycznie rozwiązywać priorytetowe długi?

Przeznaczymy 20% każdego sprintu na skupienie się na elementach długu o wysokim priorytecie, zaczynając od refaktoryzacji modułu uwierzytelniania.
Co drugi tydzień będziemy mieli dedykowany 'dzień spłaty długu' na wprowadzanie stopniowych ulepszeń zgodnie z priorytetami.
W następnym kwartale jeden starszy programista będzie w pełni dedykowany do prowadzenia naszych wysiłków redukcji długu technicznego.

Czym jest Retrospektywa Długu Technicznego?

Retrospektywa Długu Technicznego to ukierunkowane spotkanie mające na celu identyfikację obszarów długu technicznego w bazie kodu lub systemie. Pozwala zespołom otwarcie omawiać źródła długu, ustalać priorytety elementów wymagających uwagi i tworzyć plan działania w celu systematycznego redukowania tego długu. Dług techniczny odnosi się do nagromadzenia mniej optymalnych rozwiązań w bazie kodu. Może on powstać w wyniku priorytetowego traktowania krótkoterminowego dostarczania nad długoterminową jakością kodu, braku zrozumienia lub odkładania refaktoryzacji. Pozostawiony bez kontroli, dług techniczny zwiększa złożoność i spowalnia przyszły rozwój. Regularne przeprowadzanie Retrospektyw Długu Technicznego pozwala zespołom zachować świadomość ich długu, zapobiegać jego wymknięciu się spod kontroli i przydzielać czas na stopniowe ulepszenia. To proaktywne podejście poprawia jakość kodu, zmniejsza liczbę błędów i zwiększa ogólną produktywność.

Format Retrospektywy Długu Technicznego

Źródła Długu

Które obszary bazy kodu zgromadziły dług techniczny?

Zachęcaj uczestników do precyzyjnego określania rodzajów długu, takich jak code smells, problemy architektoniczne czy brak testów.

Wpływ i Ryzyka

Jak ten dług techniczny wpływa na zespół i produkt?

Zachęcaj do dyskusji na temat rzeczywistych konsekwencji dalszego pozwalania na akumulację długu.

Ustalanie Priorytetów

Które obszary długu powinny być rozwiązane najpierw?

Prowadź zespół w ustalaniu priorytetów elementów długu w oparciu o wpływ, wymagany wysiłek i znaczenie strategiczne.

Plan Działania

Jak możemy systematycznie rozwiązywać priorytetowe długi?

Ułatwiaj tworzenie konkretnego planu z harmonogramami, odpowiedzialnościami i regularnymi kontrolami.

Kiedy stosować tę retrospektywę?

  • Gdy twój zespół zmaga się ze starzejącą się, złożoną bazą kodu, która staje się coraz trudniejsza w utrzymaniu i rozszerzaniu.
  • Jeśli ciągle gasisz pożary i nie jesteś w stanie dostarczać nowych funkcji w rozsądnym tempie z powodu niestabilności spowodowanej długiem technicznym.
  • Gdy wdrażanie nowych programistów jest niezwykle trudne ze względu na brak dokumentacji i zawiły kod w niektórych obszarach.
  • Jeśli spędzasz więcej czasu na utrzymaniu i naprawie błędów niż na pracy nad innowacyjnymi nowymi funkcjami z powodu długu technicznego.
  • Gdy morale cierpi, ponieważ programiści stają się sfrustrowani ciągłymi wyzwaniami stawianymi przez narastającą bazę kodu.

Sugerowane pytania dotyczące lodołamaczy

  • Gdyby nasza baza kodu była strukturą fizyczną, jak by wyglądała i dlaczego?
  • Podziel się zabawną historią lub doświadczeniem związanym z radzeniem sobie z długiem technicznym w przeszłości.

Pomysły i wskazówki dotyczące spotkania retrospektywnego

  • Zachęcaj do otwartej i szczerej dyskusji bez obwiniania czy wskazywania palcem. Dług techniczny jest naturalnym produktem ubocznym rozwoju oprogramowania.
  • Upewnij się, że wszyscy członkowie zespołu, w tym role nietechniczne, rozumieją koncepcję długu technicznego i jego potencjalne skutki.
  • Ustalaj priorytety elementów długu w oparciu o wpływ, wymagany wysiłek i znaczenie strategiczne, zamiast próbować rozwiązać wszystko naraz.
  • Stwórz konkretny plan działania z harmonogramami, odpowiedzialnościami i regularnymi kontrolami, aby zapewnić odpowiedzialność i postęp.
  • Rozważ przydzielenie dedykowanej części każdego sprintu lub cyklu na skupienie się na wysiłkach redukcji długu technicznego.
  • Zbadaj automatyzację procesów takich jak linting, testowanie i przeglądy kodu, aby zapobiec wprowadzaniu nowego długu w czasie.

Są Państwo nowicjuszami w retrospektywach? Proszę przeczytać nasz przewodnik na temat prowadzenia retrospektywy →