You are on page 1of 8

QUINTO COLOQUIO INTERDISCIPLINARIO DE DOCTORADO

DEPYM: Metodología para la Mejora de Procesos de Software con un enfoque de Desarrollo Dirigido por Pruebas
Adolfo Centeno-Téllez Universidad Veracruzana, USBI Campus Ixtac, Ixtaczoquitlán Veracruz México
acenteno@uv.mx

Pilar Gómez-Gil Instituto Nacional de Astrofísica, Óptica y Electrónica, coordinación de computación. Tonantzintla, Puebla
pgomez@acm.org

Resumen El presente trabajo describe una metodología Ágil para la mejora de procesos de software llamada DEPYM. Ésta metodología 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 metodología serviría para que los desarrolladores de software de pequeñas empresas mexicanas aprovechen la agilidad del desarrollo dirigido por pruebas sin sacrificar la calidad solicitada por las normas mexicanas. El artículo incluye las bases teóricas sobre las que se basa el proyecto así como los resultados obtenidos a la fecha.

Palabras clave DEPYM, AGIL, TDD.

Hasta Junio del 2009 se habían registrado 138 empresas evaluadas en algún proceso de calidad en 20 estados de la República Mexicana tales como: Aguascalientes." enfocando-se inicialmente en la verificación y validación de los requerimientos de software. el diseño evoluciona como un nuevo código que es escrito para satisfacer la pruebas que fallaron [2]. Coahuila. Veracruz. TDD) es una de las 12 prácticas claves de la Programación Extrema. XP utiliza prácticas sencillas a ser utilizadas por el equipo de desarrollo y con suficiente retroalimentación para motivar al equipo a conocer el estado real del proyecto [1].Adolfo Centeno-Téllez. CMMi. Esta falta de procesos institucionalizados se refleja en la mala calidad de los productos. retroalimentación y entregas frecuentes. Baja California. Bienes Servicios e Infra-estructura. ISO/IEC 15504.22% del total nacional evaluado. Oaxaca. DF. México. Sonora. y mantenimiento de software la adopción de las mejores prácticas reconocidas internacionalmente a través de modelos como: SW-CMM.. entregas fuera de calendario y presupuestos rebasados. Gestión de Proyectos. La tabla 1 muestra la distribución de las empresas mexicanas evaluadas en 3 normas de calidad. mediante la construcción de pruebas unitarias automatizadas. El desarrollo dirigido por pruebas (Test Driven Development. En este paradigma. Desarrollo y Mantenimiento de Software. y no consideran aún aspectos más formales de calidad.32% de empresas mexicanas cuentan con procesos mínimos requeridos para terminar un proyecto de software. Entonces el 62. TSP.32% de las empresas evaluadas. comunicación. Puebla. La figura 1 muestra el modelo de procesos del desarrollo dirigido por pruebas. 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. Michoacán. Tlaxcala. 86 se encuentran solamente en el nivel 1. 2 . El objetivo de Moprosoft es facilitar a las organizaciones dedicadas al desarrollo Figura 1. Yucatán y Zacatecas [5]. De acuerdo a la norma Mexicana Moprosoft los procesos para la creación de software se agrupan en 3 categorías: Alta Dirección. PSP. lo que constituye el 65. Querétaro. Hidalgo. después codifican. Pilar Gómez-Gil ________________________________________________________________________________________ Introducción Los problemas presentes en las empresas de la construcción de software mexicanas están íntimamente relacionados con la falta de procesos maduros y repetibles usados en la elaboración de sus productos. Gestión de Procesos y Nivel Operativo [4]. La programación extrema (XP) es una disciplina de desarrollo de software basada en la simplicidad. Gestión de Recursos (Recursos Humanos y Ambiente de Trabajo.Modelo de procesos de TDD [3]. Chihuahua. PMBOK y SWEBOK. costos y tiempos de entrega. Las Metodologías Ágiles son un ejemplo de prácticas específicas para desarrollar software. En TDD los desarrolladores de software "prueban primero. De las 90 empresas Moprosoft. lo que representa el 63. Jalisco. Nuevo León. Conocimiento de la organización) Operación: Administración de Proyectos Específicos. Colima. Sinaloa. Moprosoft es el modelo de procesos para la industria de software mexicana que fue creado para apoyar en la solución de la problemática de la crisis de software [4]. Los procesos que define Moprosoft para cada categoría son: Alta Dirección: Gestión de Negocio Gestión: Gestión de Procesos.

