Este pasado 1 de marzo, tuvimos el gusto de estar presentes en la Conferencia sobre PSP y TSP brindada por el la Licenciada Berta Valdez y el Ingeniero Alfonso Alva del SIE Center (Software Industry Excellence Center), gracias al apoyo de la Cámara de Tecnologías de la Información y la Comunicación, CAMTIC. El presente artículo tiene como objetivo compartirles el conocimiento que tuvimos la oportunidad de generar sobre este importante tema, esperando que les sea de mucha utilidad en el desarrollo de sus proyectos de software.
Situación mundial
A pesar de los intentos de algunas naciones para ser más competitivos en cuanto a costos mediante el uso de incentivos a las empresas para atraerlas, la India continúa teniendo el 51% del mercado de la Generación Global de Tecnología y Servicios de Negocios (Global Sourcing Technology and Business Services). Si analizamos un poco la razón de esto, veremos que la gran inversión que hicieron en la calidad es lo que los hizo surgir.
Iniciativa TSP (Team Software Process)
Como posible propuesta para los países que quieran aumentar su Mercado Nacional e Internacional, está la iniciativa TSP propuesta por el SEI de Carnegie Mellon (www.sei.cmu.edu). Lo que plantea hacer incentivos por parte del gobierno, a universidades y empresas desarrolladores de software para facilitar la obtención de certificaciones PSP/TSP con el objetivo de aumentar la calidad y productividad.
Una vez que la empresa esté con esta certificación, puede pasar mucho más fácilmente a otras como CMMI (Capability Madurity Model Integration) o ITIL (Information Technology Infraestructure Library).
PSP (Personal Software Process) y TSP (Team Software Process)
Desarrollado por los fundadores de CMMI (SEI de Carnegie Mellon). Su principal diferencia es que CMMI define el qué y no el cómo, mientras que PSP/TSP definen el cómo. El siguiente gráfico ayuda a entender fácilmente la relación entre CMMI y TSP/PSP:
Proceso de Software Personal (PSP)
Se concentra en desarrollar las habilidades de cada uno de los miembros. Les permite crecer individualmente y utilizar métricas para su desempeño. Dichas métricas se basan principalmente en la cantidad de defectos que son inyectados o encontrados en el código, pero también se tienen de esfuerzo, calendario y tamaño. Las unidades de medición pueden definirse de acuerdo a las necesidades, ya sean casos de uso, líneas de código u otras.
Proceso de Software de Equipo (TSP)
Esta estrategia permite mejorar el desempeño organizacional al utilizar los beneficios de PSP e implementarlos a los equipos de desarrollo de software. No define una metodología de desarrollo específica, por lo que puede fácilmente integrarse con programación ágil, cascada o cualquier otra metodología.
TSP permite que los miembros de los equipos se puedan entender, puesto que si se utiliza únicamente PSP, cada miembro puede tener distintas métricas de desempeño y utilizar diferentes formatos. Trabaja con proyectos individuales en vez de proyectos organizacionales.
La implementación de esta estrategia se divide en dos partes, el lanzamiento (dura aproximadamente 2 semanas dependiendo del tamaño del proyecto) y la administración.
Un detalle muy cambia paradigma de administración de proyectos a administración de equipo (Si gusta profundizar, investigue acerca de los estilos de programación: Body Management – Task Management y Knowledge Management). Lo que se pretende es que el equipo sea auto-dirigido con un modelo de coaching para producir equipos de alto desempeño que alcanzan los compromisos planeados.
Estadísticas
Mejora la variación de esfuerzo y calendario (con respecto al estimado)
Hay un ROI grande por costos de pruebas puesto que al haber un mejor proceso de desarrollo, los errores van a disminuir considerablemente en todas las etapas del proceso. En el siguiente gráfico se muestra una comparación de una empresa con el nivel de CMMI nivel uno implementado versus una empresa con TSP/PSP implementado:
Conclusión
Es ideal para empresas pequeñas puesto que requiere mucho menos recursos (incluyendo monetarios) que otras estrategias como CMMI o ITIL y además se tiene un Retorno de la Inversión (ROI es de 3 a 6 meses) cuantificable a corto plazo. En caso que estas empresas quieran seguir su proceso de crecimiento, TSP es una muy buena forma de acelerar el proceso para su certificación de CMMI.