You are on page 1of 8

QUINTO COLOQUIO INTERDISCIPLINARIO DE DOCTORADO

DEPYM: Metodologa para la Mejora de Procesos de Software con un enfoque de Desarrollo Dirigido por Pruebas
Adolfo Centeno-Tllez Universidad Veracruzana, USBI Campus Ixtac, Ixtaczoquitln Veracruz Mxico
acenteno@uv.mx

Pilar Gmez-Gil Instituto Nacional de Astrofsica, ptica y Electrnica, coordinacin de computacin. Tonantzintla, Puebla
pgomez@acm.org

Resumen El presente trabajo describe una metodologa gil para la mejora de procesos de software llamada DEPYM. sta metodologa de desarrollo fue creada para ser usada en el proceso de Desarrollo y Mantenimiento de software y est basada en el desarrollo dirigido por pruebas. La metodologa servira para que los desarrolladores de software de pequeas empresas mexicanas aprovechen la agilidad del desarrollo dirigido por pruebas sin sacrificar la calidad solicitada por las normas mexicanas. El artculo incluye las bases tericas sobre las que se basa el proyecto as como los resultados obtenidos a la fecha.

Palabras clave DEPYM, AGIL, TDD.

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

Introduccin Los problemas presentes en las empresas de la construccin de software mexicanas estn ntimamente relacionados con la falta de procesos maduros y repetibles usados en la elaboracin de sus productos. Esta falta de procesos institucionalizados se refleja en la mala calidad de los productos, entregas fuera de calendario y presupuestos rebasados. Las Metodologas giles son un ejemplo de prcticas especficas para desarrollar software. La programacin extrema (XP) es una disciplina de desarrollo de software basada en la simplicidad, comunicacin, retroalimentacin y entregas frecuentes. XP utiliza prcticas sencillas a ser utilizadas por el equipo de desarrollo y con suficiente retroalimentacin para motivar al equipo a conocer el estado real del proyecto [1]. El desarrollo dirigido por pruebas (Test Driven Development, TDD) es una de las 12 prcticas claves de la Programacin Extrema. En TDD los desarrolladores de software "prueban primero, despus codifican," enfocando-se inicialmente en la verificacin y validacin de los requerimientos de software, mediante la construccin de pruebas unitarias automatizadas. En este paradigma, el diseo evoluciona como un nuevo cdigo que es escrito para satisfacer la pruebas que fallaron [2]. La figura 1 muestra el modelo de procesos del desarrollo dirigido por pruebas. Moprosoft es el modelo de procesos para la industria de software mexicana que fue creado para apoyar en la solucin de la problemtica de la crisis de software [4]. El objetivo de Moprosoft es facilitar a las organizaciones dedicadas al desarrollo

Figura 1.- Modelo de procesos de TDD [3]. y mantenimiento de software la adopcin de las mejores prcticas reconocidas internacionalmente a travs de modelos como: SW-CMM, CMMi, PSP, TSP, ISO/IEC 15504, PMBOK y SWEBOK. De acuerdo a la norma Mexicana Moprosoft los procesos para la creacin de software se agrupan en 3 categoras: Alta Direccin, Gestin de Procesos y Nivel Operativo [4]. Los procesos que define Moprosoft para cada categora son: Alta Direccin: Gestin de Negocio Gestin: Gestin de Procesos, Gestin de Proyectos, Gestin de Recursos (Recursos Humanos y Ambiente de Trabajo, Bienes Servicios e Infra-estructura, Conocimiento de la organizacin) Operacin: Administracin de Proyectos Especficos, Desarrollo y Mantenimiento de Software. Hasta Junio del 2009 se haban registrado 138 empresas evaluadas en algn proceso de calidad en 20 estados de la Repblica Mexicana tales como: Aguascalientes, Baja California, Chihuahua, Coahuila, Colima, DF, Hidalgo, Jalisco, Mxico, Michoacn, Nuevo Len, Oaxaca, Puebla, Quertaro, Sinaloa, Sonora, Tlaxcala, Veracruz, Yucatn y Zacatecas [5]. La tabla 1 muestra la distribucin de las empresas mexicanas evaluadas en 3 normas de calidad, donde puede notarse que existen 90 empresas de las 138 evaluadas que han sido aprobadas en la norma mexicana NMX-I-059/02-NYCE-2005, lo que constituye el 65.22% del total nacional evaluado. De las 90 empresas Moprosoft, 86 se encuentran solamente en el nivel 1, lo que representa el 63.32% de las empresas evaluadas. Entonces el 62.32% de empresas mexicanas cuentan con procesos mnimos requeridos para terminar un proyecto de software, y no consideran an aspectos ms formales de calidad, costos y tiempos de entrega.

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

