Przenieś na górę strony
Zespół programistów w czasie pracy
24.02.2023

Zastosowanie kluczowych wskaźników wydajności (KPI) w tworzeniu oprogramowania

Przeczytasz w 4 min.
Jeszcze nikt nie polubił
Jeszcze nikt nie skomentował

Tworzenie oprogramowania to jedyna w swoim rodzaju praca. Każdy z pracowników posługuje się wysoko wyspecjalizowaną wiedzą ekspercką, która jest zmienną i musi być w stanie podążać za wymaganiami projektów oraz postępem technologicznym. W takich warunkach klasyczne wskaźniki efektywności zawodzą. Dlatego, dbając o wydajność i jakość, należy rozpoznać oraz przeanalizować kluczowe wskaźniki wydajności.

Kluczowe wskaźniki wydajności – KPI

„Jeżeli można coś zmierzyć, to można tym również zarządzać” – to porzekadło stanowi podstawę dzisiejszych systemów zarządzania. Korzystanie z mierzalnych, możliwych do osadzenia w czasie wskaźników, takich jak inwestycje, poziom zatrudnienia, zapasy czy koszt jednostkowy, są codziennością na wszystkich szczeblach zarządzania. Niestety te podstawowe miary są często niewystarczające, szczególnie gdy przedsiębiorstwo generuje swoje przychody poprzez zasoby niematerialne, na przykład wiedzę. W takiej sytuacji należy przeprowadzić gruntowny przegląd operacji przedsiębiorstwa i analizując podstawowe wskaźniki oraz charakter pracy znaleźć „wąskie gardła”, operacje, które mają kluczowy wpływ na efektywność realizacji celów postawionych przed przedsiębiorstwem. Wynikiem tych pomiarów są właśnie kluczowe wskaźniki wydajności – KPI.

KPI — Key Performance Indicators – główne cechy

Stosując KPI w optymalizacji pracy, musimy pamiętać, że:

  • wskaźniki muszą być zrozumiałe dla pracowników, których pracę oceniają,  
  • wskaźniki powinny być zbierane, opracowywane i kontrolowane przez kierownictwo, 
  • powinny dotyczyć obszarów mających wpływ na realizację celów,  
  • powinny mieć charakter niepieniężny. 

KPI w strategii przedsiębiorstwa tworzącego oprogramowanie

W przedsiębiorstwach opartych na wiedzy eksperckiej pracowników prawie nie istnieje problem wyczerpalności zasobów. Wiedzę można powielać i przetwarzać bez jej zużywania. Dlatego wyszukując kluczowe wskaźniki wydajności, należy skupić się na tych opisujących pracochłonność (wysiłek) konieczny do realizacji zadań oraz opisujących dostępność zasobów wiedzy w kluczowych obszarach projektu.

Wskaźnik wysiłku – zarządzanie nakładem pracy na niektóre obszary

Tworzenie oprogramowania jest ściśle związane z zarządzaniem zespołami ludzkimi, dlatego ważne jest powierzanie zadań zgodnie z możliwościami danych zespołów. W analizie rozkładu zadań na zespoły mogą nam pomóc wskaźniki określające udział czasu pracy w tworzeniu kodu, naprawie błędów czy usuwaniu długu technicznego. Ich różna relacja pomiędzy sobą oraz pozostałym czasem pracy przeznaczonym na czynności nieprogramistyczne może sporo powiedzieć o poziomie obciążenia zespołu zadaniami. Wskaźniki wysiłku pozwalają również na porównanie zespołów pomiędzy sobą i wytypowanie tych, w których działania naprawcze są najpilniej potrzebne. Przykładowe wskaźniki wysiłku to:

Wskaźnik monopolu wiedzy

W przedsiębiorstwie opartym na wiedzy jednym z zagrożeń dla realizacji celu jest brak osób z właściwym zestawem wiedzy i umiejętności. Przed rozpoczęciem projektu nie jest to poważny problem, ponieważ mając czas i zasoby zawsze jesteśmy w stanie znaleźć pracowników o właściwym lub wystarczającym zakresie wiedzy.

Zdecydowanie większym zagrożeniem jest możliwość odejścia, choroby lub przedłużającego się urlopu takich osób w trakcie realizacji projektu. Posiadają one nie tylko wiedzę, z którą rozpoczęły pracę, ale również kluczową wiedzę o elementach realizowanego projektu. W praktyce taki pracownik jest niezastępowalny i powstaje monopol wiedzy.

