You are on page 1of 24

Mejora de Procesos

Autores: Juan Carlos Vidal Rojas Julio Ariel Hurtado Alegra Francisco Jos Pino Correa Hanna Oktaba Mario Piattini

COMPETISOFT (Mejora de Procesos para Fomentar la Competitividad de la Pequea y Mediana Industria del Software de Iberoamrica) Informe Tcnico No: IT. 13 Versin: 0.2

15 de Agosto de 2006

Una publicacin COMPETISOFT

1. Identificacin de Informe:

2. Fecha:

IT. 13
3. Ttulo:

15 de Agosto de 2006

Mejora de Procesos
4. Autores:

Juan Carlos Vidal Rojas (Coordinador), Julio Ariel Hurtado Alegra, Francisco Jos Pino Correa, Hanna Oktaba, Mario Piattini
5. Organizacin:

506PI0287- COMPETISOFT (Mejora de Procesos para Fomentar la Competitividad de la Pequea y Mediana Industria del Software de Iberoamrica).
6. Proyectos y Entidades Financiadoras del Informe:

CYTED
7. Resumen

Cdigo Proyecto: 3789

En el presente Informe Tcnico se presenta Agile SPI - Process como un proceso gil y liviano de mejora de procesos de software, el cual puede ser utilizado como gua para la ejecucin de un programa de mejora de procesos de software en pequeas y medianas empresas (PyMES). Liviano porque empresas como las PyMEs al poseer ciertas caractersticas como: bajos recursos, procesos livianos, recurso humano pequeo, disponibilidad econmica limitada, etc., necesitan un modelo que soporte un programa de mejora que tenga en cuenta las caractersticas reales de su industria, adems de ofrecer resultados rpidos en sus programas de mejora. Agile SPI Process est compuesto por 5 fases: Instalacin, Diagnstico, Formulacin, Mejora y Revisin del Programa. Agile SPI Process es un proceso, iterativo e incremental y est basado en casos de mejora. Tiene la caracterstica de poder arrojar resultados rpidos de mejora, dado que permite crear mini-programas de mejora que abarcan casos de mejora dentro de un programa de mejoramiento global. Los casos de mejora son unidades atmicas de mejora en las reas de procesos que se han seleccionado para ser mejoradas ya sea porque la empresa busca una certificacin o porque su prioridad es mejorar un proceso especfico.
8. Palabras Clave

Mejora de Procesos, Modelo de Calidad, Procesos giles


9. Nivel Seguridad
1

10. N de Pginas:

11. Estado del Informe:

PP

24 pginas

Terminado

PU: Pblico; PP: Restringido a todos los Participantes en el Proyecto; RE: Restringido a un Grupo

Especfico dentro del Proyecto; CO: Confidencial, slo para los miembros del Consorcio.

COMPETISOFT

Mejora de Procesos

1 INTRODUCCIN
El presente informe tcnico tiene como finalidad presentar a la comunidad del Proyecto COMPETISOFT los resultados del trabajo realizado por el Grupo D.21 Mejora de Procesos. Presentamos Agile-SPI Process como el principal aporte entre un conjunto de aportes que sern presentados e integrados a los dems productos generados por los investigadores de COMPETISOFT. Agile SPI es un Framework que se caracteriza por: Guiar la mejora de los procesos de desarrollo de software, manteniendo el nivel de agilidad que la empresa lo desee. Ser un Framework basado en modelos livianos, que soporte un programa de mejoramiento continuo, a travs de un proceso de mejora gil. Estar acorde con una industria dinmica, creativa, innovadora e incierta como lo es la industria del software. Una industria donde el conocimiento y el talento humano son elementos fundamentales para garantizar su xito.

El documento presenta una visin general de Agile-SPI donde se muestra los componentes arquitectnicos del Modelo y sus relaciones. Luego, presentamos los principios de Agile-SPI, los cuales estn basados en el Manifiesto Agile y en las tesis de Conrado y Fugetta. En seguida, se muestran las fases y las disciplinas establecidas en Agile-SPI donde se puede apreciar un proceso de mejora guiado por el modelo establecido y las ventajas del mismo. Finalmente presentamos las conclusiones obtenidas hasta el momento con el trabajo presentado y las perspectivas futuras.

COMPETISOFT

Mejora de Procesos

2 MEJORA DE PROCESOS
2.1
2.1.1

Agile SPI Process


Agile SPI Framework

Agile SPI es un Framework que se caracteriza por [28]: Guiar la mejora de los procesos de desarrollo de software, manteniendo el nivel de agilidad que la empresa lo desee. Normalmente un proceso liviano y/o gil adecuado a las PyMES. Ser un Framework basado en modelos livianos, que soporta un programa de mejoramiento continuo, a travs de un proceso de mejora gil.

Estar adecuado a una industria dinmica, creativa, innovadora e incierta como lo es la industria del software. Una industria donde el conocimiento y el talento humano son elementos fundamentales para garantizar su xito.

