martes, 23 de noviembre de 2010

Modelo de Negocio de Software Libre: Gestión de la calidad

En ocasiones, la calidad del software libre ha sido foco de debate entre promotores y detractores, poniendo de relieve aspectos como la apertura del modelo de desarrollo o la capacitación de los colaboradores que contribuyen al proyecto, por ejemplo. 

Como en cualquier proyecto de software, la producción de software libre debe establecer medidas de control de la calidad a lo largo de su ciclo de vida. Es decir, la calidad debe poder evaluarse y compararse con los baremos esperados en cualquier etapa de la producción y de la explotación, así como desde cualquier punto de vista (promotores, usuarios o comunidad). 

En este sentido, si bien la apertura y descentralización del modelo de desarrollo del software libre favorece los mecanismos de control y gestión de la calidad, no constituye una solución por sí misma ni debe dejarse sin planificar en base a estas particularidades. 
Para desarrollar los aspectos relacionados con la calidad en la producción de software libre, tendremos en cuenta el artículo "Managing Quality in Open Source Software" de Dhruv Mohindra, que realiza un estudio detenido sobre el control de calidad en entornos de software libre. En los próximos apartados revisaremos los principales conceptos que presenta el artículo. 

La calidad en el software libre 

En general, la calidad de una solución de software puede valorarse tanto por su arquitectura o diseño interno como por las funcionalidades que proporciona al usuario. 

Las particularidades de apertura y descentralización del modelo de desarrollo del software libre constituyen una infraestructura que permite establecer políticas de gestión de la calidad basadas en la localización y resolución de problemáticas (entre otros aspectos). Aun así, en ocasiones la falta de claridad y/o estructura de los procesos de producción puede generar resultados que no son los esperados. 

Evaluación de la calidad 

Existen diversas metodologías y métricas formales para evaluar la calidad funcional de una aplicación. Las métricas cuantificables dependen en gran medida de la tipología del mismo software, por lo que deben ser elegidas en función de las características y objetivos de la aplicación. 

En relación con la calidad no cuantificable, cabe destacar el papel que tiene la comunidad de software libre en este aspecto. Por una parte, los tests que realiza el equipo de calidad, y por otra, la propia actividad de los usuarios de la aplicación denotando las evidencias de errores de funcionamiento o de mejora del producto. 

En este sentido, el mismo carácter y funcionamiento distribuido y descentralizado de la comunidad de usuarios también es importante para dotar de más garantías de calidad el proceso de producción. 

Control y revisión 

Un factor importante para la calidad del producto final es el control y la revisión de todo el proceso de desarrollo. En general, los proyectos de producción de software libre utilizan sistemas de control de versiones para soportar con eficiencia y eficacia la evolución de los diferentes componentes del proyecto. 

Hay distintas formas de organizar el control y la revisión de la evolución del software, así como las ramas de desarrollo y repositorios (entre otros). En cualquier caso, conviene adaptar la metodología de producción y los sistemas de control y revisión de las evoluciones a las particularidades del proyecto y del producto que se está creando. 

Mitos del software libre 

A pesar del paso de los años, el software libre todavía arrastra algunos mitos –tanto positivos como negativos– que pueden influir en mayor o menor medida en su evaluación. 

Estos mitos no tienen ninguna base sólida sobre la que fundamentar una gestión coherente y sostenible de la calidad, por lo que se debe concretar y evaluar cada uno de ellos por separado. 

A continuación se comentan algunos mitos habituales relacionados con la calidad del software libre. 

  • El hecho de que el código fuente sea público no garantiza que sea seguro y/o de calidad, puesto que en cualquier caso depende del interés y revisión de la comunidad. 
  • La congelación de funcionalidades no aumenta la estabilidad de la aplicación por sí misma, porque lo importante es escribir buen código desde el principio. 
  • La mejor forma de entender un proyecto no es corregir sus eventuales fallos, puesto que la documentación es significativamente mejor para este objetivo. 
  • En general, los usuarios no disponen de la última versión del repositorio con la corrección de errores al día. 

A grandes rasgos, los procesos de prueba y revisión, así como las discusiones públicas y la cultura hacker propias de la comunidad de usuarios, deben complementarse con una planificación y gestión activa de la calidad de la producción. 

Esta gestión debe ir encaminada a cubrir eventuales lagunas en uno o más aspectos del producto, por ejemplo la planificación de la producción, desarrollo de las funcionalidades o la documentación de la aplicación. 

Consideraciones adicionales sobre la calidad 

En general, tanto la publicación del código fuente, como la incorporación de sistemas de gestión de errores y el hecho de compartir la responsabilidad sobre el producto entre todos los implicados son aspectos clave de la gestión de la calidad. 

En este sentido, también resulta importante para la calidad general del proyecto considerar la transparencia en todas las actuaciones, confiar en el equipo de desarrollo, revisar y probar todas las partes del código fuente y promover tanto la filosofía de igual a igual como la importancia de hacerlo bien desde el principio.

Fuente: UOC - Modelo de Negocio de Software Libre

No hay comentarios:

Publicar un comentario