Tabla 1. Empresas Certificadas en Modelos de Calidad a Junio 2009 [5]. Modelo/Nivel 1 2 3 4 5 Total 0 2 6 2 4 CMM 14 0 14 13 2 7 CMMi 36 86 3 1 0 0 Moprosoft 90

Materiales y mtodos La Metodologa de Desarrollo Dirigido por Pruebas y Mejora de procesos para PyMEs toma las ventajas del framework TDD definido por Kent Beck [6] y se inspira a las especificaciones del modelo de procesos Moprosoft en su proceso de Desarrollo y mantenimiento de software (DMS). El modelo DEPYM esta es un modelo de mejora de procesos de software gil que incluye: Scripts, formas y estndares. Los roles que propone el modelo DEPYM para el proceso de desarrollo de software son: Lder de proyecto, arquitecto de software e ingeniero de software La Figura 1 muestra el diagrama general del modelo DEPYM.

Figura 1.- Diagrama en bloques del modelo DEPYM

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

En esta seccin se desarrolla el script general que rige el ciclo de vida de software del modelo DEPYM. Se analiza el patrn de procesos a usar, as como cada una de las etapas que conforman cada entregable: Planeacin, requerimientos, diseo, generacin de pruebas, codificacin, pruebas de integracin y cierre. Tambin se analiza el script de procesos para llevar a cabo las reuniones. Patrn de proceso Para la definicin de los scripts del modelo DEPYM se sigue un patrn de procesos que deben cumplir siempre con los siguientes elementos: Nombre del proceso Propsito Responsables del proceso Criterios de entrada Tareas Criterios de salida

Dentro del modelo DEPYM se definen criterios y documentos, para efectos de sintaxis los criterios se pondrn en cursivas y los documentos en negritas. La figura 2 muestra el script del proceso general de DEPYM.

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

Nombre: Script General de DEPYME

Propsito: Guiar al Lder del proyecto y al equipo en todo el proceso de desarrollo del proyecto

Responsable del proceso: Lder del proyecto Criterios de entrada Proyecto autorizado por el responsable de Gestin de Negocio Proyecto alineado a la misin de la empresa Descripcin breve del proyecto Polticas del proyecto, roles, integrantes del equipo, giro de la empresa, grado de confidencialidad, factores de comunicacin, horarios, prioridad del proyecto Descripcin 1 Configuracin inicial 2 Planeacin Alcances del proyecto Determinar el equipo de trabajo Establecimiento de procesos mnimos para terminar el proyecto en el costo, tiempo y calidad esperado. Identificar las necesidades del cliente para convertirlas en historias de usuario Realizar un anlisis de tiempos Restricciones de presupuestos Valor planeado que representa cada historia Factores ambientales del cliente Definicin de arquitectura Requerimientos no funcionales Estndar de codificacin Administracin de la configuracin del software Plan de comunicacin Determinar roles

Paso

Actividad

2 Requerimientos

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

3 Diseo

Llenar la forma de historias de usuario Identificar las historias de usuario Para cada una de ellas se definen cada una de las tareas necesarias para cumplir dicha historia. As mismo de analizan los riesgos, prioridades, esfuerzo requerido y valor planeado de cada tarea Analizar cada una de las tareas de las historias de usuario y se generan las pruebas que debern pasarse para cumplir con los requerimientos de esa tarea. Se llena la forma n para cada tarea en base al patrn Arranging-Act-Assert [7] Realizar el cdigo ms simple que funcione y haga pasar las pruebas definidas en la etapa anterior Refactorizar el cdigo para mejorar la funcionalidad existente.

4 Generacin de pruebas unitarias

5 Codificacin

6 Pruebas de integracin 6 Cierre

.Se prueba la funcionalidad de todas las historias de usuario del entregable y se integran al cdigo base Planear el siguiente entregable Realizar un anlisis del proceso. Si el entregable actual fuera el cierre del proyecto se pasa a la etapa de postmorten para realizar el proceso de mejora de todo el proyecto 1. Planeacin del siguiente entregable Estndar de codificacin actualizado Documento de Configuracin de software actualizado (SCM) Definicin de las historias de usuario del siguiente release Plan de Riesgos actualizado para el siguiente release Plan de comunicacin actualizado

