Setting up KPIs for Agile Software Engineering Teams
Każdy produktywny zespół inżynierii oprogramowania śledzi swoje ulepszenia poprzez zestaw wybranych wskaźników zwanych metrykami inżynieryjnymi KPI. Oto 5 najistotniejszych kluczowych wskaźników wydajności (KPI), które powinieneś zacząć śledzić już dziś.
Czy kiedykolwiek pracowałeś z zespołem inżynierskim, w którym nie mierzono żadnych wskaźników KPI? Jeśli tak, to prawdopodobnie wiesz, jak trudno jest powiedzieć, czy zespół jest na dobrej drodze do wydania, czy nie.
Prawdą jest, że jeśli chcesz osiągnąć swoje cele biznesowe, musisz upewnić się, że Twoje oprogramowanie spełnia wszystkie wymagania. Aby to zrobić, musisz wdrożyć metryki inżynieryjne KPI do procesów rozwoju.
Ustawiając metryki inżynieryjne KPI dla swojego zespołu rozwoju oprogramowania, unikniesz niskiej jakości i niedotrzymanych terminów. To, co otrzymasz, to produktywny zespół i wysokiej jakości produkt.
Oto pięć istotnych metryk rozwoju KPI, które powinieneś śledzić, aby osiągnąć swoje cele biznesowe.
Sprint Burndown
What Is Sprint Burndown?
Agile zespoły organizują swój rozwój w sprinty. Sprint Burndown mierzy, ile pracy zespół wykonał podczas sprintu.
Jakie są korzyści?
- Dziennik sprintu jest świetny do utrzymywania zespołu w świadomości wszelkich blokad, które się pojawiają.
- Mierząc podział sprintu, można sprawdzić, czy zespół spełnia swoją prognozę.
- Używając wykresu podziału sprintu, zespół może zarządzać swoim postępem. Jeśli zespół uświadamia sobie, że może nie osiągnąć celu sprintu, członkowie zespołu mogą podjąć odpowiednie działania, aby pozostać na dobrej drodze.
Jak to zmierzyć?
Zespoły zwinne używają wykresów podziału sprintu do wizualizacji przepływu pracy. Wykres ma oś x, która reprezentuje czas i oś y, która reprezentuje ilość pracy pozostałej do wykonania. Czas można mierzyć w godzinach lub punktach historii. Możesz też wymyślić własne statystyki. Głównym celem jest tutaj ukończenie całej przewidywanej pracy do końca sprintu.
Jednym z narzędzi, którego możesz użyć, jest wykres Jira Sprint Breakdown. Aby z niego korzystać, musisz utworzyć konto Jira Software oraz projekt Jira Software Scrum.
Zobaczysz oś pionową, która reprezentuje punkty historii. Oś pozioma pokazuje czas. Czerwona linia na wykresie reprezentuje ilość pracy pozostałej do wykonania w sprincie. Szara linia jest linią rzeczywistej pracy. Jeśli czerwona linia jest poniżej szarej linii, oznacza to, że zespół jest na dobrej drodze. Jednakże, jeśli czerwona linia jest powyżej szarej linii, oznacza to, że projekt jest opóźniony w stosunku do harmonogramu.
Release Burndown
What is Release Burndown?
Release burndown oferuje przegląd postępu wydania. Jest on podobny do Sprint burn down, ale ma większy zakres. Pomaga zespołom sprawdzić, czy uda im się wydać produkt w określonym terminie. Jeśli zorientują się, że mają opóźnienie, mogą poinformować o tym użytkowników i interesariuszy. Lub, jeśli nie, mogą zmniejszyć zakres prac, aby wydać produkt na czas.
Jakie są korzyści?
- Możesz sprawdzić, jak szybko Twój zespół pracuje nad zaległościami.
- Możesz uzyskać wgląd w to, jak dodana i usunięta praca wpływa na postępy Twojego zespołu.
- Możesz przewidzieć, ile sprintów zajmie Twojemu zespołowi ukończenie pracy.
Jak to zmierzyć?
Release burndown jest mierzony za pomocą wykresu, który jest podobny do wykresu podziału sprintu. Różnica polega na tym, że teraz oś pozioma reprezentuje sprinty, a oś pionowa przedstawia pozostałą pracę (dni, godziny lub punkty historii).
Na przykład spójrzmy na poniższy obrazek. Jest to wykres Jira release burndown. Widać na nim, że zespół wstępnie ustalił cztery sprinty i 43 punkty historii. W ciągu tych czterech sprintów zespół zredukował liczbę historyjek z 43 do 26. Zespół przewidział również, że wydanie produktu zajmie siedem kolejnych sprintów, co daje w sumie 11 sprintów.
Cycle Time
Co to jest Cycle Time?
Cycle time jest metryką rozwojową KPI, która mierzy ile czasu zespół spędza pracując nad zadaniem. Wykresy czasu cyklu są wykorzystywane przez Scrum Masterów i Product Ownerów do kontrolowania efektywności procesu rozwoju.
Jakie są korzyści?
- Dostarcza informacji o ogólnej wydajności zespołu.
- Pozwala oszacować zakończenie przyszłych zadań.
- Można zauważyć wszelkie wąskie gardła i spowolnienia w przepływie pracy.
Jak to zmierzyć?
Czas cyklu jest równy dacie zakończenia minus data rozpoczęcia. Na przykład, jeśli zespół rozpoczyna pracę 1 grudnia, a kończy 10 grudnia, to czas cyklu wynosi dziewięć dni.
Jeśli zespół rozpoczyna pracę 1 grudnia i kończy zadanie tego samego dnia, to czas cyklu nie będzie wynosił zero, lecz jeden. W przypadku projektów, które rozpoczynają się i kończą tego samego dnia, czas cyklu jest równy dacie zakończenia minus data rozpoczęcia +1.
Możesz zastąpić dni tygodniami, godzinami, a nawet sprintami.
Rozważ użycie wykresów czasu cyklu do wizualizacji przepływu pracy. Wykresy te pokazują, jak długo trwało ukończenie sprawy w stosunku do dnia jej ukończenia.
Na przykład spójrzmy na poniższy wykres. Na osi x widać datę zamknięcia zadania, a na osi y – poświęcony czas. Zielone kółka to zadania. Ciągły okrąg oznacza skupisko problemów, podczas gdy otwarty okrąg oznacza pojedynczy problem. Jeśli korzystasz z narzędzia takiego jak Jira, możesz zobaczyć klucz zadania, jego kod oraz czas realizacji, najeżdżając myszką na okrąg. Czerwona linia reprezentuje średni czas cyklu, a niebieska linia reprezentuje średni kroczący czas cyklu.
Celem końcowym jest, aby zespół miał spójne czasy cyklu dla elementów pracy, które mają podobne wartości punktów historii. Niższe wartości oznaczają, że zespół pracuje wydajnie, natomiast wyższe wartości mogą wskazywać na wąskie gardła w procesie pracy.
Team Velocity
Co to jest Team Velocity?
Velocity to kolejna inżynierska metryka agile KPI, która mierzy ilość pracy, jaką zespół wykonuje podczas sprintu. Ilość pracy jest zwykle mierzona w punktach opowieści lub godzinach.
Właściciele produktu używają prędkości do obliczenia, jak szybko zespół może pracować przez backlog. Wskaźnik szybkości jest unikalny dla każdego zespołu i nie należy porównywać szybkości pomiędzy zespołami.
Na przykład, powiedzmy, że chcesz ukończyć 300 punktów historii w backlogu. Wiesz, że zespół programistów średnio kończy około 50 punktów historii na iterację. Mając te informacje pod ręką, możesz przewidzieć, że zespół będzie potrzebował sześciu iteracji, aby ukończyć wymaganą pracę.
Jakie są korzyści?
- Jest to bardzo przydatne do prognozowania.
- Może pomóc w planowaniu przyszłych sprintów.
- Może pomóc w zrozumieniu, czy zespół jest zablokowany lub czy zmiany w procesie działają.
Jak to zmierzyć?
Jeśli masz stabilny zespół, uda Ci się ustalić średnią prędkość poprzez zmierzenie co najmniej 5-7 sprintów. Jeśli sprint odbywa się co tydzień, a zespół tworzy 250 story pointów w ciągu pięciu tygodni, to średnia prędkość wynosi 50 story pointów tygodniowo.
Spójrzmy na poniższy wykres Jira Velocity. Niebieskie paski reprezentują zaangażowanie, a zielone – faktycznie wykonaną pracę. W sprincie numer 1, zespół zaplanował 16 story pointów i ukończył 16 story pointów. Oznacza to, że ich szacunki były poprawne. Jednak w drugim sprincie zespół zaplanował 19 story pointów, ale ukończył tylko 12. Sugeruje to, że następnym razem powinni zmniejszyć swój plan.
Niekonsekwentny przepływ jest wskaźnikiem, że masz problemy w rozwoju i musisz wprowadzić zmiany.
Przepływ skumulowany
Co to jest przepływ skumulowany?
Przepływ skumulowany wizualizuje status Twoich biletów w pewnym okresie czasu. Pokazuje zmianę statusu zgłoszeń z jednego do drugiego w miarę postępu projektu.
Jakie są korzyści?
- Przydatny do identyfikacji wąskich gardeł.
- Pomaga zespołom upewnić się, że przepływ pracy jest spójny.
- Pokazuje, jak stabilny jest twój przepływ pracy.
- Pomaga zrozumieć, jak możesz uczynić swój proces bardziej przewidywalnym.
Jak to zmierzyć?
Najprostszym sposobem zmierzenia skumulowanego przepływu pracy jest użycie wykresów. Wizualizują one trzy najważniejsze metryki inżynierii oprogramowania Twojego przepływu, w tym czas cyklu, przepustowość i pracę w toku.
Przyjrzyjmy się poniższemu wykresowi. Pozioma oś x wskazuje czas, podczas gdy pionowa oś y wskazuje elementy pracy. Różne kolory reprezentują różne stany przepływu pracy. Jeśli pasma postępują równolegle, oznacza to, że przepustowość jest stabilna. Oznacza to, że liczba nowych zadań wchodzących do przepływu pracy jest taka sama jak liczba tych, które go opuszczają.
Jeśli pasmo szybko się zwęża, oznacza to, że masz więcej przepustowości niż potrzebujesz. Powinieneś przenieść pojemność, aby zoptymalizować przepływ.
Jeśli pasmo szybko się poszerza, oznacza to, że więcej kart wchodzi do odpowiedniego etapu niż jest zadań, które go opuszczają.
Podsumowanie
Śledzenie przedstawionych powyżej metryk rozwoju KPI może doprowadzić do pomyślnego zakończenia procesu rozwoju produktu. W końcu uda Ci się przestać zgadywać postępy projektu i uzyskać szczegółowy wgląd w każdy etap cyklu życia rozwoju.
Jeśli chcesz skończyć z błędnym kołem niskiej jakości produktów, niedotrzymanych terminów i błędów w kodzie, zacznij wdrażać rozwój KPI już dziś. Uda Ci się wydać produkt najwyższej klasy bez towarzyszącego mu ryzyka.
.