Ustalenie poziomu wskaźnika monopolu polega na zbadaniu, którzy z pracowników są w krótkiej perspektywie niezastępowalni oraz analizie wpływu ich potencjalnej nieobecności na opóźnienie projektu.

Wysoki wskaźnik monopolu wiedzy w organizacji może sugerować niedostateczne prowadzenie dokumentacji projektu oraz zbyt wysoką specjalizację pracowników w wąskich obszarach projektu. Może również sugerować słabość wewnętrznego systemu szkoleń i mentoringu, które pozwoliłyby na przekazywanie wiedzy i kompetencji większej liczbie pracowników.

Wskaźnik szybkości realizacji

Jest to wskaźnik mierzący liczbę zadań lub sumy wag zadań liczonych według ich wartości dodanych w projekcie, realizowanych w sprincie. Wyrażona w postaci ułamka lub procentu może pomóc nam w ustaleniu trendu szybkości (kompletności) realizacji zadań w kolejnych sprintach. 

Jeżeli stosujemy podział na równą liczbę zadań lub wag zadań w kolejnych sprintach oraz nie zmienia się rozmiar zespołu i jego skład, to możemy również ustalić uśrednioną szybkość sprintów w całości projektu. 

KPI w zespole programistycznym

Stosowanie kluczowych wskaźników wydajności jest równie ważne na poziomie całej organizacji, jak i zespołu. Stosowanie tych miar w nadzorze tworzenia oprogramowania pozwala na maksymalnie zbliżone do obiektywnego ocenianie pracownika, w celu jak najlepszego wykorzystania posiadanych przez niego zasobów wiedzy i umiejętności. Oto przydatne wewnątrz zespołu wskaźniki.

Przepustowość

Przepustowość to miara wydajności informująca o szybkości realizacji zadania od statusu „nie rozpoczęto” do „ukończono”. Kolejnym przedziałom czasowym, zasadniczo liczonym w roboczo dniach, daje się wynik punktowy. Miara ta pozwala ustalić, którzy pracownicy lub zespoły są przeciążeni przydzielonymi zadaniami, a którzy mogą zaopiekować się jeszcze nieprzydzielonymi zadaniami.

Braki w dokumentacji

To odsetek funkcji i fragmentów oprogramowania nieposiadających lub posiadających niekompletną dokumentację.

Osierocony kod

Wskaźnik jakości kodu pod względem jego zwięzłości. Informuje o udziale nieużywanego lub porzuconego kodu i pozwala ustalić jaka cześć zasobów powinna być przeznaczona na refaktoryzację kodu w celu poprawy jego jakości.

Dług techniczny i wadliwy kod

Wskaźnik długu technologicznego to miara obecności w kodzie rozwiązań, które, choć działają, są niezgodne ze specyfikacją projektu.  Wskaźnik wad to udział w kodzie, który choć jest poprawny składniowo, nie wykonuje prawidłowo swojej funkcji. Obydwa wskaźniki są miarą jakości kodu i im są niższe, tym lepiej.

Szczególnie ważne jest utrzymanie wskaźnika długu technicznego na kontrolowanym poziomie, ponieważ nadmierne zaciąganie go może doprowadzić do konieczności przepisania całości funkcjonalności od nowa w ramach refaktoryzacji, co może zagrozić stabilności wyprodukowanego oprogramowania, które skierowano już do publikacji.

KPI w rozwoju oprogramowania

Kluczowe wskaźniki wydajności są skutecznym narzędziem nadzoru i kontroli nad procesem powstawania oprogramowania. Jednak dynamiczność projektów tworzących kod, zmienność technologii i wymagań powoduje, że nie można traktować dostarczanych przez nie informacji bezkrytycznie. Dlatego w zarządzaniu firmą produkującą software równie ważna jak wskaźniki, jest wiedza ekspercka i uczciwa komunikacja z doświadczonymi członkami zespołów niebędących managerami. 

Brak komentarzy

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Grzegorz Surmacz

UX Lead

UX Lead i designer z mocną podstawą analityczną, koordynuje dział UX/UI, projektuje aplikacje mobilne, webowe i duże systemy informatyczne

Newsletter