Det man mäter det får man

Johan Lindfors skriver om kvalitet och undrar om man som kund skall ställa krav på olika mättal som "code coverage" och "maintainability index" i sina mjukvaruprojekt.

Jag menar att det är kontra produktivt att ställa upp denna typ av krav. Mary och Tom Poppendieck skriver i sin bok Implementing Lean Software Development From Concept to Cash att:

"Det man mäter det får man" (min fria översättning)

En av grundpelarna i Lean Software Development är:

Optimize the Whole

Kombinerar man ihop dessa så menar jag att det man skall mäta istället för "code coverage" och "maintainability index" så bör man mäta levererad kundnytta/affärsvärde.

Mättal som "code coverage", "maintainability index", "cyclomatic complexity" kan man dock följa upp under projektets gång och använda som ett diskussionsunderlag för att driva utvecklingen mot en bättre design och bättre coverage av koden för unit-, integration- och acceptans-tester. Problemet är dock att bara för att man t.ex. har en hög coverage så innebär det inte att man har unit tester som testar tänkta funktionaliteten. När jag kör kodanalys på delar av vår kod så kan kod som är två skiktad och som är mycket svår att testa få ett högre "maintainability index" än vår vältestade och välstrukturerade kod. Är man då som kund inte insatt i att detta kan uppstå så är det lätt att man får en felaktig uppfattning om vad som är bra och dålig kod.

Min slutsats: Skall man mäta så är det levererat affärsvärde per iteration som är intressant.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s