Korzystanie z Compass do określania priorytetów i zmniejszania długu technicznego w backlogu Jira
KATIE SILVER
GŁÓWNY MENEDŻER PRODUKTU, ATLASSIAN
Streszczenie dla kierownictwa
Dług techniczny, spowodowany skalą i koniecznością szybkiego dostarczania nowych funkcji, jest powszechnym wyzwaniem dla zespołów programistycznych. Zespoły szybko zaciągają dług techniczny, ale gdy jest on zbyt duży, w dłuższej perspektywie prowadzi do zmniejszenia prędkości. Atlassian Compass, wewnętrzna platforma dla programistów (internal developer platform, IDP), zapewnia zespołom scentralizowany katalog oprogramowania, dzięki czemu programiści mogą szybciej znajdować informacje oraz poznać kondycję i wydajność swojego oprogramowania. Łącząc zgłoszenia Jira z katalogiem i wskaźnikami kondycji w Compass, zespoły mogą identyfikować i redukować dług techniczny o dużym wpływie na działalność podczas ustalania priorytetów backlogu, jednocześnie dostarczając nowe funkcje ze stałą prędkością.
Czas
Osiem minut czytania. Konfiguracja Compass zajmuje mniej niż 10 minut.
Publiczność
Jesteś dowolnym użytkownikiem Jira w zespole dostarczającym oprogramowanie. Skorzystać mogą programiści, inżynierowie, menedżerowie produktu i nie tylko.
Wymagania wstępne
- Zacznij korzystać z Compass — możesz wypróbować ten system za darmo, a rozpoczęcie pracy zajmuje kilka minut.
- Zacznij korzystać z Jira — masz aktywny projekt Jira zarządzany przez firmę.
Dług techniczny w backlogu wymknął Ci się spod kontroli? Nie tylko Ty mierzysz się z tym problemem
Szybko twórz, mierz i wyciągaj wnioski. Zespoły programistyczne pracujące w modelu Agile dostarczają kod z niewiarygodną prędkością. Efektem ubocznym jest dług techniczny, nieuniknione zjawisko, które zwiększa podatność kodu na błędy i spowalnia pracę zespołów. Jak dobrze Twój zespół rozumie swój dług techniczny? Jakie analizy pozwalają ustalić priorytety backlogu w celu zmniejszenia długu technicznego przy jednoczesnym kontynuowaniu dostarczania innowacyjnych nowych funkcji? Czytaj dalej i dowiedz się, jak oceniać priorytet backlogu Jira i radzić sobie z długiem technicznym zespołu w celu szybszego dostarczania oprogramowania.
Dług techniczny to zaległa praca, która została obiecana, ale nie została dostarczona klientowi, a także defekty w kodzie lub jednostki pracy, które ograniczają zwinność.
Podstawowe przyczyny długu technicznego: szybkość i skala
Zespoły są pod ciągłą presją, aby szybko dostarczać nowe funkcje. Jednocześnie — wraz z rozwojem produktów i zespołów — rośnie złożoność, a organizacje borykają się z rosnącą liczbą usług i rozrastającym się oprogramowaniem. Kwestia własności staje się niejasna, powstają silosy wiedzy, a znalezienie informacji jest coraz większym wyzwaniem. Wraz ze wzrostem złożoności produktu, powiększaniem się baz kodu i priorytetowym traktowaniem nowych funkcji przez zespoły wzrasta prawdopodobieństwo wystąpienia błędów i problemów z wydajnością. Statystyki są oszałamiające:
77%
of devs say their codebase grew 5x over the past 3 years [1]
15%
percent of a dev’s day that’s actually spent coding [2]
70%
of devs encounter a knowledge silo at least once a week [3]
1: Big Code in the AI Era, Sourcegraph; 2: Today was a good day: The Daily Life of Software Developers; 3: Stack Overflow, Developer Survey 2022
Firmy muszą działać szybko, aby pozostać konkurencyjnymi, a odnoszące sukcesy przedsiębiorstwa będą się rozrastać i zwiększać przychody oraz zakres oferowanych produktów, więc praktycznie każda organizacja musi nauczyć się efektywnie zarządzać długiem technicznym. Jak dobrze Twój zespół zna swój dług techniczny?
Ustalanie priorytetu backlogu i redukcja długu technicznego dzięki Compass
W Atlassian używamy Compass do utrzymywania scentralizowanego katalogu wszystkich usług, bibliotek, interfejsów API i innych komponentów oprogramowania tworzonych i obsługiwanych przez nasze zespoły. Dzięki Compass zespoły korzystają z katalogu oprogramowania, aby łatwo śledzić własność usług, łączyć dane z całej organizacji i sprawdzać stan naszego oprogramowania. Informacje te pozwalają zespołom skutecznie ustalać priorytety pracy, działać szybko i utrzymywać wysoką jakość kodu. Wykorzystanie ich w celu określenia i zmniejszenia długu technicznego prowadzi do zwiększenia prędkości działania w przyszłości.
W tym artykule wyjaśnimy, w jaki sposób Atlassian wykorzystuje Compass, naszą platformę dla programistów, do zmniejszania długu technicznego i ustalania priorytetów backlogu Jira.
Compass pomaga zespołom zrozumieć wpływ ich pracy i skutecznie planować
Compass to platforma Atlassian dla programistów, powszechnie znana również jako wewnętrzna platforma dla programistów lub IDP. Platforma Compass została stworzona, aby pomóc firmie Atlassian w rozwoju mikrousług i usprawnić pracę programistów. Compass ułatwia im codzienną pracę, pomagając szybciej znajdować informacje i analizy oraz przyspieszając przejście do fazy produkcyjnej:
Katalog
Zmniejsz obciążenie poznawcze dzięki obszernemu katalogowi komponentów oprogramowania
Kondycja
Stosuj karty wyników kondycji, twórz oraz komunikuj zasady i usprawnij pracę programistów
Możliwości rozbudowy
Połącz kluczowe usługi, aby zaoszczędzić czas na wyszukiwaniu i ograniczyć przełączanie kontekstu
Szablony
Zautomatyzuj spójność i przyspiesz produkcję dzięki gotowym szablonom oprogramowania
Komponenty platformy Compass zapewniają zespołom scentralizowany sposób katalogowania i analizowania oprogramowania. Komponenty to wszystko, co znajduje się w repozytorium — usługa, biblioteka, model ML itp. Można je natywnie łączyć w Jira, tak aby zgłoszenia w backlogu łączyły się z rzeczywistymi elementami oprogramowania, na które mają wpływ. Pomaga to zespołom zrozumieć wpływ ich pracy i jej związek z ogólnym obrazem oprogramowania.
Zespół inżynierów zajmujących się platformą Atlassian polega na Compass w zakresie centralizacji informacji, standardów i praktyk, które pomagają nam zapewnić komfort pracy programistów i dobrą kulturę inżynieryjną. Przekłada się to na autonomiczne zespoły, jasne standardy i praktyki, wyraźną odpowiedzialność za usługi i mniej czasu poświęcanego na wyszukiwanie.
Rozpocznij pracę z Compass w ciągu kilku minut: skonfiguruj katalog, wskaźniki i karty wyników
Pracę z Compass można rozpocząć w ciągu kilku minut, wykonując kilka prostych kroków: (1) importując komponenty, (2) przypisując zespoły do komponentów, (3) konfigurując karty wyników.
Krok 1: zaimportuj komponenty z dowolnego miejsca
Dla większości zespołów oznacza to podłączenie narzędzia do zarządzania kodem źródłowym (Source Code Management, SCM), takiego jak Github lub Bitbucket, albo zaimportowanie repozytoriów powiązanych z projektami Jira. Możesz także zaimportować komponenty z pliku CSV lub dowolnej kombinacji tych metod, aby szybko zbudować kompleksowy katalog wszystkiego, co tworzą i utrzymują Twoi programiści.
Możesz rozpocząć pracę z Compass w ciągu kilku minut, importując swoje komponenty z dowolnego miejsca. Dla większości zespołów oznacza to podłączenie narzędzia do zarządzania kodem źródłowym (Source Code Management, SCM), takiego jak Github lub Bitbucket, albo zaimportowanie repozytoriów powiązanych z projektami Jira. Możesz także zaimportować komponenty z pliku CSV lub dowolnej kombinacji tych metod, aby szybko zbudować kompleksowy katalog wszystkiego, co tworzą i utrzymują Twoi programiści.
Krok 2: przypisz zespoły jako właścicieli komponentów
Ogólnie rzecz biorąc, do każdego komponentu powinien być przypisany jeden zespół, który ponosi główną odpowiedzialność za jego działanie. Dodanie zespołu właścicielskiego do każdego komponentu wzmacnia kulturę autonomii, pomaga programistom być na bieżąco z istotnymi informacjami i zapewnia fachową obsługę każdego komponentu, nawet jeśli dana osoba lub lead są niedostępni. Compass używa katalogu Atlassian do definiowania zespołów, więc wszystkie istniejące zespoły pracujące w Jira są już dostępne.
Dzięki katalogowi komponentów programiści w całej organizacji mogą szybko znaleźć dokumentację lub ostatnią aktywność CI/CD powiązaną z dowolną usługą lub biblioteką. Zwiększa to produktywność programistów, skracając czas poświęcany na wyszukiwanie informacji i eliminując przerwy związane z informacjami, które można teraz obsługiwać samodzielnie.
Po podłączeniu modułu SCM system Compass automatycznie wykrywa zdarzenia, takie jak wdrożenia, i agreguje je w kanale aktywności. Na podstawie zdarzeń z repozytorium Compass automatycznie oblicza kilka kluczowych wskaźników, takich jak częstotliwość wdrażania i wskaźnik powodzenia kompilacji. Możesz skonfigurować wskaźniki DORA, a nawet śledzić niestandardowe dane, takie jak liczba luk w zabezpieczeniach danego komponentu.
Krok 3: skonfiguruj karty wyników, aby zastosować standardy do komponentów
Po wypełnieniu katalogu i rozpoczęciu gromadzenia wskaźników nadszedł czas, aby zacząć korzystać z kart wyników. Karty wyników służą do tworzenia standardów i stosowania ich do komponentów w całej organizacji. Karty wyników mogą wykorzystywać dowolne cele związane ze wskaźnikami komponentów i danymi terenowymi. Pomaga to upewnić się, że komponenty oprogramowania są w dobrej kondycji, a zespoły postępują zgodnie z zalecanymi praktykami. System Compass jest dostarczany z kilkoma domyślnymi kartami wyników zawierającymi zalecane przez nas wskaźniki, takie jak gotowość komponentów i kondycja DevOps, a także umożliwia tworzenie własnych niestandardowych kart wyników. Gdy zorientujesz się, na jakich kartach wyników w przypadku Twoich komponentów pojawiają się niezadowalające wyniki, będziesz wiedzieć, jakim długiem technicznym należy się zająć!
Kontynuując powyższy przykład, zajmijmy się bezpieczeństwem, stosując niestandardową kartę wyników, w przypadku której wynik będzie niezadowalający, jeśli w danym momencie istnieje więcej niż jedna otwarta luka w zabezpieczeniach. Luki w zabezpieczeniach to klasyczny przykład długu technicznego. Najpierw utwórz wskaźnik do śledzenia luk w zabezpieczeniach i skonfiguruj go tak, aby pobierał dane z odpowiedniego źródła w różnych komponentach.
Następnie przejdź do zakładki Karty wyników w sekcji „Kondycja” na górnym pasku nawigacyjnym. Kliknij opcję „Utwórz kartę wyników”, wypełnij szczegóły i upewnij się, że jako kryterium karty wyników dodano właśnie utworzony wskaźnik luk w zabezpieczeniach. Powiedzmy, że na karcie wyników pojawi się wynik niezadowalający, jeśli w danym momencie będzie otwarta więcej niż jedna luka w zabezpieczeniach. Jest to dobry wybór w przypadku usług o 1. poziomie istotności, które są krytyczne dla stanu operacyjnego oprogramowania. Ustaw operator na „równe lub mniejsze od”, a wartość jako jeden. Ustaw wagę na 100% i kliknij opcję Utwórz — teraz masz scentralizowany sposób śledzenia zagrożeń związanych z bezpieczeństwem i wyznaczania zespołom jasnych działań mających na celu poprawę kondycji ich oprogramowania.
W praktyce skonfigurujesz wiele kart wyników do pomiaru różnych standardów, aby uzyskać kompleksowy obraz swojego długu technicznego.
Połącz Compass z Jira: zidentyfikuj dług techniczny o dużym wpływie na działalność i ustal priorytety backlogu
Teraz, gdy system Compass jest już skonfigurowany, mamy wszystko, czego potrzebujemy, aby rozpocząć identyfikowanie i redukowanie długu technicznego. Najpierw upewnij się, że Twój projekt Jira został włączony do komponentów Compass, klikając opcję „Komponenty” na pasku nawigacyjnym po lewej stronie i zaznaczając rozwijane pole w prawym górnym rogu. Jeśli projekt został włączony, powinno być napisane „Komponenty Compass”.
Następnie wróć do systemu Compass i sprawdź swoje karty wyników. Zidentyfikuj obszary, w których karty wyników są zagrożone wynikiem niezadowalającym lub taki wynik już się pojawił, i w oparciu o priorytety zespołu określ najważniejszy problem do rozwiązania. Możesz wyświetlić konkretną kartę wyników z poziomu interfejsu użytkownika „Kondycja” i zobaczyć, jakie wskaźniki mają wszystkie odpowiednie komponenty. Możesz filtrować dalej według zespołu właścicielskiego, aby dokładnie zrozumieć, jak punktowane są Twoje własne komponenty, i zidentyfikować dług techniczny, który wymaga Twojej uwagi.
Rozważmy inny przykład, korzystając z wbudowanej karty wyników kondycji DevOps. Przeglądasz komponenty swojego zespołu i zauważasz, że kilka z nich nie spełnia kryterium częstotliwości wdrażania. Karta wyników jest zdefiniowana w taki sposób, że jeśli jest mniej niż pięć wdrożeń tygodniowo, można zauważyć, że niektóre komponenty mają tylko jedno lub dwa wdrożenia tygodniowo. Jest to potencjalny problem, który wymaga zbadania. Być może wystąpił problem w procesie kompilacji lub pipeline'ach wdrażania, a może Twój zespół zmaga się z techniczną trudnością wykonywanego zadania. Tak czy inaczej, warto zająć się długiem technicznym.
Wróć do backlogu i sprawdź, czy istnieją już zgłoszenia dotyczące problemu powolnych wdrożeń. Jeśli nie, możesz utworzyć nowe zgłoszenie bezpośrednio na stronie Karta wyników w systemie Compass. Upewnij się, że takie zgłoszenia są otagowane odpowiednimi komponentami Compass, co pozwoli zachować porządek i bezpośrednio śledzić wpływ backlogu na działalność.
W ten sposób można bez obaw włączyć te zgłoszenia do następnego sprintu lub dodać je do tablicy Kanban. Wiesz, że zgłoszenia te odnoszą się do długu technicznego o wysokim priorytecie, i że wykonana praca wpłynie na wydajność architektury Twojego oprogramowania. Po rozwiązaniu problemu przez zespół możesz wrócić do karty wyników kondycji DevOps i zobaczyć historię poprawy częstotliwości wdrożeń na przestrzeni czasu. To świetna wizualizacja, która pozwala podkreślić przywództwo i zaprezentować zespołowi wartość wykonanej pracy.
Podsumowanie: korzystaj z systemu Compass do ustalania priorytetów backlogu Jira i zmniejszania długu technicznego
Dług techniczny jest nieunikniony w nowoczesnych procesach dostarczania oprogramowania, ale skuteczne zespoły wiedzą, jak nadać priorytet długowi technicznemu o dużym wpływie na działalność, aby utrzymać wysoki poziom niezawodności, jednocześnie dostarczając innowacyjne nowe funkcje ze stałą prędkością. Połączenie zgłoszeń Jira ze scentralizowanym katalogiem komponentów w systemie Compass daje zespołom wgląd we wpływ pracy na działalność i pozwala im dokonywać skutecznych kompromisów między długiem technicznym a dostarczaniem funkcji w zaledwie kilku krokach:
- Szybko skonfiguruj katalog oprogramowania w Compass, podłączając moduł SCM, importując repozytoria z Jira lub importując je z pliku CSV.
- Zacznij od wbudowanych kart wyników, a następnie stwórz własne, korzystając ze wskaźników i innych źródeł danych, aby śledzić wydajność oprogramowania w porównaniu ze standardami i praktykami organizacji oraz identyfikować dług techniczny o wysokim priorytecie.
- Włącz Compass do swoich cotygodniowych rytuałów i eliminuj dług techniczny z backlogu, zapobiegając incydentom i konsekwentnie dostarczając nowe funkcje.