Herramienta para comparar procesos de software de Pymes

Los resultados de los desarrollos de software siguen siendo mayoritariamente inciertos, como hace 10 o 15 años atrás. Varios estudios actuales indican que menos del 50% de los proyectos de software desarrollados son considerados exitosos. Sin embargo, esta tasa de éxito se reduce considerablemente si sólo tomamos en cuenta los proyectos desarrollados por Pequeñas y Medianas Empresas (PyMEs) de software. Esta tasa de éxito de las PyMEs se puede explicar en parte, porque estas organizaciones cuentan con menos recursos económicos y humanos que el resto de las empresas. Además, los desarrolladores de estas empresas cuentan usualmente con un nivel de experiencia y conocimiento mediano-bajo. Por otra parte, los procesos de desarrollo de software de los que disponen las PyMEs son muy informales e inmaduros. Esto se debe a que usualmente ocupan un proceso propio que, basado en experiencias previas, les ha dado resultados satisfactorios. Típicamente estos procesos no toman en cuenta las buenas prácticas de la industria u otros procesos de desarrollo estándares, debido a que los ingenieros de proceso o jefes de proyectos de estas empresas no son muy conscientes de qué prácticas son recomendadas. Por lo tanto, no saben bien cómo intervenir sus procesos para hacerlos más robustos, eficientes, efectivos y previsibles. Esto representa un gran problema, debido a que las PyMEs de software conforman la mayor parte de la industria del software a nivel mundial. El presente trabajo de memoria busca ayudar a mejorar los procesos de software de las PyMEs, y de esa manera lograr mejorar indirectamente la tasa de éxito y la previsibilidad de los proyectos de software desarrollados por este tipo de empresas. Para lograr ese objetivo se desarrolló una plataforma Web que permite a sus usuarios ingresar el proceso de desarrollo de software de una PyME, y compararlo contra procesos de otras empresas o contra estándares y recomendaciones internacionales. Como resultado de esa comparación se muestran las prácticas recomendadas, las cuales han sido consideradas en el proceso de software de la PyME, y también aquellas que no han sido incluidas en dicho proceso. Utilizando el resultado de estas comparaciones entre procesos, se pretende que los ingenieros de proceso o jefes de proyecto puedan mejorar, refinar u obtener un proceso de desarrollo de software que se ajuste a sus necesidades y les proporcione resultados satisfactorios, cumpliendo además con las buenas prácticas de la industria. El tener un proceso de software más definido y personalizado usualmente ayuda a disminuir el riesgo de los proyectos de software. Para lograr esto no se necesita que las empresas inviertan una gran cantidad de recursos, debido a la naturaleza pública y gratuita de la plataforma desarrollada. La plataforma permite además obtener información estadística a partir de la comparación de procesos, la cual proporciona una guía para mejorar o personalizar los procesos de interés de cada usuario o empresa. Luego de diversas pruebas realizadas a la plataforma Web, y gracias a la retroalimentación de múltiples usuarios (quienes eran expertos en procesos de desarrollo de software), se ha llegado a la conclusión de que la herramienta funciona correctamente y compara los procesos de acuerdo a lo esperado. Sin embargo, ésta aún necesita mejorar su usabilidad, para así llegar a tener el impacto que se espera. Claramente, la mejora de este aspecto es parte del trabajo a futuro.