Bsicamente se ha formado su estructura a partir de los componentes primarios de un programa de mejora: una gua de mejora y unos modelos de soporte. En el caso de Agile SPI, los modelos son: el de calidad: Agile SPI Light Quality Model; el de evaluacin: Agile SPI Light Evaluation Model; y el de mtricas: Agile SPI Light Metrics Model. Hay dos elementos integradores de toda la estructura: el modelo conceptual de soporte: Framework PDS y el proceso que integra de manera dinmica los componentes: Agile SPI Process. A continuacin presentamos la arquitectura de Agile SPI.

COMPETISOFT

Mejora de Procesos

Iniciativa

Modelo de Calidad Gua de mejoramiento Proceso A (Referente) Proceso A++

Modelo de
Modelo de

Medicin
Evaluacin

Figura 1. Arquitectura conceptual de Agile SPI.

A continuacin se describen brevemente los componentes del modelo integral de mejoramiento Agile SPI [28]:
Un proceso gil de gua a un programa de mejora de procesos en el marco de un proyecto de mejora, Agile SPI Process. Es un proceso que cuenta con los elementos bsicos para hacer posible que MIPyMES, puedan adelantar esfuerzos hacia la adecuacin de un proceso de desarrollo acorde a sus necesidades. Este proceso es el marco de referencia para la gestin de los proyectos de mejora, este marco integra el mtodo, los modelos, la infraestructura, las tcnicas y las herramientas de soporte. Un modelo de calidad liviano, Agile SPI Light Quality Model, que integra proceso y producto, y que gua la organizacin de las personas y los equipos, las disciplinas y las reas de trabajo asociadas a la definicin, aplicacin y mejora del proceso hacia un nivel de madurez definido. Un modelo de evaluacin liviano, Agile SPI Light Evaluation Model, que permite identificar y diagnosticar problemas de la industria en cuanto al proceso y que permite trazar unos planes de mejora de acuerdo a un modelo/estndar de calidad definido. Un modelo de medida liviano, Agile SPI Light Metrics Model, que permite medir: el desempeo del proceso en los proyectos en los cuales es aplicado, mejorar las estimaciones de los proyectos a travs de la medida del esfuerzo, la madurez de este y la mejora del proceso en el marco de un programa SPI.

COMPETISOFT

Mejora de Procesos

Un marco conceptual y tecnolgico para la definicin, visualizacin y aplicacin de procesos, Agile SPI Framework. Este marco conceptual se basa en el metamodelo SPEM Software Process Engineering Metamodel [SPEM01], y este marco es la base conceptual sobre la cual se soportan todos los modelos de Agile SPI y las herramientas de soporte. Agile SPI Framework permite relacionar los elementos del proceso con los elementos del modelo de calidad, con el modelo de evaluacin y con el modelo de medida; por ejemplo, el concepto disciplina es un elemento separador de reas del proceso y con base en este concepto se definen las estructuras de todos los componentes de Agile SPI.

Los principios de Agile SPI Process son: La prioridad ms alta es satisfacer la necesidad del cliente a travs de la entrega temprana y continua de mejoras significativas al proceso de desarrollo, gracias a que Agile SPI Process proporciona un proceso de mejora de procesos de software liviano y gil. No hay requisitos de mejora estables por parte de la empresa. Por ello, el diagnstico es una fase clave. An as, requisitos de mejora que surjan debern ser priorizados y acogidos en la medida en que sea factible realizarlos. Entregar con frecuencia mejoras del proceso de software (desde 2 hasta 6 meses). Un programa de mejora con Agile SPI Process debe basarse en la colaboracin efectiva entre los consultores, grupo de mejora, la alta gerencia, el grupo de desarrollo, el grupo SQA, marketing y dems dependencias relacionadas con el proyecto SPI. Construir proyectos en torno a individuos motivados hacia la mejora de procesos individuales, grupales y organizacionales. Darles la oportunidad y el respaldo que necesitan y procurarles confianza para que realicen las tareas. La forma ms eficiente y efectiva de comunicar informacin de ida y vuelta dentro de un equipo de mejora es mediante la conversacin cara a cara. La madurez del proceso, como el desempeo promedio de los proyectos, debe ser la medida primaria de la mejora del progreso. Las mediciones base para medir el desempeo son la productividad y la calidad.

COMPETISOFT

Mejora de Procesos

Agile SPI - Process promueve el desarrollo sostenido. El trabajo deber ser continuo e indefinido.

Agile SPI Process promueve una infraestructura tcnica y de gestin, adecuada para soportar la mejora del proceso.

Agile SPI Process promueve la conformacin de una infraestructura organizacional dinmica, basada en objetivos, no en estrategias de control.

Agile SPI Process promueve el aprendizaje continuo como una disciplina clave. El objetivo de esta disciplina es que permita conocer el trabajo, reflexionar acerca de este y ajustar el trabajo a travs de iteraciones cortas y concisas.

Agile SPI Process promueve la conformacin efectiva de los grupos propuestos por su infraestructura, se preocupa por la calidad del trabajo humano a realizar.

2.1.2

El ciclo de vida de Agile SPI - Process

Agile SPI - Process es un proceso gil y liviano de mejora de procesos de software, el cual puede ser utilizado como gua para la ejecucin de un programa de mejora de procesos de software en pequeas y medianas empresas (PyMES). Liviano porque empresas como las PyMEs al poseer ciertas caractersticas como: bajos recursos, procesos livianos, recurso humano pequeo, disponibilidad econmica limitada, etc., necesitan un modelo que soporte un programa de mejora que tenga en cuenta las caractersticas reales de su industria, adems de ofrecer resultados rpidos en sus programas de mejora.

