Revision Colaborativa
Contenido
Contexto
Un proyecto de desarrollo de software, especialmente cuando es distribuido, que necesita mejorar la calidad de los artefactos internos generados. El proyecto debería ya poseer Control De Versiones.
Problema
Estas revisiones de software se consideran esenciales para la reducción de errores en el proceso de desarrollo de software (PRESSMAN, 2006). Sin embargo los equipos distribuidos tienen dificultades para llevar a cabo un proceso de revisión formal. Los registros de las revisiones, cuando se mantienen de manera descentralizada, pueden ser difíciles de encontrar y pueden dar lugar a retrasos en el proceso.
Fuerzas
- Las pruebas unitarias, integradas, y de aceptación y las métrica de producto no detectan todos los posibles defectos del código.
- Las técnicas y prácticas de programación no suele ser compartidas por todos los miembros del equipo de desarrollo. El código, de esta manera, no es generado de la mejor manera por todos los programadores.
- Los equipos encuentran difíciles de mantener y documentar las inspecciones y revisiones de software, especialmente en equipos distribuidos.
Solución
Utilice herramientas de revisión colaborativa, que centralicen en una base de datos todos los detalles relacionados con las revisiones hechas en un producto.
Raciocinio
Las revisiones e inspecciones de código se consideran estrategias fundamentales para la prevención y la detección de defectos. Según Gilbs y Graham (1993), encontramos las siguientes estadísticas en las grandes empresas que refuerzan la importancia de las revisiones e inspecciones sobre los proyectos de desarrollo de software:
- Raytheon redujo el retrabajo del 41% al 20%. Disminuyo el tiempo de prueba a la mitad.
- Una compañía de telecomunicaciones gastaba $200 para corregir un defecto a través de la inspección. El mismo defecto costaría $4.200 dólares para corregirlo si fuese reportado por los clientes.
- Infosys, por cada día de gasto de inspección, se redujo de tres a seis días el tiempo empleado en la corrección de defectos durante la fase de pruebas.
- El Programa de inspecciones de HP tuvo un rotorno de la inversión de un diez a uno.
- AT & T tuvo 14% de aumento de la productividad y un aumento de diez veces en la calidad.
- En Bell, la detección de defectos a través de las revisiones es de dos a cuatro veces más rápido que detectar a través de pruebas.
- Primark economizó 30.000 horas de esfuerzo con las inspecciones.
- Litton gastó sólo el 3% del coste total del proyecto en las revisiones y redujo el número de errores en un 30%. También se redujo el tiempo para la integración de los módulos de los productos a la mitad.
Contexto Resultante
El proyecto cuenta con una infraestructura adecuada para reunir, organizar y gestionar el proceso de revisiones.
Las revisiones de código se llevan a cabo mediante la integración de la herramienta de revisiones con el Control De Versiones. Los cambios de código almacenados con Control De Versiones se asignarán y se revisarán dentro de la herramienta de revisiones.
Patrones Relacionados
Herramientas
Herramientas Para Revision Colaborativa
Reconocimientos
- (DEMARCO e LISTER, 2003)
- (JALOTE, 2003)
- (GILB e GRAHAM, 1993)
- (MCCONNELL, 1996a)
- (RICHARDSON e GWALTNEY, 2005)
- (TATE, 2005)