4.5.1 Introducción
Durante el ciclo operativo a nivel de proyecto lo que se hace es ensayar o experimentar con las unidades de adaptación creadas en el proceso “diseñar unidades de adaptación”.
Antes de iniciar el desarrollo de un proyecto, es necesario identificar el escenario de adaptación (objetivos y contexto) en el cual se va a realizar.
Inicialmente, se deben seleccionar los objetivos del proyecto para alinear su desarrollo con la estrategia de la organización.
Luego, es importante conocer el contexto en el que se va a realizar para que la adaptación que se decida aplicar esté diseñada específicamente para el contexto del proyecto.
Diferentes proyectos pueden tomar como base la misma unidad de adaptación, pero cada uno de ellos podrá tener una experiencia distinta a pesar de estar en el mismo contexto, y seguramente se necesitarán realizar ajustes en la adaptación para conseguir los objetivos esperados.
Es por este motivo que las unidades de adaptación se definen inicialmente como un diseño conceptual compuesto por un conjunto de acciones de adaptación aplicadas a una metodología ágil de base para un contexto determinado. A partir de este diseño, cada proyecto puede experimentar o aprender de manera distinta, teniendo que ajustar las acciones de adaptación a su experiencia específica.
A este aprendizaje y ajuste se denomina “experimento de adaptación” y se realiza durante la ejecución de los ciclos de adaptación del proyecto. En el momento que se verifica que el proyecto ha conseguido los objetivos previstos, la organización decide si el experimento realizado sobre la unidad de adaptación puede ser compartido a otros equipos de desarrollo, y es cuando se convierte el experimento en una “adaptación adquirida”, la cual, al igual que una unidad de adaptación recién diseñada, podrá ser la base de adaptación para otros proyectos.
Por tanto, la “base de adaptación” a partir del cual se crea el “experimento de adaptación” puede ser una unidad de adaptación recién diseñada o una adaptación adquirida en otro proyecto.
Se pueden resumir cuatro tipos de unidades de adaptación en función de la situación en la que se encuentran:
• Diseño de adaptación. Definición conceptual creada durante el proceso “diseñar unidades de adaptación”.
• Experimento de adaptación. Instancia de adaptación creada a partir de un diseño de adaptación o de una adaptación adquirida. Esta instancia se somete a la experimentación durante los ciclos de adaptación del proyecto y sufre modificaciones en función de la experiencia que se adquiere. Puede o no convertirse en una adaptación adquirida, y en caso de que no lo consiga, el aprendizaje obtenido es igualmente conservado como experiencia.
• Adaptación adquirida. Unidad de adaptación que contiene la experiencia y aprendizaje adquirido en un experimento de adaptación, y que la organización pone a disposición de los demás equipos de desarrollo. Cuando un experimento de adaptación consigue sus objetivos
y la organización así lo determina, el experimento de adaptación se convierte en adaptación adquirida.
• Adaptación no adquirida. Unidad de adaptación que contiene la experiencia y aprendizaje adquirido en un experimento de adaptación, pero que no ha conseguido sus objetivos ni su estabilización. No podrá ser utilizada como base de adaptación para otras experiencias (salvo que se trate de un nuevo proyecto que continúe un experimento de adaptación anterior), pero si conservará la experiencia adquirida para potenciar futuras adaptaciones creadas a partir de la misma base de adaptación o con acciones de adaptación similares. Por ejemplo, podría recoger riesgos y experiencias negativas en la aplicación de la unidad de adaptación en el escenario del proyecto.
Los cuatro tipos de unidades de adaptación tienen una raíz común. La Figura 4.21 muestra la relación jerárquica existente entre los 4 tipos de unidades de adaptación.
Figura 4.21 Relación jerárquica de los tipos de unidades de adaptación
Resumiendo, cuando se va a iniciar un nuevo proyecto, se deben establecer sus objetivos, identificar su contexto de desarrollo y seleccionar la base de adaptación con la cual se experimentará la metodología ágil adaptada.
Con el experimento de adaptación seleccionado, el siguiente paso es gestionar los requisitos previos de las acciones de adaptación para que éstas puedan ser aplicadas durante el proyecto. Esto es necesario solamente al inicio del proyecto. Posteriormente, durante su desarrollo, el trabajo consiste
en ensayar o experimentar con la adaptación, y aplicar los ajustes oportunos en las acciones de adaptación en función de la experiencia adquirida.
La Tabla 4.5 presenta un resumen del proceso “Caracterizar y preparar el proyecto”. Nombre Caracterizar y preparar el proyecto
Ciclo Ciclo operativo a nivel de proyecto Implicados Equipo SEPG, Jefes de proyecto
Resumen Consiste en identificar los objetivos y el contexto del proyecto para seleccionar la base de adaptación que será aplicada durante los ciclos de adaptación del proyecto. Además se realiza la gestión necesaria para disponer de los requisitos previos de las acciones de adaptación. Objetivos • Identificar cual es el escenario de desarrollo del proyecto para poder seleccionar la metodología ágil adaptada que más se ajuste a ese contexto
• Preparar el escenario de adaptación para poder ensayar o experimentar la adaptación de la metodología ágil
Precondiciones Diseñar unidades de adaptación
Entradas • Objetivos de negocio y de software
• Contextos de la organización
• Unidades de adaptación Actividades • Caracterizar el proyecto
o Identificar los objetivos del proyecto o Identificar el contexto del proyecto o Seleccionar la base de adaptación
• Preparar el escenario de adaptación Salidas • Base de adaptación del proyecto
Tabla 4.5 Proceso “Caracterizar y preparar el proyecto”
4.5.2 Descripción
Antes de iniciar el desarrollo del proyecto, éste debe ser caracterizado con el fin de identificar los objetivos, el contexto y las acciones de adaptación a ser aplicadas. Además, se tienen que tener preparados todos sus requisitos previos para poder aplicar las acciones de manera adecuada.
Una vez realizado este proceso, se podrá dar por iniciado el proyecto. 4.5.2.1 Caracterizar el proyecto
Con el fin de conseguir una alineación con la estrategia organizacional y para delimitar el alcance de la adaptación de la metodología ágil, se deben identificar los objetivos con los que serán evaluados los resultados, y el contexto que caracteriza el escenario de desarrollo del mismo.
A partir de los objetivos establecidos en el proceso “Establecer los objetivos de la organización”, se deben identificar qué objetivos específicos (de negocio y de software respectivamente) se quieren conseguir en el proyecto con el fin de seleccionar una adaptación metodológica apropiada.
Se recomienda orientar el experimento de adaptación a un solo objetivo para centrar el esfuerzo y reducir el impacto del cambio que conlleva una adaptación más ambiciosa. Además, se debe tener presente que es la estrategia de la organización la que debe guiar el proceso de adaptación.
4.5.2.1.2 Identificar el contexto
A partir de los contextos identificados en el proceso “Caracterizar y entender la organización”, se debe identificar el contexto particular del proyecto con el fin de poder seleccionar una adaptación metodológica creada específicamente para este contexto.
En caso de que no se hubiese identificado el contexto particular del proyecto, entonces se debe revisar nuevamente el proceso “Caracterizar y entender la organización” para crear un contexto que describa el escenario de desarrollo del proyecto.
Se debe tener presente que una de las principales bases de este trabajo de investigación, es la contextualización de la adaptación como estrategia para optimizar el proceso en función de las necesidades específicas del escenario de desarrollo del proyecto.
4.5.2.1.3 Seleccionar la base de adaptación
Con el inicio del nuevo proyecto se ponen en práctica las acciones de adaptación definidas. Al final de cada ciclo de adaptación, éstas son sometidas a evaluación y se identifican las modificaciones y ajustes necesarios en función de la experiencia obtenida, lo que implica que al final de cada ciclo, la definición de la unidad de adaptación podrá variar respecto a su definición inicial.
La unidad de adaptación que se toma como referencia antes del inicio del proyecto se denomina base de adaptación, la cual se instancia como un “experimento de adaptación” específico para el proyecto, y es en este experimento donde se hacen todas las modificaciones y ajustes que sean necesarios en función del experimento y los resultados que se van obteniendo, de manera que la misma base de adaptación pueda ser utilizada en otros proyectos.
En esta actividad del proceso, lo que se hace es seleccionar la base de adaptación más apropiada para el proyecto, la cual deberá estar alineada con los objetivos y contexto del proyecto. Considerar que para los mismos objetivos y contexto podrán existir diferentes adaptaciones disponibles, y definidas a partir de diferentes metodologías ágiles de base.
En caso de que no exista ninguna base de adaptación con los mismos objetivos, entonces se debe revisar nuevamente el proceso “Diseñar unidades de adaptación” para crear una que tenga los mismos objetivos que se quieren conseguir con el proyecto.
Si para el contexto del proyecto ya se tienen “adaptaciones adquiridas”, lo recomendable es tomar como base de adaptación aquella que hubiese tenido mejores resultados en experiencias anteriores, y en el desarrollo del nuevo proyecto, se verá si se sigue tal y como quedó definida, o si se necesitan ajustes específicos a la realidad del proyecto.
El desarrollar dos proyectos en un mismo contexto no significa que la adaptación definida para este contexto sea la mejor para ambos proyectos. De un proyecto a otro podrán existir particularidades que demanden la necesidad de realizar en cada uno de ellos modificaciones y ajustes específicos. La base de adaptación puede derivarse de tres tipos de unidades de adaptación:
• Diseño de adaptación. en el caso de que se vaya a desarrollar un proyecto a partir de una adaptación recientemente diseñada con el fin de ensayarla o experimentarla.
• Adaptación adquirida. en el caso de que se quiera reutilizar el conocimiento y experiencia adquirida en otro proyecto de la organización. Esta es la mejor opción cuando se ha experimentado de manera exitosa en un proyecto anterior. Además, esta es la estrategia de despliegue de las metodologías ágiles a nivel organizacional que propone esta tesis.
• Adaptación no adquirida. en el caso de que se quiera continuar un experimento anterior que no se convirtió en experiencia adquirida. Recomendable cuando un proyecto ha finalizado y no ha conseguido los resultados esperados en su experimento de adaptación. Se trata de poder continuar con el experimento de adaptación anterior. En este caso, lo lógico es que sea el mismo equipo quien continúe en el nuevo proyecto.
4.5.2.2 Preparar el escenario de adaptación
Consiste en gestionar o ajustar los requisitos previos de cada acción de adaptación del experimento de adaptación para que éste pueda ser realizado durante el desarrollo del proyecto.
Es importante garantizar que se dispone de todos los requisitos previos para una correcta aplicación de la adaptación. Es preferible retrasar el inicio del proyecto y contar con todo lo necesario antes de aplicar la adaptación definida. En caso de que algún requisito previo no pueda ser conseguido, se debe elegir otra base de adaptación o modificar la definición de la unidad seleccionada.
Resultado de la experimentación o desarrollo del proyecto, es probable que estos requisitos previos también sean ajustados con el fin de optimizar su reutilización en otros proyectos.
Por ejemplo, para la acción de adaptación “adoptar pruebas unitarias” mostrada en la Figura 4.17, los requisitos previos que se deben gestionar son:
• Seleccionar una herramienta de automatización de pruebas unitarias.
• Realizar una formación en la metodología TDD al equipo del proyecto.
4.5.3 Resumen del proceso
La Figura 4.22 resume el proceso “caracterizar y preparar el proyecto” y presenta una propuesta de asignación de responsables para cada actividad que lo compone.
Figura 4.22 Diagrama del proceso “Caracterizar y preparar el proyecto”