Tal como lo muestra la figura 2, Agile SPI Process est compuesto de 5 fases: Instalacin, Diagnstico, Formulacin, Mejora y Revisin del Programa.

COMPETISOFT

Mejora de Procesos

(1). Instalacin.

(2) Diagnstico

(3) Formulacin

(4) Mejora

(5) Re isin
Figura 2. Modelado bajo SPEM de las fases de Agile SPI Process.

Como se puede apreciar en la figura 3, Agile SPI Process es un proceso, iterativo e incremental y est basado en casos de mejora, el cual tiene la caracterstica de poder arrojar resultados rpidos de mejora, esto porque permite crear mini-programas de mejora que abarcan casos de mejora dentro de un programa de mejoramiento global. Los casos de mejora son unidades atmicas de mejora en las reas de procesos que se han seleccionado para ser mejoradas ya sea porque la empresa persigue una certificacin o porque para ella su prioridad es mejorar un proceso especfico.

COMPETISOFT

Mejora de Procesos

Proyecto de Mejora

Priorizacin

P ro y e c t o 1

P ro y e c to 2

P ro y e c t o n

T0

(Tiempo de Duracin Proyecto de Mejora Global)

Tf

Figura 3. Agile SPI Process: Un Proceso de mejora iterativo incremental

El arrojar resultados rpidos de mejora permitir en consecuencia que las mejoras sean visibles desde las fases tempranas del proyecto de mejora, ms giles y rpidas en la medida que los mini-programas de mejora terminan dependiendo de los criterios de priorizacin que la empresa ha definido previamente. Con esto se busca mantener una motivacin del personal frente al programa de mejora, a travs de resultados de mejora permanentes, eliminar los riesgos del proyecto en las primeras fases, para enfocar el mayor esfuerzo en las reas que la empresa considere ms importantes para su negocio. El ciclo de vida es altamente influenciado por los modelos de ciclo de vida iterativo e incremental presente en muchos procesos de desarrollo tales como RUP2, XP3, Scrum4, entre otros; dado que los proyectos de mejora cubren extensos requisitos e impactan toda la estructura organizacional de cualquier empresa, hemos adaptado algunas caractersticas de estos modelos para crear un proceso de

http://www.rational.com/ http://www.xprogramming.com/ http://www.controlchaos.com/

COMPETISOFT

Mejora de Procesos

mejora completo, gil, menos burocrtico y sensible a las actividades referentes a la gestin (reuniones, documentos, infraestructura, etc.). Aunque en la anterior figura no se visualiza el paralelismo que puede existir entre proyectos o mini-programas de mejora, esto se puede hacer y es ventajoso en el sentido en que se pueden desarrollar mejoras en reas de procesos en donde exista una clara independencia. En los procesos de certificacin, la valoracin antes de la puesta en marcha de un programa de mejora es muy importante, ya que esta nos permite estimar que reas de procesos posee una empresa y cual es el grado de madurez de estas. Actualmente existen muchas herramientas con las cuales se pueden valorar las reas de procesos de una empresa segn un modelo de calidad en particular, como por ejemplo: CMMI [29] en su versin continua o escalonada, ISO/IEC 15504 [30], ISO 9001-2000, entre otros. Como se muestra en la figura 4, Agile SPI Process puede ser usado como proceso de mejora independientemente de si se ha seleccionada un CMMI continuo o escalonado. Recomendamos hacer uso de SPQA.WEB, herramienta que permite realizar una valoracin de las reas de procesos correspondientes al nivel 2 del modelo de madurez CMMI; los resultados arrojados sern una calificacin, la cual permitir establecer si un rea esta altamente implementada, parcialmente implementada, o si no ha sido implementada. Con los resultados arrojados se podr determinar segn los criterios de priorizacin u objetivos de la empresa, en que rea o reas es ms convenientes implantar un programa de mejora.

COMPETISOFT

Mejora de Procesos

ISO/IEC 15504 CMMI Escalonado CMMI Continuo

Modelos de Madurez reas de Proceso Instalacin Diagnstico Procesos de la empresa Valoracin Formulacin Ejecucin

Agile SPI - Process

Figura 4. Valoracin Independiente del Modelo de Madurez

2.1.3

Fases de Agile SPI - Process

Agile SPI - Process describe un proceso de mejoramiento de procesos de software en 5 fases, a continuacin veremos en que consiste cada una de ellas: Fase 1 INSTALACIN DEL PROGRAMA: Esta es la fase de partida para el proceso Agile SPI - Process. Debe existir motivacin por parte de la empresa para emprender un plan de mejora de sus procesos. En esta fase se crea una propuesta de mejora basada en las necesidades del negocio, la cual ayudar a guiar a la organizacin a travs de cada una de las fases siguientes, esta propuesta debe ser aprobada por la gerencia para garantizar as la asignacin de los recursos necesarios para el proyecto de mejora. Durante esta fase tambin se definen unos objetivos, los cuales son establecidos desde las necesidades de la empresa. Algo muy importante es que Agile SPI - Process aparte de ofrecer una gua en la mejora de los procesos de software, tambin provee una infraestructura de gestin, la cual describe la manera en la cual se organizan las personas comprometidas dentro del esfuerzo de mejora, esta infraestructura organiza el esfuerzo de mejora teniendo en cuenta un equipo de gestin (EG), un equipo de tecnologa de

