Zpět na domů

Analýza Git-logů: skrytá data o týmu a metrikách projektu

Článek popisuje metody analýzy logů Git pro získání skrytých dat o týmu vývojářů a metrikách projektu. Zahrnuje analýzu emailových adres, vzorců commitů, lingvistických vlastností a odhad velikosti týmu prostřednictvím čísel úkolů. Materiál je určen pro technické specialisty a manažery.

Git-logy: co vypoví o vašem týmu?
Advertisement 728x90

Jak získat skryté údaje o týmu z Git logů: od osobních návyků po metriky projektu

Analýza logů Git umožňuje odhalit nezřejmé vzorce v práci týmu, počínaje osobními údaji vývojářů až po strukturu projektu. Tyto metody, i když neposkytují 100% přesnost, nabízejí jedinečné poznatky pro technické vedoucí a DevOps inženýry.

Získávání osobních údajů prostřednictvím e-mailových adres

E-mailové adresy v komitech často obsahují informace, které přesahují pracovní kontext. Prvním krokem je stažení logů pomocí příkazu:

git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > log.txt

Po získání souboru lze přistoupit k analýze.

Google AdInline article slot

Určení roku narození

Filtrování osobních e-mailů (gmail.com, yandex.ru, mail.ru) a hledání číselných sekvencí v přihlašovacích jménech umožňuje odhadnout rok narození. Kritéria: rozdíl od současného roku musí být od 18 do 70 let.

Odhalení osobních projektů

Google AdInline article slot

Vyloučením technických e-mailů GitHub lze vytvořit odkazy na profily vývojářů, což pomáhá odhalit jejich vedlejší aktivity. To je užitečné pro hodnocení zapojení a odbornosti.

Analýza hardwaru

V macOS e-mail ve výchozím nastavení může obsahovat název zařízení (např. Macbook-Air-Alex). To umožňuje klasifikovat uživatele:

Google AdInline article slot
  • Vlastníci MacBook Pro;
  • Vlastníci MacBook Air;
  • Ostatní (jiné systémy).

Ačkoli přímá korelace s rolí (frontend/backend) není prokázána, data mohou naznačovat korporátní standardy.

Výzkum síťové infrastruktury

Když název zařízení není dostupný, macOS může vložit lokální IP adresu. Analýza rozsahů adres (např. koncovky .49, .50, .51) umožňuje odhadnout počet zařízení v síti, ačkoli přesnost závisí na konfiguraci DHCP.

Analýza vzorců komitů a pracovního postupu

Četnost a charakter komitů odhalují detaily pracovního rozvrhu a složení týmu.

Vytvoření grafu dovolených

Dlouhé přestávky v komitech (týdny nebo měsíce) mohou naznačovat dovolenou, přeřazení do jiného oddělení nebo změnu práce. V týmech s nastavenými procesy to poskytuje relativně přesný obraz. Vedoucí týmů, kteří věnují více času schůzkám, mohou vykazovat minimální aktivitu, což je také indikátor.

Výpočet zbývajících dnů dovolené

Na základě odpracovaných let (předpokládá se 28 dnů dovolené ročně podle českého zákoníku práce) a odhalených přestávek lze odhadnout nevyčerpané dny. Důležité je zohlednit změnu e-mailových adres, která může signalizovat přeformulování v jiné právnické osobě.

Identifikace vícejazyčných vývojářů

Hledání lingvistických chyb v commit zprávách pomáhá identifikovat mluvčí různých jazyků. Příklady vzorců:

  • Použití „and etc“ místo „, etc“ (čeština v angličtině);
  • Čárka před „and“ ve výčtech (anglická interpunkce);
  • Přehlédnutí jako „ano“ místo „año“ (španělština).

Katalogizace takových chyb umožňuje předpokládat kulturní pozadí, což je důležité pro distribuované týmy.

Určení lokace kanceláře

Kombinace dat o časovém pásmu, e-mailu a jazykových vzorcích pomáhá odhalit hlavní pracovní místo většiny vývojářů. Ačkoli metoda je méně přesná v éře vzdálené práce, je užitečná pro historickou analýzu nebo hodnocení koncentrace týmu.

Technické poznatky a metriky projektu

Logy Git obsahují informace o stavu kódové základny a infrastruktuře.

Kandidáti na refaktorování

Použitím heuristik lze automaticky identifikovat problematické soubory:

  • Velká velikost (více než 600 řádků);
  • Časté změny (více než 50 úkolů);
  • Vyloučení konfigurací a testů (podle přípon .json, .xml).

Tento přístup, i když přibližný, často poukazuje na skutečné body růstu technického dluhu.

Objevení infrastruktury

Záznamy o sloučení větví nebo PR mohou obsahovat externí adresy repozitářů (např. odkazy na GitHub nebo Bitbucket). Analýza těchto dat odhaluje historii migrací mezi systémy pro ukládání kódu.

Identifikace systémů ukládání

Syntaktické rozdíly v logech umožňují určit používanou platformu:

  • GitHub: „Merge pull request #...“;
  • Bitbucket: „Pull request #...“;
  • Variace uvozovek kolem názvů větví.

To pomáhá sledovat přechody mezi nástroji.

Hodnocení velikosti týmu a backlog

Čísla úkolů z commit zpráv slouží jako základ pro metriky produktivity.

Výpočet rychlosti práce

Algoritmus hodnocení:

  • Extrahování čísel úkolů (např. HABR-123) z komitů;
  • Seskupení podle dat pro určení objemu dokončených úkolů;
  • Počítání jedinečných přihlašovacích jmen vývojářů – aktuální pracovní skupina;
  • Výpočet průměrného počtu úkolů na osobu za období.

Určení rychlosti vytváření úkolů

Analýza nárůstu čísel úkolů za týden dává ukazatel „rychlosti vytváření“. Jeho rozdělení na „průměrný počet úkolů na osobu“ umožňuje odhadnout celkovou velikost oddělení, včetně analytiků a testerů.

Validace dat prostřednictvím vydání

Častá vydání a hotfixy zajišťují aktuálnost čísel úkolů, protože jsou vytvářeny přímo před opravou. To snižuje chybu spojenou s backlogem.

Odhad velikosti backlogu

Historická analýza umožňuje sledovat, kdy byly úkoly vytvořeny a kdy vzaty do práce. Procento úkolů z backlogu v celkovém objemu za období poskytuje představu o vytíženosti týmu a plánování.

Co je důležité

  • Analýza Git logů – mocný nástroj pro získání poznatků o týmu a projektu, ale vyžaduje kritickou interpretaci kvůli pravděpodobnostnímu charakteru metod.
  • E-mailové adresy a vzorce komitů mohou odhalit osobní údaje, což vyvolává otázky etiky a bezpečnosti – používejte takové metody pouze v korporátním kontextu s dodržováním politik.
  • Metriky na základě čísel úkolů (velikost týmu, backlog) jsou užitečné pro řízení projektů, ale jejich přesnost závisí na disciplíně vedení trackeru a frekvenci vydání.
  • Lingvistická analýza commit zpráv pomáhá v distribuovaných týmech pro pochopení kulturní rozmanitosti a potenciálních komunikačních bariér.
  • Automatické odhalení kandidátů na refaktorování prostřednictvím heuristik (velikost souboru, frekvence změn) je efektivní pro prioritizaci technického dluhu, ale mělo by doplňovat code review.

— Editorial Team

Advertisement 728x90

Číst dál