A tudás és a tapasztalat próbája: hogyan lehet mérni egy jó fejlesztő teljesítményét multinacionális környezetben?
Az előző poszt-on, A jó fejlesztő dilemmáján csavarnék egyet és játékra hívom a Kedves Olvasókat. A feladat nagyon egyszerű: adjanak meg olyan szoftver metrikát, ami szerint Angel jobb, mint Devil.
A háttérről röviden:
Angel és Devil fejlesztők, mindketten egy nagy multinacionális cégnél dolgoznak, több száz társukkal együtt.
Angel jól dolgozik, szakmailag hozzáértő és tapasztalt. Ha egy hibát lát, akkor a hiba okát keresi meg és azt javítja ki. Hosszú távú megoldásokat keres. Az általa megírt kód stabil és hibamentes.
Devil az ő ellentéte: gyorsan és hanyagul dolgozik. Mindig rövid távú megoldást keres, nem ás a dolgok mélyére. Az általa írt kódban újabb hibák bukkannak fel.
A vezetőség szeretné mérni a fejlesztők hatékonyságát, hogy megszabaduljanak a rossz fejlesztőktől és megjutalmazzák a jókat. Ez nem egyszerű, hiszen több száz fejlesztőről van szó, nagyméretű rendszerekről, amiken egyszerre akár több tucat fejlesztő is dolgozik. A felhasználó bázis is óriási. A vezetőség nem ismeri személyesen se a felhasználókat, se fejlesztőket, se a fejlesztési vezetőket, ezért valamilyen könnyen és objektíven mérhető metrikát szeretnének.
Arra kérném az Olvasókat, hogy adjanak tanácsot a vezetőségnek, milyen metrikát kellene alkalmazni – amivel kiderül, hogy Angel munkája értékes és Devil munkája nem az.
Néhány megjegyzés:
- Az ügyfél elégedettség nem objektív metrika.
- A fejlesztők főnökének véleménye nem objektív metrika.
- A regression bug-ok száma nehézkesen mérhető, hiszen ugyanazon a szoftveren egyszerre több változtatás is fut.
- A szoftverek, amiken a fejlesztők dolgoznak, különböző méretűek, tehát ha valakinek sok munkája van a másiknak pedig kevés, az önmagában nem jelent semmit.
- Józan paraszti ész nem számít, csakis amit az Excel mutat J
Segítségképpen leírok pár metrikát, amik BIZTOSAN NEM JÓK:
- Lezárt hibajegyek száma: A helpdesk rendszerből könnyedén kinyerhető információ. Devil gyorsabban dolgozik, ezért több hibajegyet zár le, mint Angel.
- Functional Point Analysis: Lásd előző, Devil gyorsabb fejleszt ki egy-egy funkciót, mint Angel. A statisztika ugyebár nem mutatja ki, hogy utána a funkciót hányszer kell bugfix-elni.
- Program size: A megírt kódsorok számában is feltételezhetően Devil nyer (spagetti kódolás), szemben Angel jól átgondolt tömör kódjával.
- TCO: Mivel Devil egységnyi idő alatt több kódot ír és több funkciót készít el, ezért az egységnyi funkcióra eső fejlesztési költség is alacsonyabb.
- ROI: Mivel Devil gyorsabban készíti el a funkciókat, ezért több üzleti értéket teremt – legalábbis papíron.
Utolsó kommentek