COMPETISOFT

Mejora de Procesos

procesos (ETP) y equipos de mejora (EM); estos han sido influenciados por la infraestructura propuesta por IDEAL, complementndola con la creacin de grupos efectivos propuestos por la metodologa TSP (Team Software Process), adaptada por Agile SPI Process como TSPI (Team Software Process Improvement) y algunas de las caractersticas en la administracin de un proyecto utilizando la metodologa SCRUM . Fase 2 DIAGNSTICO: En esta fase ya se ha iniciado un programa hacia la mejora de los procesos y el trabajo que aqu se realiza es fundamental para la realizacin de las fases siguientes. Se realizan actividades de valoracin para saber cul es el estado general de los procesos de la empresa, adems de un anlisis de los resultados que permitan establecer la prioridad de los casos de mejora, permitiendo as crear unos de los productos principales de esta fase conocido como gua o plan general de mejora. Fase 3 FORMULACIN: En sta fase se toman los casos de mejora ms prioritarios (1 2) a mejorar segn los resultados arrojados por la valoracin hecha en la fase anterior y se realiza la planificacin de una primera iteracin de mejora, esto con el fin de realizar una medida del esfuerzo que sirva de base para la estimacin del esfuerzo que tomar llevar a cabo el resto del proyecto de mejora. Fase 4 MEJORA: En la fase de Mejora de Agile SPI - Process se gestiona todo el esfuerzo de los casos de mejora en base a la estimacin hecha en el plan de ejecucin de mejora creado en la fase anterior y por consiguiente se desarrollan las planificaciones correspondientes a las diferentes iteraciones que pueden resultar con cada una de las reas de proceso a mejorar o a crear. Debe existir un documento donde se registre la ejecucin de los pilotos de prueba, la evaluacin de lo nuevo o la nueva mejora que se ha realizado. Si los planes piloto se han desarrollado satisfactoriamente hay que crear planes de aceptacin e institucionalizacin de los nuevos procesos en la empresa. Fase 5 REVISIN DEL PROGRAMA: En esta fase se hace una retroalimentacin (feedback) antes de volver a comenzar la fase de inicio. En esta fase todas las lecciones aprendidas y las mtricas desarrolladas para medir el cumplimiento de los objetivos sirven como base de conocimiento o fuente de informacin para las personas involucradas en el siguiente ciclo de mejora. Con toda la informacin recolectada se debe evaluar el trabajo realizado y se deben corregir o ajustar todos lo elementos relacionados con la ejecucin de un programa SPI, como la infraestructura establecida, los mtodos utilizados, los canales de comunicacin y si las soluciones a los problemas identificados fueron las adecuadas.
5

www.controlchaos.com

10

COMPETISOFT

Mejora de Procesos

2.1.4

Disciplinas relacionadas con la Mejora

Agile SPI Process incluye un conjunto de disciplinas que pueden ser aplicadas en menor o mayor medida en cada una de las fases en las cuales se pueden desarrollar varias iteraciones, para esto nos hemos basado en el Proceso Unificado de Desarrollo de Software [31]. Agile SPI Process identifica las disciplinas que se llevan a cabo en cada una de las fases del proceso de mejora, permitindole al personal involucrado en el programa de mejora poder visualizar ms fcilmente las conductas que se deben tomar. A continuacin haremos una breve descripcin de las disciplinas que propone Agile SPI Process. ENTRENAMIENTO: Esta es una disciplina transversal al proceso de mejora debido a que se necesitar de entrenamiento durante todo el programa. Esta disciplina consiste en capacitar a los participantes de cada uno de los equipos acerca de qu es lo que est ocurriendo y qu habilidades y conocimientos son los que se necesita que ellos posean para que realicen bien su trabajo. Al inicio de un ciclo se dar un entrenamiento general sobre el proceso de mejora para que los participantes tengan idea acerca de lo que estarn realizando en las prximas semanas/meses; luego, en cada una de las fases se dar un entrenamiento sobre cada una de stas para que sepan cmo realizar su trabajo. Por ejemplo, si nos encontramos en la fase de diagnstico, en la cual es donde se realiza la valoracin de los procesos de la empresa, se debe entrenar a los participantes acerca del modelo de referencia seleccionado, como son el personal encargado de realizar la valoracin y el personal encuestado, para que de esta manera el desarrollo de la valoracin tenga xito. Tambin se debe tener en cuenta el entrenamiento para el personal cuando los procesos son mejorados o creados y luego implantados, para ellos es desconocido el nuevo proceso, es por esa razn que el personal dependiente del proceso debe tener un entrenamiento antes de empezar a utilizar el proceso. GESTIN DEL PROGRAMA SPI: Consiste en realizar un plan de trabajo del Programa de Mejora y llevar el seguimiento y control correspondiente. Para realizar esta disciplina primero se debe hacer un anlisis entre los integrantes del Equipo de Tecnologa de Procesos del estado del Programa de Mejora para decidir que actividades son las que se deben realizar, y cada una de stas actividades deben ser controladas. Como resultado se obtiene como producto de trabajo un plan, y este es diferente dependiendo de la fase en la que se est ejecutando y sirve para la realizacin del diseo de la solucin. EVALUACIN: Esta disciplina consiste en identificar el estado y condiciones actuales en las que se encuentra la organizacin en procesos especficos. En caso de realizarla de manera general, sta ser una valoracin y es para conocer de manera general las debilidades y fortalezas de los procesos que se encuentren actualmente en la organizacin, para esto utilizamos una herramienta de valoracin que arroja como resultado el nivel en el que se 11

