Proceso incremental de mejora. Disciplinas y su aplicación.

Publicado en

Autor

En este artículo se describen las fases y algunos de los retos de la Mejora Iterativa del Proceso de Software (MIPS), así como la descripción de algunos de los errores comunes que se cometen en la administración de un proceso de mejora. La información que se presenta surge de experiencias en consultoría, así como reportes o historias relacionadas de nuestros colegas.

Tradicionalmente, la mejora de procesos de software se realiza en un solo ciclo. Esto es más sencillo para los administradores, pero difícil para el equipo de mejora. En cambio, la mejora incremental permite al equipo de mejora y a la gerencia identificar resultados a corto plazo, con el inconveniente de que genera mayor complejidad en la administración. Sin embargo, los beneficios bien valen la pena.

El proceso incremental
El proceso incremental de mejora tiene como objetivo asegurar la implantación de la capacidad de los modelos de software a través de ciclos de vida incrementales orientados a organizaciones y objetivos de negocio como se presenta en la figura 1. Esta figura ilustra la arquitectura del proceso, el cuál provee un acercamiento disciplinado para la asignación de tareas y responsabilidades en la organización. Como podrán apreciar, estamos tomando la misma idea del ciclo de vida del Proceso Unificado, y aplicándola a la mejora de procesos.

La gráfica muestra el esfuerzo variado a través del tiempo. Por ejemplo, en iteraciones tempranas el esfuerzo se encuentra concentrado en el desarrollo de la iniciativa y en las iteraciones tardías en la entrega. Esta contiene dos dimensiones:
• El eje horizontal representa el tiempo y muestra los aspectos del ciclo de vida del proceso claramente. La primera dimensión ilustra el aspecto dinámico del desempeño del proceso el cual está expresado en términos de fases, el ciclo de vida incremental y los entregables.
• El eje vertical representa a las disciplinas que de manera lógica agrupa las actividades por naturaleza. Esta segunda dimensión representa el aspecto estático de la descripción del proceso en términos de componentes, disciplinas, actividades, flujos de trabajo, artefactos y roles. (Ver Figura 1)

Figura 1. Modelo de ciclo de vida para la mejora de procesos incremental

Disciplinas
A continuación describo las diferentes disciplinas, y las principales actividades asociadas a cada una. Iniciativas. La gerencia debe entender el estado actual del proceso de desarrollo organizacional en términos de documentación, conocimiento, uso y comunicación, así como las herramientas que lo soportan a través de la organización. Esta información servirá para identificar problemas y áreas potenciales de mejora. También se debe complementar con información acerca del ambiente o contexto, y tendencias. Cuando esta evaluación se encuentra completa, se desarrolla el “Plan de Mejora”. Estas son las principales actividades que forman parte de esta disciplina:
• Especificar metas de negocio y objetivos que serán realizados o soportados
• Comienzo de la planeación estratégica a través de las metas y objetivos de negocio
• Diagnóstico del proceso de desarrollo organizacional para facilitar la identificación del estado actual con respecto a los estándares, métodos o modelos de referencia a implantar (estado deseado alineado al del modelo o estándar)
• Mejorar las áreas y procesos que necesitan ser mejorados en primera instancia
• Identificar el impacto en otras iniciativas y en el trabajo del día a día
• Herramientas a ser usadas por la organización
• Establecer una infraestructura para la administración específica de la implementación
• El equipo seleccionado, incluidos su nivel de competencia, habilidades y motivación, deben asegurar el soporte requerido para ejecutar el cambio razonable para el éxito

Diseño. Desarrollar la arquitectura y plantillas para el proceso de desarrollo organizacional utilizado por el grupo de procesos. La intención es evolucionar la arquitectura del proceso de forma sistemática, tomando en cuenta el ambiente organizacional.
• Desarrollar la plantilla para documentar el proceso
• Planear y establecer el ambiente organizacional con el objetivo de decidir el ambiente robusto de desarrollo con las adecuaciones necesarias
• Estructurar el comité de procesos y sus funciones
• Identificar grupos de interés afectados directa e indirectamente

Instrumentación. Identificar el tipo de entrenamiento que se necesita y las estrategias para facilitar el acercamiento del uso de los procesos y herramientas con el objetivo de implementar en proyectos piloto así como pruebas controlados para generar confianza, motivación, realización y alineación en el proceso y herramientas.
• Estudiar los niveles de competencia a través de las personas en la organización
• Desarrollar el plan de entrenamiento
• Preparar los mentores que soportarán el proyecto
• Desarrollar guías para implementar el proceso. Estas serán utilizadas para implementar tanto los procesos como herramientas
• Identificar los proyectos piloto, los cuales serán de importancia para la organización pero no de alto riesgo en su ejecución
• Definir una secuencia y decidir la ejecución del proyecto piloto