Criterios de salida 2. 3.

4.

5.

6. Figura 2.- Script general del proceso DEPYM

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

Resultados y discusin Las contribuciones de la investigacin son las siguientes: Creacin una metodologa gil de desarrollo de software adaptable las empresas mexicanas y basado en las mejores prcticas de los mtodos giles Procesos y formas adaptables a empresas pymes y a Moprosoft Definicin de procesos y plantillas para la definicin de la carta del proyecto Procesos y definicin de la forma de historia de usuario Procesos y definicin de la forma de la tarea usando el patrn Arranging-Act-Assert. Actualmente se estn realizando pruebas piloto de implementacin del modelo en 3 proyectos reales: o Proyecto de logstica para una distribuidora de la compaa de alimentos Unilever o Proyecto para creacin de una herramienta de planeacin estratgica basado en el modelo SIGMIL (Sistema Integral de Gestin y Medicin de Indicadores de Logro) en convenio con el Departamento de Postgrado e Investigacin del Instituto Tecnolgico de Orizaba. o Proyecto para la administracin de movimientos de equipos de exploracin y extraccin en plataformas petroleras.

Conclusiones Al momento de la publicacin de este artculo, se tienen los siguientes avances en la investigacin: Primera versin de la metodologa DEPYM. Caracterizacin de las empresas PYMES de desarrollo de software. Determinacin del dominio de aplicacin de la metodologa. Actualmente se est refinando el modelo y analizando las mtricas resultantes de los 3 experimentos, como trabajo futuro se espera la creacin de la herramienta web que automatice el modelo.

Adolfo Centeno-Tllez, Pilar Gmez-Gil


________________________________________________________________________________________

Referencias Ruvalcaba Mara, Software Guru Edicin Enero-Febrero 2005, Mxico Pg. 4. Jones Christopher G. Test-driven development goes to school. CCSC: Rocky Mountain Conference. Oct. 2004 3 Nichiappan Nagappan et al Realizing quality improvement through test driven development: results and experiences of four industrial teams. Empirical Software Engineering, Vol. 13, pp. 289-302. 4 Gmez-Gil Pilar, MOPROSOFT: Un Camino Hacia el xito Mundial en el Desarrollo del Software Mexicano. Memorias de la Semana de Informtica 2007. Instituto Tecnolgico de Puebla, Oct. 2007. 5 Sistema Nacional de Indicadores de la Industria de TI (SNIITI), Empresas Certificadas en Modelos de Calidad, fecha de consulta 16.04.09, disponible en: http://www.edigital.economia.gob.mx/infoagent.aspx?docid=14 6 Beck Kent, Test Driven Development by example. 7 Conery, Guthrie, Haak, Hanselman. Professional ASP NET MVC 1.0, 2009. 8 Centeno, Adolfo. Propuesta de Proyecto Doctoral en Ingeniera de Software. Centro interdisciplinario de Posgrado. Universidad Popular Autnoma del Estado de Puebla, Mxico. 2009
2 1

Acerca del autor El M.C. Adolfo Centeno Tllez estudi la licenciatura en Informtica en el Instituto Tecnolgico de Orizaba. Posteriormente se gradu como Maestro en Ciencias Computacionales en la misma institucin. Actualmente cursa el Doctorado en Ingeniera de Software en la Universidad Popular Autnoma del estado de Puebla y se desempea como profesor en la Universidad Veracruzana, Campus Ixtac. E-mail: acenteno@uv.mx La Dra. Pilar Gmez Gil obtuvo una licenciatura en Ingeniera en Sistemas Computacionales de la Universidad de las Amricas A.C. (hoy Universidad de las Amricas, Puebla) en 1983, en Puebla, Mxico; una maestra en Ciencias de la Computacin de Texas Tech University (EUA) en 1991, y un doctorado en Ciencias de la Computacin de Texas Tech University (EUA) en 1998. Actualmente se desempea como Investigadora Titular en la Coordinacin de Computacin del Instituto Nacional de Astrofsica, ptica y Electrnica. E-mail: pgomez@acm.org

Autorizacin y renuncia Los autores del presente artculo autorizan a la Universidad Popular Autnoma del Estado de Puebla (UPAEP) para publicar el escrito en el libro electrnico del Quinto Coloquio de Investigacin Interdisciplinaria de Posgrado, en su edicin 2012. La UPAEP o los editores no son responsables ni por el contenido ni por las implicaciones de lo que est expresado en el escrito.

You might also like