COMPETISOFT

Mejora de Procesos

encuentra cada una de las reas de proceso de la empresa teniendo en cuenta el modelo de referencia escogido para la realizacin de la mejora. La evaluacin que aqu se realice es muy importante ya que define el trabajo a realizar en las fases, iteraciones o proyectos siguientes. Pueden existir evaluaciones particulares desarrollando planes de operacin para las reas de trabajo especficas que lo necesiten. Esta disciplina tambin se lleva a cabo cuando hay que evaluar si las estrategias y mtodos utilizados fueron los ms adecuados, y a partir de la informacin recolectada en cada una de las fases se determina si se deben cambiar o ajustar antes de comenzar el ciclo de mejora nuevamente. ANLISIS DE RESULTADOS: Disciplina encargada de la planificacin de operacin SPI, en la cul se encuentra un anlisis de los resultados obtenidos de la evaluacin, recomendaciones y cualquier informacin que sea importante incluirla en sta. ste anlisis de resultados se realiza con los resultados arrojados por la valoracin para priorizar los casos de mejora, con los arrojados por la evaluacin para determinar como atacar el problema y tambin luego con la implantacin de los procesos nuevos o mejorados. DISEO: Disciplina encargada de definir, crear y disear las soluciones y la forma de pilotear las pruebas y evaluar lo nuevo o la mejora del proceso. En el modelado de procesos se disean los nuevos procesos de acuerdo a los resultados obtenidos despus de la evaluacin, este modelado implica la creacin de nuevos procesos o la mejora de procesos que ya se encuentren en ejecucin dentro de la empresa. El proceso de modelado es soportado por el Framework PDS, el cual hace parte del proyecto SIMEP-SW [32], realizando el modelado de procesos bajo la especificacin SPEM. IMPLANTACIN: Esta disciplina es la encargada de llevar a cabo el diseo de la correspondencia e institucionalizacin de los nuevos procesos y mejora de los ya existentes a travs de experimentos que nos permitan definir una serie de pasos de implantacin de los nuevos procesos para luego ser examinados y observados en la disciplina de anlisis y evaluacin. GESTIN DE LA CONFIGURACIN DEL PROCESO: Esta disciplina tiene en cuenta la necesidad de controlar los cambios; como el cambio puede ocurrir en cualquier momento, deben realizarse actividades para identificar el cambio, controlar el cambio, asegurar que el cambio est siendo apropiadamente implantado, informar del cambio a aquellos que les es necesario y documentar las caractersticas funcionales y fsicas de los elementos de configuracin. APRENDIZAJE: El aprendizaje o retroalimentacin es una de las disciplinas ms importante en cada fase, y sta debe ser considerada como algo implcito en cada una de ellas, ya que se toma como base de conocimiento las lecciones aprendidas para el inicio de nuevos ciclos de 12

COMPETISOFT

Mejora de Procesos

mejoramiento. El aprendizaje puede ser visto como el empaquetamiento continuo de lecciones aprendidas donde se encontrarn todos los artefactos que nos permitan identificar la experiencia en ciclos de mejoramiento anteriores.

La figura 5 muestra la aplicacin de las diferentes disciplinas identificadas en cada una de las fases del proyecto de mejora Agile SPI Process. Como lo muestra la grfica, las disciplinas son aplicadas en todas las fases, pero unas son aplicadas en mayor o menor medida y de diferente forma dependiendo de la fase en la que se aplique y de las prioridades del programa de mejora. Por ejemplo, la disciplina de anlisis debe realizarse durante toda la fase de instalacin, analizando los resultados de la valoracin realizada y la planificacin del plan de mejora; tambin sta disciplina ser aplicada al inicio y al final de las siguientes fases pero la forma de aplicarse es diferente.

Figura 5. Aplicacin de disciplinas. Agile SPI Process

2.1.5

Las Iteraciones en Agile SPI Process y su correspondencia con el proceso de desarrollo SCRUM.

Una iteracin en Agile SPI - Process es un mini-ciclo de mejora que permite adelantar el desarrollo y gestin de un conjunto de casos de mejora de manera independiente. La iteracin es el concepto integrador entre fases y disciplinas. Las fases pueden ser descompuestas en el tiempo y el espacio (equipos) por iteraciones, y una iteracin, al ser por s misma una gua de mejora, es definida a partir de un conjunto de disciplinas de acuerdo a la fase en la que se encuentre y a las caractersticas del proyecto de mejora. Las iteraciones en Agile SPI Process son un agregado muy importante en la mejora de procesos de software, ya que de esta manera se

