Codermetrics: Analytics for Improving Software Teams è un testo pubblicato da O'Reilly, che si propone di introdurre alcune metriche del codice, che consentano di valutare i team software al fine di apportare migliorie al processo di sviluppo.
L'autore,
Jonathan Alexander, ha più di 25 anni di esperienza nello sviluppo software ed è vicepresidente della divisione Engineering di
Vocalocity, azienda che si occupa di telecomunicazioni in ambienti basati sul cloud.
Trattandosi di un
testo introduttivo alla gestione dei team software, il
target di destinazione non include solo team leader e team manager, ma anche sviluppatori interessati ad approfondire questi temi al fine di iniziare a gestire dei team di sviluppo software. Il testo è organizzato in
nove capitoli, ognuno dei quali è suddiviso in paragrafi e sottoparagrafi, che guidano il lettore nella comprensione degli argomenti. All'inizio del testo c'è l'indice dei contenuti in versione dettagliata che contiene i paragrafi dei capitoli e le sottosezioni. Alla fine del libro sono presenti due appendici, la
bibliografia e l'
indice analitico. I contenuti del testo sono organizzati in tre parti, pensate per essere lette in maniera sequenziale e ogni parte si compone di tre capitoli.
La
prima parte introduce in maniera abbastanza dettagliata le metriche del codice: il primo capitolo introduce i motivi e gli obiettivi del testo; il secondo capitolo descrive i concetti generali sulle metriche, e in particolare quelle riguardanti gli sviluppatori, l'analisi delle prestazioni di un team di lavoro; il terzo capitolo fornisce alcuni consigli su quali siano i dati importanti da prendere in considerazione e su come ottenerli.
La
seconda parte rappresenta una guida di riferimento, che spiega ciascuna metrica con esempi e note: il quarto capitolo approfondisce le metriche per valutare le competenze e i contributi di uno sviluppatore; il quinto capitolo approfondisce le metriche basate sui feedback (positivi e negativi) degli utenti sul software; il sesto capitolo approfondisce le metriche che evidenziano il valore che uno sviluppatore è in grado di apportare all'interno di un team di lavoro.
La
terza parte fornisce dei consigli per introdurre le metriche nel proprio team di sviluppo: il settimo capitolo mette a disposizione un approccio graduale per testare e introdurre metriche in una organizzazione e offre tecniche per usare le metriche nel processo di sviluppo; l'ottavo capitolo descrive come utilizzare le metriche per determinare le necessità di un team e come applicarle alla pianificazione delle attività, alle nuove assunzioni e per migliorare la formazione degli attuali membri del team; il nono capitolo conclude il testo con delle considerazioni sull'importanza delle metriche, su come gestire qualità importanti degli sviluppatori difficili da quantificare e come le metriche potrebbero essere migliorate ed espanse in futuro.
In sostanza si tratta di un testo introduttivo alle metriche del codice, che fornisce al lettore una chiave di lettura del team management nel mondo del software. I
numerosi esempi presenti mettono a disposizione risorse utili per chi vuole cominciare a utilizzare le metriche del software nel proprio team.

Il testo ha un approccio pratico che, in maniera molto discorsiva e con l'ausilio di qualche grafico, conduce il lettore nella comprensione delle tematiche prese in esame ricorrendo, talvolta, anche ad analogie con gli sport di squadra per semplificare la trattazione.

In alcuni punti sono presenti analogie col baseball, poco adatte a un lettore italiano, dato che in Italia lo sport del baseball e la terminologia associata sono poco noti. Questi riferimenti non pregiudicano comunque la comprensione del testo.