Asegurando la calidad de tus recuerdos con SonarQube



Tras toda la innovación digital de Hofmann, se encontraban múltiples proyectos de software que necesitaban ser analizados para asegurar la operativa del negocio.

Aplicaciones para móvil y escritorio que descargan los usuarios para poder crear productos personalizados, el ecommerce (backoffice y pasarela), un dashboard de producción, apps de uso internet o toda la suite de la fábrica de producción, son algunos de los ejemplos del software que maneja Hofmann.

Caso de exito de Hofmann y excentia

Claves del proyecto

Situación inicial

Hofmann no tenía ningún tipo de control sobre su código ni eran capaces de medir la calidad de su software ni de las entregas de sus proveedores.

El objetivo

Ante esta situación lo teníamos claro. El objetivo del proyecto era centralizar el control y la gestión de todo el software.

La solución

Implantación de SonarQube, SonarLint y su integración con herramientas como Jenkins y migración a repositorios de control de versiones.

Logo Hofmann

Hofmann, empresa líder en álbumes digitales y productos de fotografía personalizados, transformó su producto físico en toda una revolución digital.

Desde los marcos físicos que tienen nuestras abuelas hasta los actuales álbumes digitales personalizados y es así como esta empresa valenciana ha estado presente en la historia de la fotografía.

La necesidad de medir la calidad del código

Esta situación en la que internamente no se participaba en gran parte del desarrollo, provocaba un sentimiento de frustración en el equipo de Hofmann porque no se sentían útiles al no poder participar en el desarrollo de software.

Además, su código se encontraba en un estado de descentralización y descontrol porque no había un lugar único en el que residiesen las aplicaciones software de la compañía. Por si fuera poco, esta situación también implicaba una respuesta muy lenta a errores y un reporte de bugs muy pobre. Con este contexto, teníamos claro que el primer paso era centralizar el control y la gestión de todo ese software.

Jira Software para equipos de desarrollo
Jira Software flujos de trabajo ágiles y avanzados

Recuperrar las riendas del control de versiones

Las aplicaciones de Hofmann se estaban convirtiendo en grandes proyectos críticos para el negocio, que se cambian constantemente sin ningún tipo de control. Cualquier error o cambio, se podía traducir en un gran impacto.

Con la incorporación del control de versiones, se pretendía no solo mejorar la gestión y transparencia en el código, sino proveer al equipo técnico de un sistema de versiones que les permita mejorar el código de sus aplicaciones sin tener un impacto negativo y directo en el negocio. Una clara apuesta por trabajar en la calidad desde el principio, de manera escalable y transparente.

Hofmann y excentia, compañeros de viaje

Con excentia, Hofmann encontró un compañero que los acompañaría en el camino de inspección continua. El primer paso fue pasar del envío de binarios al FTP de Hofmann, a un SVN compartido. Se incorporó el control de versiones, siendo ésta la pieza clave y necesaria del entorno de calidad e integración continua que estaba arrancando.

Además, les ayudamos en la implantación de SonarQube y su integración con herramientas como Jenkins, creando un sistema completo de inspección continua de código.

Jira Software escala con tu empresa
Logo Hofmann

“Contar con el apoyo de excentia nos resulta muy útil. Nos proporcionan nuevas ideas basadas en toda su experiencia. Nos presentaron un proyecto estructurado en fases muy bien identificadas que nos transmite mucha confianza. Su incorporación ha resultado enriquecedora para todos los implicados, tanto para Hofmann como para los proveedores externos”

Mejorar la calidad del código es posible

¿Qué hemos hecho junto a Hofmann para mejorar la calidad del código?

Jira Software Cloud soluciónes personalizada
  • Migración a repositorios de Git/GitHub de todo el código.
  • Construir un entorno de calidad e integración continua, que permita una detección temprana de errores, basada en Git/GitHub + Jenkins + SonarQube + Pruebas unitarias y automáticas.
  • Implantación y configuración de SonarQube y SonarLint para análisis estático de código.
  • Implantación y configuración de SonarQube y SonarLint para análisis estático de código.
  • Definir una estrategia de *pipelines* y de pipelines multirama.
  • Definir estrategia de pruebas y planes de prueba bien definidos.
  • Evangelización del Clean as you Code para trabajar con código legado y aplicaciones críticas.

Y al final, Clean Code para Hofmann

Con todas estas acciones, poco a poco, Hofmann fue conociendo mejor su código, se ha depurado la detección de errores y como consecuencia son más concretos a la hora de reportar bugs.

Tras un primer análisis, el equipo de Hofmann pudo identificar los bugs bloqueantes o críticos y centrarse en su reparación, priorizando así mejor sus tareas. La foto inicial mostró un buen estado en la calidad del código con muy buenos datos de mantenibilidad, y calificaciones adecuadas en seguridad y fiabilidad. No obstante, se detectó un alto porcentaje de código duplicado.

Con toda esta información, Hofmann conoce sus virtudes y defectos, el código y la calidad de este que le ofrecen sus proveedores, y puede trabajar bajo una metodología definida y argumentada, sin afectar al funcionamiento del negocio.

Recibe las últimas novedades sobre nuestros productos y servicios directamente en tu bandeja de entrada