13

COMPETISOFT

Mejora de Procesos

pueden desarrollar mejoras independientes, y de esa manera arrojar mejoras mucho ms rpido. La clave est en desarrollar iteraciones en reas que sean independientes de otras, de esta manera el trabajo en ellas se puede realizar paralelamente, sin que el trabajo de mejora que en ellas se desarrolle ocasione problemas, no obstante hay que tener en cuenta que puede ocurrir el caso en el que exista una dependencia entre reas, en ese caso hay que estudiar cul es el impacto arrojado que podra crear un caso de mejora y en base a esto ordenar la manera en como se desarrollarn las mejoras en los dems casos (la dependencia esta mejor ejemplificada en el anexo B: Manual de Tcnicas y practicas. Red de dependencias).

Algo en lo que hemos considerado importante ahondar y detallar, es que las iteraciones para los casos de mejora en las fases de Diagnstico, Formulacin y Mejora pueden ser desarrollados de manera similar a la forma como lo hace el Proceso de Desarrollo Scrum[53] con los sprints, en cada uno de las cuales hay tres fases: prejuego, juego y pos-juego, a las cuales las hemos llamado pre-mejora, mejora y posmejora. Los casos de mejora pueden verse como los Sprint Backlog (Listado de requisitos de mejora), los cuales han sido desarmados en tareas de mejora ms pequeas, y stos en su totalidad y respectiva correspondencia conformaran un rea especfica, que podran verse como un listado priorizado de rasgos requeridos por la mejora, el cul ha sido obtenido por la valoracin realizada a la empresa, en relacin al proceso de desarrollo de SCRUM estos listados de rasgos son los que se crean a partir de los requerimientos del cliente y son llamados Product Backlog (Listado de requisitos de mejora iniciales). En la figura 5 podemos ver como se de desarrollan las iteraciones en Agile SPI Process. En la fase de pre-mejora se desarrollan disciplinas de valoracin para la creacin del registro de acumulacin o retraso del producto (Listado de requisitos de mejora iniciales). Luego de priorizar las reas a mejorar, se crea un listado de requisitos de mejora mediante la evaluacin de cada una de las reas, lo cul permite definir un orden para cada una de las iteraciones de mejora a ejecutar. Es conveniente mediante la ayuda de una de red de dependencias ordenar de una manera ms detallada las mejoras a realizar en las reas seleccionadas para la mejora, esta red me permite identificar los casos de mejora o el nmero de iteraciones a desarrollar por cada rea. Los casos de mejora no son ms que las actividades que componen el rea.

14

COMPETISOFT

Mejora de Procesos

Como se puede ver en la figura 6, las actividades en la fase de diagnstico, formulacin y mejora (las cuales sern explicadas mas adelante) las traemos a relacin para ver un poco mejor las actividades desarrolladas durante la iteracin de cualquier caso de mejora. Luego de identificar los casos de mejora que componen el rea y ordenarlos mediante una red de dependencias, contina el posterior anlisis y diseo del nuevo o mejorado proceso y la respectiva implantacin y documentacin.

Figura 6. Iteraciones en Agile SPI - Process

15

COMPETISOFT

Mejora de Procesos

3 CONCLUSIONES
En este informe tcnico se ha presentado un proceso de mejora de procesos de software gil. Las caractersticas fundamentales del proceso son: las disciplinas de trabajo transversales a un programa de mejora, la adaptacin de tcnicas para la conformacin de los grupos o equipos de mejora y la posibilidad de realizar las mejoras en los procesos de una manera iterativa e incremental. Para aligerar el proceso, Agile SPI Process adopta los principios del manifiesto gil y las caractersticas para un SPI liviano, lo cual hace que los programas de mejora se enfoquen en arrojar resultados giles y de acuerdo a las necesidades de las empresas. El proceso presentado en este informe tcnico proporciona a las Gimes un proceso de mejora de procesos de software adaptado a sus caractersticas, las cuales no disponen de los medios y recursos suficientes para la aplicacin de modelos de mejora de procesos tradicionales propuestos por el SEI o la ISO. Para la definicin de Agile SPI Process se han considerado las necesidades de las empresas del sector informtico de Colombia, pero el proceso ha sido definido de forma general con el fin de ser aplicado a cualquier PyME del sector Latinoamericano. En relacin a otras propuestas relacionadas, Agile SPI Process proporciona un proceso de mejora de procesos de software gil y liviano con el fin de establecer mejoras en los procesos giles o menos burocrticos independientemente del modelo de calidad para software elegido CMM, CMMI o ISO.

Como trabajo futuro se debe crear una herramienta software que soporte la gestin y administracin de un programa de mejora utilizando este proceso. Y se deben concretar algunos temas del proceso de mejora que se han enfocado con poca profundidad, tales como: mtricas, valoracin y evaluacin de

procesos.

16

COMPETISOFT

Mejora de Procesos