Verificación y Validación. Verificar en el ambiente piloto los procesos mejorados y validar las mejoras en el desempeño.
• Probar la solución establecida para determinar qué funciona y qué no funciona. • Revisar y modificar la solución para incorporar nuevos conocimientos y entendimientos.
• Determinar que se ha logrado hasta el momento.
• Iterar en caso de ser necesario.
Liberación. Manejar la transición/cambio en términos de la madurez de: las personas, el ambiente y la infraestructura.
• Identificar a los agentes del cambio
• Definir y comunicar las siguientes estrategias: a) Equipo, b) Liderazgo, c) Alineación, d) Comunicación, e) Incentivos, f) Entrenamiento, g) Valoración y h) Recursos

Cambios y Configuración. Es esencial para controlar los artefactos que se han generado por el proceso de mejora. Controla los cambios a los requisitos así como las versiones del proceso por lo que ayuda a evitar costosas confusiones con los artefactos y asegura la integridad de los artefactos resultantes, permitiendo establecer una línea base de conocimiento.
• Definir la estructura de la base de conocimiento
• Identificar el proceso de cambio

Administración de Proyectos. Esta disciplina se enfoca principalmente a aspectos de administración, monitoreo y control de manera iterativa a través del ciclo de vida.
• Administración de riesgos
• Planeación de todo el proyecto, y de las iteraciones individuales
• Monitoreo del progreso de un proyecto iterativo.
• Monitoreo del progreso en términos de métricas.
• Identificar barreras potenciales

Gestión de Procesos. Establece un proceso organizacional acorde a la estrategia del negocio, definiendo, planeando e implementando las actividades de mejora.
• Estructura y definición de actividades del equipo de mejora
• Ejecución y análisis controlado de la mejora a través del líder de mejora y apoyo del comité
• Análisis de las mejoras a través de la viabilidad para el negocio y el retorno de inversión (ROI) en la organización y/o áreas afectadas.

Disciplinas e iteraciones
Las diferentes disciplinas se aplican de manera cíclica en cada una de las iteraciones del proyecto de mejora. Haciendo la analogía con el ciclo de mejora Planear, Hacer, Verificar, Actuar (PHVA), quedaría de la siguiente forma ilustrada en la figura 2.

Figura 2. Ejecución dentro de una iteración

Implicaciones de la mejora incremental
A través de la aplicación de un ciclo de vida incremental para mejorar los procesos, es posible mostrar resultados rápidos a aquellas partes “afectadas”, y así obtener un mayor apoyo con convencimiento a través de resultados medibles.

Una estrategia de mejora alineada a objetivos de negocio y acotada bajo una definición del alcance nos permite contar con:
a) Metas evidentes (a corto plazo)
b) Lecciones aprendidas (reacciones) de aquellas inconsistencias que se puedan encontrar bajo el desarrollo de los requisitos, diseño e instrumentación son detectas previo a la liberación por lo que se tiene una mejora continua.
c) Verificaciones y validaciones continuas para asegurar los objetivos, integración y su estatus
d) Grupos de interés que requieren observar evidencia concreta del estatus cuantitativo del proyecto
e) Comunicación a través de resultados dirigidos a los diferentes partícipes e involucrados.

Conclusión
Aunque el modelo de mejora iterativo e incremental genera mayor complejidad en su ejecución que la forma tradicional, la inversión fuerte se realiza la primera vez que se utiliza, y los beneficios serán permanentes. Una vez que se entiende como hacerlo de manera “correcta”, el equipo de mejora comprende y piensa de manera incremental, este método es mucho mejor en el sentido que la mejora se enfoca primero a los principales problemas de la organización y esto habilitará a la gerencia a través de resultados palpables y apoya para desarrollar mejoras complejas dentro de la organización.

Bio

Angélica Su es Consultor en Procesos de Software y Administrador de Proyectos en Itera. Participó en la elaboración de MoProSoft y EvalProSoft. Ha trabajado en proyectos de mejora en la realización de diagnósticos y evaluación formal CBA-IPI y asesoría en procesos basados en SW-CMM, CMMI e ISO 9000. Heidi González es Consultor de Procesos de Software en Itera. Ha trabajado en el desarrollo de metodologías de evaluación de proveedores a través de CBA-IPI del SW-CMM.