Para el que no lo sepa, Sonar es una herramienta que sirve para recolectar métricas de muy diversa índole y mostrarlas juntas. Por ejemplo, recopila los tests (maven’s surefire), la cobertura de los mismos (Cobertura), análisis estático (PMD), acomodación a reglas de estilo (checkstyle), etc. Además, elabora históricos, con lo que podemos ver la evolución y todo… Se puede jugar con él durante horas para ver todas las métricas, hipervinculadas con el código, con los tests, etc. Muy chulo.
Examinar un “dashboard” de Sonar es, sin embargo, un tanto agobiante. Mucha información. En mi opinión: demasiada. Ya lo hemos discutido varias veces en la lista de “agile-spain” y en “foro-agiles”, pero mi postura sigue siendo la misma: mejor pocas métricas pero que ayuden que muchas pero que despisten. El objetivo fundamental de un equipo de desarrollo es, desde un punto de vista agilista, claro, entregar valor al cliente al final de cada iteración y de manera sostenible en forma de software que funciona. Y esto es relativamente fácil de medir: cuánto incremento de valor hay en cada iteración. Lo ideal sería medirlo en euros, pero quizás algo complicado… mejor en puntos de historias de usuario.
De todos modos, Sonar es una herramienta que, convenientemente afinada, puede ser de gran, gran ayuda para los perfiles responsables de mejorar la calidad interna de los proyectos. Con Sonar se pueden preparar sesiones de revisión de código muy productivas. En cualquier caso, ésta es una discusión muy rica.