4 REFERENCIAS
[1] [2] VISCONTI Z, Marcello, Dr. Ingeniera de Software Avanzada. Universidad Tecnica Federico Santa Maria. Departamento de Informatica. Valparaso Chile. Documento digital. BEDINI G, Alejandro, Msc. Extracto del libro Calidad Tradicional y de Software. Universidad Tcnica Federico Santa Maria. Industrias Campus Santiago de Chile. Documento digital. MONTILVA C, Jons A., Ph.D. Mejoramiento de los procesos de desarrollo de software. Universidad de Los Andes Facultad de Ingeniera Postgrado en Computacin Mrida, Venezuela. Documento digital. VISCONTI Z, Marcello, Dr. Proyecto FONDECYT. "Calidad y Mejoramiento de Procesos de Software: Herramientas Especficas, Procesos Genricos y Mejores Prcticas para Cerrar la Brecha entre el Diagnstico - Planificacin y la Accin Prctica". Departamento de Informtica de la Universidad Tcnica Federico Santa Mara. http://www.inf.utfsm.cl/~cisrary/descripcion.html. VISCONTI Z, Marcello, Dr. Software Process Improvement Overview. Departamento de Informtica. Universidad Tcnica Federico Santa Maria. Valparaso, Chile. Documento digital. TANTARA INC. Software process improvement & related standards/models. Business consulting firm specialized in software best practices and the improvement of process effectiveness and software product/service potential. Julio 24 del 2.001. http://www.tantara.ab.ca/a_stds.htm MOEN Ronald D. NOLAN Thomas W. PROVOST Lloyd P. Traduccin libre del cap. 1 "Improvement of Quality" del libro Improving Quality Through Planned Experimentation. Ed. McGraw-Hill. Documento digital. http://correo.udlap.mx/~jtambore/mej-cal/mej-cal.html [8] ALQUICIRA ESQUIVEL, Claudia, M. en C. Programa de mejora, una carrera por la mejora que no tiene meta. http://www.avantare.com/articulos/novedades_articulodelmes.html [9] SYNSPACE. Evaluacin y Anlisis de los Procesos de Desarrollo de Software. 2003. http://www.synspace.com/ES/Assessments/spa.html

[3]

[4]

[5]

[6]

[7]

[10] VISCONTI Z, Marcello, Dr. Ingeniera del Software Avanzada. Universidad Tcnica Federico Santa Maria. Departamento de Informtica. Documento digital. [11] GUERRERO, Luciano. Ciclo de Mejoramiento de Procesos: el Modelo IDEALSM. Montreal, PQ, Canad. Octubre 1.999. Documento digital. http://www.geocities.com/SiliconValley/Lab/3629/ [12] SHEWHART, Walter. Scriven M.: Evaluation Thesaurus. Sage Publications: Newbury Park, CA (1991). [13] DEMING, W. E.: Out of the Crisis. Cambridge, MA: MIT Center for Advanced Engineering (1986). [14] JURAN J, M.: Planning for Quality. New York: Macmillan (1988). [15] HUMPHREY, W. S.: Managing the Software Process. Reading, MA: Addison-Wesley (1989).

17

COMPETISOFT

Mejora de Procesos

[16] MALPASS Pete, MAHER Jhon. General CMM Installation Guide V0.9. Documento digital. [17] SYNSPACE. iNTACS Certified ISO/IEC 15504 (SPiCE) Assessor. Octubre 27 de 2.004. http://www.synspace.com/ES/Seminars/sat.html [18] SCOTT, L. JEFFERY, R. CARVALHO, L. DAMBRA, J. RUTHERFORD, P. Practical Software Process Improvement The IMPACT Approach in Proceedings 2001 Australian Software Engineering Conference, pp. 182-189, IEEE Computer Society Press, 2001. The University of New South Wales. Documento digital. [19] IBARGENGOITIA, G. Guadalupe. Aplicacin de MoProSoft a un caso prctico. Facultad de Ciencias, UNAM. Documento digital. [20] PINO Francisco J. C, O Flix. Garca R, PIATTINI V Mario. Adaptacin de las normas ISO/IEC 12207:2002 e ISO/IEC 15504:2003 para la Evaluacin de la Madurez de Procesos Software. 2.005. Documento digital. [21] CRAFTWARE LTDA. Reingeniera de http://www.craftware.net/es/reengineering.html. [22] [23] [24] Proceso de Desarrollo. 2.003.

GUERRERO, Luciano. Mejoramiento de procesos. 1999-2000. http://www.geocities.com/SiliconValley/Lab/3629/mejoramiento.htm GUERRERO, Luciano. El Mtodo CBA IPI. 1999-2000. Documento digital. GUERRERO, Luciano. 1999-2000. Evaluacin de proyectos. www.geocities.com/SiliconValley/Lab/3629/evaluand.htm

