Noticias > Artículos de opinión

7 Claves para mejorar la calidad del software

12 Diciembre, 2015

Por Mamdouh El Cuera, Director Operaciones MTP

Los Negocios se sustentan cada vez más en las TIC, aumentando año a año los presupuestos que las Organizaciones, especialmente medianas y grandes empresas, destinan a las TIC en general y al Desarrollo y Mantenimiento de Aplicaciones en particular.

Este crecimiento cuantitativo unido a otros factores como:

  • El aumento del riesgo, y por lo tanto el incremento de las fuentes de error, por aspectos como la complejidad, variabilidad y heterogeneidad tecnológica,
  • La presión del time to market, que hacen que los desarrollos tengan unas fechas de puesta en producción prefijadas independientemente de cualquier otro aspecto,
  • El desequilibrio demanda – oferta de RRHH especializados, que hacen que a las tareas no se puedan dedicar recursos realmente preparadores y capacitados, 

llevan a la paradoja de que la Calidad del Software no se alinee con ese incremento presupuestario, sino al revés, en muchos casos, empeore.

Soluciones genéricas no existen, pero ciertos patrones se repiten con frecuencia. Éstos se han sintetizado en forma de 7 claves, que conducen al establecimiento de unas buenas prácticas que redundan, sin lugar a dudas, en la mejora de la Calidad del Software.

Clave 1: La actitud preventiva
En la Calidad del Software, al igual que en otras disciplinas, prevenir resulta ser la opción más efectiva y de menor coste. Es un hecho que el coste de la corrección de errores aumenta, en ciertos casos casi exponencialmente, a medida que se avanza en el ciclo de vida de desarrollo. Así, por poner un ejemplo sencillo: detectar y corregir un error en requisitos gracias a la actividad de revisión correspondiente es poco costoso: consistiría en modificar un documento y las posibles dependencias con otros. Corregir el mismo error cuando el sistema ya está en producción, supone realizar la petición de cambio correspondiente, modificar SW, documentar, probar, progresar SW entre entornos, etc.

Clave 2: Los procesos
Es básico definir los procesos que lleven a la industrialización de la construcción SW dentro de la Organización. Esto permite la realización de los distintos proyectos bajo pautas similares y reducir la dependencia en personas concretas. Es decir, se elimina el efecto héroe como única garantía para el éxito de los proyectos.
La definición, implantación, medición y mejora continua de los procesos no es una labor sencilla y requiere su tiempo. Hay que desconfiar de propuestas de cambios en procesos en tiempos cortos. Afortunadamente existen modelos (ej: CMMI y SPICE) que permiten no partir de cero para dotar de procesos de ingeniería, soporte y gestión a las Organizaciones.

Clave 3: Los productos
Los modelos basados en procesos parten de la hipótesis de que un proceso bien definido lleva a un producto de calidad, que al fin y al cabo es el objetivo primordial (junto a que hay que realizarlo dentro de unos costes razonables). Esa hipótesis es cierta, siempre y cuando dentro de los procesos se definan a su vez mecanismos de revisión (Verificación) de los distintos productos (entregables del proyecto).
Formalizar el proceso de revisión de los distintos entregables (productos), tanto documentación como código, permite garantizar que se ha generado lo que se requiere y que además no existen ambigüedades e inconsistencias, que introducen el riesgo de errores por asunciones no correctas.

Clave 4: La tecnología
Afortunadamente, y gracias en parte al tirón del Opensource, existen soluciones para automatizar gran parte de las actividades y tareas que integran los distintos procesos relacionados con el desarrollo, con una relación de costes razonable.
Estas soluciones sin lugar a dudas mejoran la eficiencia y efectividad de las Organización, pero hay que considerar ciertos aspectos para no fracasar en su implantación:

  • La selección de herramientas hay que considerarlo como un proyecto en sí y darle la importancia que tiene: establecer los criterios de selección, evaluar, hacer pilotos con las soluciones que mejor se adaptan a mis necesidades, etc.
  • Nunca adaptar los procesos a la herramienta seleccionada, sino al revés. Primero se definen los procesos y luego se seleccionan las herramientas que lo soportan.
  • Cuidar la integración entre distintas soluciones: por ejemplo, una herramienta de gestión de configuración es importante que esté integrada con una de gestión de requisitos.

 

Clave 5: La capacitación
El colectivo de recursos que se dedican a actividades relacionadas con la Ingeniería y Calidad SW ha crecido en los últimos años acorde a la oferta que se ha generado. Encontrar una carrera profesional coherente y completa para estos profesionales es casi inexistente. Certificaciones de gran prestigio en otras latitudes como la CSQE (Ingeniero SW) o ISTQB (Tester) en España son casi testimoniales.

Capacitar a los recursos y dotarlos de los conocimientos necesarios, apoyándose en Certificaciones ya contrastadas, permiten además de mejoras en el desempeño de las distintas actividades, aumentar la motivación y fidelización de los RRHH especializados.

Clave 6: Independencia
El rol del asegurador de la Calidad, como velador de que se están aplicando los procesos establecidos y los productos generados se ajustan a los requisitos, además de la especialización que necesita, requiere de una independencia.
Esto se puede conseguir tanto creando grupos internos con independencia organizativa de otras áreas involucradas en la construcción de aplicaciones, especialmente de las áreas de desarrollo; como mediante subcontratación a empresas especializadas e independientes.
Es decir, y por ejemplo, a la hora de licitar proyectos, separar la parte correspondiente al Aseguramiento de la Calidad, adjudicándolo a organizaciones distintas a las implicadas en el desarrollo.

Clave 7: Medir
Sin medir no se puede conocer el estado cuantitativo y por consiguiente tampoco se puede tener referencias para la mejora.

Para medir hay que definir dos aspectos:

  • Modelo de métricas, que estructura la información desde la capa de indicadores que aportan información (de los procesos, productos, financieros, etc.) hasta las métricas básicas que los componen.
  • Plan de medida, que detalla las distintas fases por los que tiene que pasar cualquier indicador, que normalmente se puede ajustar al PDCA de Deming: Plan, Do, Check y Act.

En definitiva, la aplicación de procesos de Verificación y Validación del software conlleva un aumento en la Calidad de los Productos, lo que implica una mayor productividad y un rápido retorno de la inversión. Al final para la empresa española apostar por la calidad del software supone una oportunidad de ahorro de costes.

Si desea ampliar la información sobre la propuesta de soluciones de Pruebas y SQA de MTP, no dude en ponerse en contacto con nosotros.

Compartir