A metrikák veszélyei

Régóta tervezünk írni a metrikákról, mert úgy látjuk, hatalmas félreértés övezi őket – agilitástól függetlenül is.

A metrikák eszközök, amik egy szempontból adnak visszajelzést a vizsgált témáról. Ennyi, és nem több. Fontos kihangsúlyozni, hogy a metrikák nem célok! Valamint azt, hogy nagyon veszélyes pusztán pár szám vagy egy grafikon alapján, a helyzet pontos megértése nélkül megpróbálni következtetéseket levonni. Kényelmes és gyors persze, de nagyon kockázatos. A metrika megmutathatja (de nem feltétlen teszi), ha van probléma, de az okokat a legtöbb esetben nem képes felfedni.

Nézzünk egy konkrét példát! Pár hete egy tréningen azt mesélte egy résztvevőnk, hogy a projektjükről budget-vágás miatt el kellett engedni egy csapatot, és jobb híján a burn-down chart alapján döntötték el, melyik csapat legyen ez. Megkérdezte, mit gondolunk erről a megoldásról. Természetesen azt, hogy hatalmas hiba volt. De miért?

Tegyük fel, hogy két vizsgált csapat burn-down-ja így néz ki:

Tegyük fel, hogy az elmúlt 8 sprintben hasonlóan alakultak a görbék a csapatoknál. Ha csak ezt a metrikát figyeljük, a legtöbben valószínűleg az “A” csapatot tekintenék jobbnak, őket kell megtartani. Miért? Gyönyörű a görbe íve, szépen megy lefelé, ráadásul el is fogytak a feladatok, tehát minden bizonnyal mindent leszállítottak, amit beterveztek a sprintbe.

Hol van akkor a csapda?

A teljesség igénye nélkül, pár dolog, amit egy-egy ilyen burn-down chart elfedhet:

Látható, hogy ugyanaz a chart rengeteg dolgot jelenthet, és ezeknek a jelenségeknek csak egy részében mondhatjuk ki, hogy a csapat a felelős. Óvatosan kezeljük tehát a metrikákat! A helyes megoldás bármilyen helyzetben:

Agilis metrikát ötvenes nagyságrendben simán fel tudnánk sorolni – későbbi post-okban tervezünk is pár példát hozni -, de természetesen nem érdemes mindegyiket, mindig használni. A megfelelő metrikák kiválasztásához inkább két támpontot adunk:

metrics_matrix.png

A mátrix egyik dimenziója azt mutatja, hogy milyen folyamatra vonatkozik a metrika: részfolyamatra (pl.: fejlesztés, tesztelés, üzemeltetés, stb.), vagy a teljes end-2-end value streamre. A másik dimenzió pedig, hogy ez a metrika érdekli-e az ügyfelet. Ügyfél alatt mindig a termék ügyfelét értsük, tehát egy outsourcing vagy alvállalkozó cégnél nem a megrendelőt, hanem a termék vásárlóját.
A legtöbb szervezet az ügyfél számára lényegtelen, részfolyamatra vonatkozó metrikákra koncentrál. Kedvenc példánk erre a code coverage. Nincs baj az ilyen metrikákkal, csak túl vannak hangsúlyozva. Amire az igazi fókuszt helyezni kéne, az a szemközti kvadráns: az ügyfél számára fontos, end-2-end metrikák. Például: time-to-market, hiba trendek, szállított üzleti érték, customer retention …

Befejezésül még egy példa a metrikák megtévesztő erejére: a magyar futballválogatott idén 30 éve nem kapott gólt EB-n. Örülünk? 🙂