[25] MCFEELEY, Bob. IDEALSM: A Users Guide for Software Process Improvement. Software Engineering Institute (SEI) Carnegie Mellon University Pittsburgh, Pennsylvania. 1.996. [26] FUGGETTA, Alfonso, CONRADI Reidar, Improving Software Process Improvement. Dipartimento di Elettronica e Informazione. Politecnico di Milano. Julio 2.002. [27] STLHANE, T. WEDDE, K. J. SPIWhy Isnt It More Used? Proc. EuroSPI 99, Pori School of Technology and Economics, Pori, Finland, Serie A25, pp. 1.341.39. [28] HURTADO, Julio Ariel. El modelo integral de mejoramiento Agile SPI. Departamento de Sistemas, Universidad del Cauca. Popayn, Agosto de 2.004 [29] HURTADO, Julio Ariel. Agile SPI: Un enfoque gil hacia la mejora de procesos de Software. Resumen. Departamento de Sistemas, Universidad del Cauca. Popayn. [30] HUMPREY, W. S. Managing the software process, SEI series in software engineering, Addison-Wesley, 1.989. [31] SYNSPACE. INTACS Certified ISO/IEC 15504 (SPICE) Assessors. Octubre 27 de 2.004. http://www.synspace.com/ES/Seminars/sat.html [32] JACOBSON. Ivar. BOOCH. Grady. RUMBAUGH. James. El proceso Unificado de Desarrollo de Software. Edicin en espaol. Ed Addison Wesley. 2.000. [33] HURTADO, Julio Ariel. Sistema Integral para el Mejoramiento de los procesos de Desarrollo de Software en Colombia (SIMEP-SW). Departamento de Sistemas, Universidad del Cauca. Popayn, Julio de 2.003. [34] ZAHRAN, Sami. Software Process Improvement: Practical Guidelines for Business Success. Software Engineering Institute.1.998.

18

COMPETISOFT

Mejora de Procesos

[35] SWEBOK. A project of the IEEE Computer Society. Professional Practices Comit. Guide to the Software Engineering Body of Knowledge. 2004 Version. [36] DYER, J. Team Research and Team Training: A State-of-the-Art Re-view. Human Factors Review, The Human Factors Society, Inc. [37] HUMPREY, W. The Team Software Process. Technical Report CMU/SEI-2000-TR023. 2000. [38] CANS, Jos H. LETELIER Patricio. PENADS Mara Carmen. Metodologas giles en el Desarrollo de Software. Universidad Politcnica de Valencia. [39] REYNOSO. Carlos. Mtodos heterodoxos en desarrollo de software. http://www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/heterodox.asp [40] TORRES, Jos Luis. IIDIS Instituto para la Investigacin y Desarrollo de la Ingeniera de Software. Universidad Autnoma de Guadalajara. http://www.ewh.ieee.org/r9/guadalajara/boletin/marzo02/admonreq.htm [41] GUERRERO, F. Rodrigo. Martnez, J. Freddy. PROYECTO FRAMEWORK PDS. Marco de trabajo para Definicin de Procesos de Desarrollo de Software. Versin 1.0.1. Universidad del Cauca. 16 de marzo de 2005. [42] HOLLINGSWORTH. David. Workflow Management Coalition the Workflow Reference Model. 55 p. Enero de 1995. [43] DE LA VILLA, Manuel. Ruiz Mercedes. Ramos Isabel. Modelos de Evaluacin y Mejora de Procesos: Anlisis Comparativo. Proyecto CICYT. 2.004. [44] CHAPELA, C. Leonardo. Dr. Calidad Y Competitividad En La Industria Del Software. [45] PINO, F. Jos. Modelos de evaluacin de la calidad de los procesos de desarrollo de software. Universidad del Cauca. Junio de 2.005. [46] ISO/IEC. (1998c). ISO IEC 15504 TR2:1998, Software Process Assessment - Part 4: Guide to conducting assessment. International Organization for Standardization. [47] SEI. (2001). Standard CMMISM Appraisal Method for Process Improvement (SCAMPISM ), Version1.1: Method Definition Document. CMU/SEI-2001-HB-001. Software Engineering Institute. [48] ISO/IEC. (1998a). ISO/IEC 15504 TR2:1998, Software Process Assessment - Part 2: A reference model for processes and process capability. International Organization for Standardization. [49] ISO/IEC. (1995). ISO/IEC 12207 UNE 71044 (1999) Tecnologa de la Informacin Proceso de Ciclo de Vida del Software. AENOR Asociacin Espaola de Normalizacin y Certificacin. [50] ISO/IEC. (2002). ISO/IEC 12207 AMENDMENT 1: Information Technology Software Life Cycle Processes Amendment 1. International Organization for Standardization. [51] Manifesto for Agile Software Development. http://www.agilemanifesto.org/ [52] AHERN, D. CLOUSE, A. TURNER, R. CMMI(R) Distilled: A Practical Introduction to Integrated Process Improvement, Second Edition. Addison-Wesley (Sep.2003). [53] SCRUM. Mtodos Heterodoxos en Desarrollo de Software. http://www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/heterodox.asp. Viernes, 11 de junio de 2004.

19

COMPETISOFT

Mejora de Procesos

[54] BARBACCI, Mario R. ELLISON, Robert. LATTANZE, Anthony J. STAFFORD, Judith A. WEINSTOCK, Charles B. WOOD, William G. Quality Attribute Workshops (QAWs), Third Edition. TECHNICAL REPORT, CMU/SEI-2003-TR-016, ESC-TR-2003016. August 2003. [55] OBJECT MANAGMENT GROUP. Software Process Engineering Metamodel Specification Versin 1.0. Noviembre de 2002.

20