Pilar Gómez-Gil ________________________________________________________________________________________ Tabla 1.Adolfo Centeno-Téllez. Figura 1.Diagrama en bloques del modelo DEPYM 3 .. Los roles que propone el modelo DEPYM para el proceso de desarrollo de software son: Líder de proyecto. Empresas Certificadas en Modelos de Calidad a Junio 2009 [5]. arquitecto de software e ingeniero de software La Figura 1 muestra el diagrama general del modelo DEPYM. 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 métodos La Metodología 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). formas y estándares. El modelo DEPYM esta es un modelo de mejora de procesos de software Ágil que incluye: Scripts.

pruebas de integración y cierre. Patrón de proceso Para la definición de los scripts del modelo DEPYM se sigue un patrón de procesos que deben cumplir siempre con los siguientes elementos: • • • • • • Nombre del proceso Propósito Responsables del proceso Criterios de entrada Tareas Criterios de salida Dentro del modelo DEPYM se definen criterios y documentos. Se analiza el patrón de procesos a usar. codificación.Adolfo Centeno-Téllez. La figura 2 muestra el script del proceso general de DEPYM. También se analiza el script de procesos para llevar a cabo las reuniones. Pilar Gómez-Gil ________________________________________________________________________________________ En esta sección se desarrolla el script general que rige el ciclo de vida de software del modelo DEPYM. para efectos de sintaxis los criterios se pondrán en cursivas y los documentos en negritas. generación de pruebas. diseño. requerimientos. 4 . así como cada una de las etapas que conforman cada entregable: Planeación.

factores de comunicación. Pilar Gómez-Gil ________________________________________________________________________________________ Nombre: Script General de DEPYME Propósito: Guiar al Líder del proyecto y al equipo en todo el proceso de desarrollo del proyecto Responsable del proceso: Líder del proyecto • Criterios de entrada • • • Proyecto autorizado por el responsable de Gestión de Negocio Proyecto alineado a la misión de la empresa Descripción breve del proyecto Políticas del proyecto. prioridad del proyecto Descripción • 1 Configuración inicial • • • • • • 2 Planeación • • • Alcances del proyecto Determinar el equipo de trabajo Establecimiento de procesos mínimos para terminar el proyecto en el costo. roles. grado de confidencialidad. Identificar las necesidades del cliente para convertirlas en historias de usuario Realizar un análisis de tiempos Restricciones de presupuestos Valor planeado que representa cada historia Factores ambientales del cliente Definición de arquitectura Requerimientos no funcionales Estándar de codificación Administración de la configuración del software Plan de comunicación Determinar roles Paso Actividad • 2 Requerimientos • • • 5 . integrantes del equipo. tiempo y calidad esperado. horarios.Adolfo Centeno-Téllez. giro de la empresa.

Se prueba la funcionalidad de todas las historias de usuario del entregable y se integran al código base Planear el siguiente entregable Realizar un análisis del proceso.Adolfo Centeno-Téllez.. 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. 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 deberán pasarse para cumplir con los requerimientos de esa tarea. 5.Script general del proceso DEPYM 6 . Se llena la forma n para cada tarea en base al patrón Arranging-Act-Assert [7] Realizar el código más simple que funcione y haga pasar las pruebas definidas en la etapa anterior Refactorizar el código para mejorar la funcionalidad existente. prioridades. 4. Así mismo de analizan los riesgos. 3. Figura 2. Planeación del siguiente entregable Estándar de codificación actualizado Documento de Configuración de software actualizado (SCM) Definición de las historias de usuario del siguiente release Plan de Riesgos actualizado para el siguiente release Plan de comunicación actualizado Criterios de salida 2. • 4 Generación de pruebas unitarias • • 5 Codificación • • 6 Pruebas de integración • 6 Cierre • • . 6. Pilar Gómez-Gil ________________________________________________________________________________________ • • 3 Diseño • • 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.

