Llegamos a ustedes gracias a:



Reportajes y análisis

Siete pasos importantes para mejorar la calidad del software

[30/08/2010] Los errores de software son llamados "bugs" (insectos, en inglés) por una razón: Estos bichos han existido desde hace mucho tiempo, siempre aparecen en el código en los momentos más inoportunos, y no hay manera probada de erradicar su existencia.

El brutal clima de negocios actual, caracterizado por la escasez de tiempo y de personal, así como intensas presiones de costos, ha causado que "la necesidad de velocidad" sea lo más importante para los equipos de desarrollo; en lugar de asegurarse que la calidad sea el trabajo N º 1.
Pero eso no significa que los equipos de desarrollo de aplicaciones tengan que aceptar las cosas tal como son ("el software siempre tendrá errores") y desechar cualquier idea de mejorar la calidad de su código.
Un nuevo informe de Forrester Research, Siete prácticas pragmáticas para mejorar la calidad del software desarrollado por los analistas Margo Visitación y Mike Gualtieri, ofrece formas prácticas, basadas en la realidad, en las que los equipos pueden mejorar la calidad de su código. Forrester define el software de calidad como: "El software que cumple con los requerimientos del negocio, proporciona al usuario una experiencia gratificante, y tiene menos defectos".
Los analistas están muy conscientes de los principales problemas que afectan a los equipos de desarrollo, por lo cual sus consejos buscan minimizar los costos potenciales y las molestias involucradas.
"Muchos equipos de desarrollo de aplicaciones empresariales invierten en herramientas, procesos y personas; sin embargo, muchos siguen luchando por mejorar la calidad", explican Visitación y Gualtieri. Por lo tanto, los analistas afirman que sus siete piezas de consejos pragmáticos no causarán sobrecostos, ocasionarán una rebelión entre los miembros del equipo o ralentizarán el proceso de desarrollo.
"La calidad no puede ser rociada en una aplicación justo antes de ser expuesta a sus clientes", escriben los analistas. "Más bien, debe ser una parte del ciclo completo de vida de desarrollo de software (o software development life cycle - SDLC), desde el inicio hasta su implementación. Bajo esta perspectiva, la responsabilidad por la calidad recae directamente sobre los hombros del gerente de desarrollo de aplicaciones. No es responsabilidad exclusiva de los profesionales de control de calidad. Éste es un breve resumen de los siete pasos, tomados directamente del informe de Forrester:
Práctica 1: Defina la calidad
Impacto en la Calidad: Satisfaga los requerimientos del negocio; logre una experiencia de usuario satisfactoria.
Beneficio: Su capacidad para lograr la calidad mejora, porque el equipo de desarrollo de aplicaciones no se llena de expectativas demasiado perfectas. Por el contrario, está alineado con una definición de la calidad que se ajusta a los tiempos establecidos, los recursos y las limitaciones presupuestarias.
Roles relevantes: Clientes internos del negocio; todo el equipo de desarrollo de aplicaciones.
Práctica 2: Difunda métricas simples de calidad
Impacto en la Calidad: Reduce los defectos.
Beneficios: Las métricas altamente visibles mantienen la calidad en la mente de todo el equipo y muestran cuándo los esfuerzos se quedan cortos.
Roles relevantes: Todo el equipo de desarrollo de aplicaciones.
Práctica 3: Afine las metas individuales y del equipo para incluir la calidad
Impacto en la Calidad: Se cumple con los requerimientos del negocios, se logra una experiencia de usuario satisfactoria; se reducen los defectos.
Beneficio: Los miembros del equipo se desempeñan de acuerdo a sus incentivos, hacer de la mejora de la calidad parte de sus metas refuerza la conducta deseada.
Roles relevantes: Gerencia.
Práctica 4: Obtenga los requisitos adecuadamente
Impacto en la Calidad: Cumple con los requerimientos del negocio, logra una experiencia de usuario satisfactoria.
Beneficio: Menos reelaboración significa menos repetición de pruebas y menos ciclos, lo cual reduce enormemente el esfuerzo general.
Roles relevantes: Gerentes, analistas de negocio, diseñadores de experiencia del usuario, arquitectos.
Práctica 5: Realice pruebas más inteligentes para efectuar menos pruebas
Impacto en la Calidad: Reduce los defectos.
Beneficio: Un enfoque en evaluaciones de las áreas más riesgosas y cruciales asegura que reciban la mayor parte de los recursos para evaluaciones y que cualquier bug que haya estará circunscrito a las características de menor importancia.
Roles relevantes: Control de calidad, gerentes.
Prácticas 6: Diseño de aplicaciones para disminuir el riesgo de errores
Impacto en la Calidad: Reduce los defectos.
Beneficio: Diseños más simples y limpios producen código que es más simple, más limpio y más fácil de evaluar y volver a trabajar, lo cual significa que el código tendrá menos errores y que esos bugs serán más fáciles de diagnosticar y reparar.
Roles relevantes: Arquitectos, desarrolladores.
Práctica 7: Optimizar el uso de las herramientas de prueba
Impacto en la Calidad: Reduce los defectos.
Beneficio: La automatización libera recursos de las pruebas comunes para enfocarse en las pruebas de alta prioridad e incrementa la posibilidad de repetición de los ciclos de pruebas.
Roles relevantes: Control de calidad, desarrolladores.
Visitación y Gualtieri concluyen que la calidad del software es un deporte de equipo, y todos tienen que jugar.
"La calidad debe ir más allá del alcance de solo los profesionales de control de calidad para convertirse en una parte integrada del ciclo completo de vida del desarrollo de software, para reducir el trabajo redundante que mata cronogramas, mejora la satisfacción del usuario y reducir el riesgo de requerimientos no funcionales no probados tales como la seguridad y el rendimiento", afirman los analistas, agregando: "Los administradores deben hacer la calidad medible e incentivar a todos los puestos del equipo a mejorarla".
Thomas Wailgum, CIO.com