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.
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ů
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:
- 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
Zatím žádné komentáře.