7 . o Proyecto para la administración de movimientos de equipos de exploración y extracción en plataformas petroleras. Pilar Gómez-Gil ________________________________________________________________________________________ Resultados y discusión Las contribuciones de la investigación son las siguientes: • Creación una metodología Ágil de desarrollo de software adaptable las empresas mexicanas y basado en las mejores prácticas de los métodos Ágiles • Procesos y formas adaptables a empresas pymes y a Moprosoft • Definición de procesos y plantillas para la definición de la carta del proyecto • Procesos y definición de la forma de historia de usuario • Procesos y definición de la forma de la tarea usando el patrón Arranging-Act-Assert. • Actualmente se están realizando pruebas piloto de implementación del modelo en 3 proyectos reales: o Proyecto de logística para una distribuidora de la compañía de alimentos Unilever o Proyecto para creación de una herramienta de planeación estratégica basado en el modelo SIGMIL (Sistema Integral de Gestión y Medición de Indicadores de Logro) en convenio con el Departamento de Postgrado e Investigación del Instituto Tecnológico de Orizaba. Actualmente se está refinando el modelo y analizando las métricas resultantes de los 3 experimentos. se tienen los siguientes avances en la investigación: • Primera versión de la metodología DEPYM.Adolfo Centeno-Téllez. Conclusiones Al momento de la publicación de este artículo. como trabajo futuro se espera la creación de la herramienta web que automatice el modelo. • Caracterización de las empresas PYMES de desarrollo de software. • Determinación del dominio de aplicación de la metodología.

MOPROSOFT: Un Camino Hacia el Éxito Mundial en el Desarrollo del Software Mexicano.C.mx La Dra. México Pág. una maestría en Ciencias de la Computación de Texas Tech University (EUA) en 1991. (hoy Universidad de las Américas. 2007. Posteriormente se graduó como Maestro en Ciencias Computacionales en la misma institución. “Test Driven Development by example. Centro interdisciplinario de Posgrado. disponible en: http://www. 5 Sistema Nacional de Indicadores de la Industria de TI (SNIITI).C. Pilar Gómez-Gil ________________________________________________________________________________________ Referencias Ruvalcaba Mara.” Empirical Software Engineering. E-mail: pgomez@acm. 289-302. Empresas Certificadas en Modelos de Calidad. Memorias de la Semana de Informática 2007. Software Guru Edición Enero-Febrero 2005.09. Actualmente se desempeña como Investigadora Titular en la Coordinación de Computación del Instituto Nacional de Astrofísica. Óptica y Electrónica. 4 Gómez-Gil Pilar. 2009 2 1 Acerca del autor El M. Professional ASP NET MVC 1. Jones Christopher G. en Puebla. Hanselman.aspx?docid=14 6 Beck Kent. Propuesta de Proyecto Doctoral en Ingeniería de Software.0.Adolfo Centeno-Téllez. Test-driven development goes to school. Guthrie. 2004 3 Nichiappan Nagappan et al Realizing quality improvement through test driven development: results and experiences of four industrial teams.edigital.org Autorización y renuncia Los autores del presente artículo autorizan a la Universidad Popular Autónoma del Estado de Puebla (UPAEP) para publicar el escrito en el libro electrónico del Quinto Coloquio de Investigación Interdisciplinaria de Posgrado. México. 8 .04. Adolfo Centeno Téllez estudió la licenciatura en Informática en el Instituto Tecnológico de Orizaba. Vol. fecha de consulta 16. Haak. 8 Centeno. en su edición 2012. Campus Ixtac. Puebla) en 1983. Oct.mx/infoagent.economia. Pilar Gómez Gil obtuvo una licenciatura en Ingeniería en Sistemas Computacionales de la Universidad de las Américas A.gob. Actualmente cursa el Doctorado en Ingeniería de Software en la Universidad Popular Autónoma del estado de Puebla y se desempeña como profesor en la Universidad Veracruzana. México. E-mail: acenteno@uv. La UPAEP o los editores no son responsables ni por el contenido ni por las implicaciones de lo que está expresado en el escrito. 13. y un doctorado en Ciencias de la Computación de Texas Tech University (EUA) en 1998. CCSC: Rocky Mountain Conference. Instituto Tecnológico de Puebla. Universidad Popular Autónoma del Estado de Puebla.” 7 Conery. 2009. 4. Oct. Adolfo. pp.