Inmersión en la Programación Extrema

Nuestro curso de inmersión en la Programación Extrema proporciona todo lo necesario para llevar a cabo con éxito la transición a dicha metodogía.

La transición de un equipo a la Programación Extrema requiere cambios en muchas partes de la organización. Esto incluye a programadores, product managersmanagers técnicos y usuarios finales. Hay nuevas habilidades que adquirir, y un cambio en roles y responsabilidades. Estos cambios no se pueden lelvar a cabo sin dificultades y sin correr riesgos.

El mejor modo de llevar a cabo la transición es asignando un coach (o entrenador ) para que trabaje con el equipo y la infraestructura de negocio. El coach o entrenador ayuda a desarrollar las habilidades necesarias y facilita el cambio de roles y estructuras.

Antes de continuar...

Antes de continuar, puede ser interesante obtener información adicional sobre qué es la Programación Extrema, sus prácticas fundamentales, y los motivos para adoptarla, para lo que puede acceder a los siguientes enlaces:

Objetivos

Nuestro objetivo es conseguir que su equipo se convierta en un equipo de capaz de crear y gestionar requerimientos, y de planificar y priorizar el desarrollo. Su equipo creará versiones funcionales del software cada dos o tres semanas, y proporcionará información de estado y progreso realmente fiable. También será capaz de reaccionar a cambios en el negocio ágilmente. El equipo resultante será agresivo, y estará cohesionado y motivado.

El entrenador  o coach

El coach se dedicará tan solo a su proyecto, trabajando con su equipo de desarrollo y enseñando las habilidades de planificación y programación necesarias.

El coach también trabajará con el equipo de desarrollo y el de negocio para ayudar a reorganizar roles y responsabilidades, y desarrollar las habilidades necesarias. El objetivo es establecer un flujo agresivo de requerimientos del equipo de negocio al equipo de desarrollo, así como un proceso de planificación y gestión que permita dirigir con fluidez el desarrollo.

Habilidades a desarrollar

Las habilidades a desarrollar incluyen:

  • Prácticas de la Programación Extrema. Estas prácticas mejoran la especificación, planificación y ejecución de los desarrollos de software. Con estas habilidades los desarrolladores y la gente del negocio serán capaces de elaborar, ejecutar y gestionar el plan de desarrollo. Los analistas podrán especificar, verificar y ajustar las características del producto, y los programadores crearán software de calidad.

  • Técnicas de Diseño. Estas técnicas ayudarán a crear software más flexible y adaptable.

  • Coaching. La transferencia de técnicas de coaching es fundamental para que su equipo pueda seguir avanzando cuando termine nuestra labor. Buscamos y formamos a personas dentro de su organización que puedan llevar a cabo las funciones de coach.

El programa

Todas las actividades de la inmersión se realizan mientras se lleva a cabo el desarrollo de sus proyectos, por lo que ajustamos el calendario de estas actividades a las necesidades del equipo y el negocio. El calendario base es de tres o tres meses y medio.

Durante las 12/14 semanas se trabajará a través de una serie de iteraciones, cada una de dos o tres semanas. Cada iteración comienza con la revisión del estado actual, una planificación y la obtención de feedback. Las iteraciones se detallan a continuación:

  • Exploración. La transición comienza con un período de dos o tres semanas de introducción, chequeo de la situación actual y exploración. En este período el coach trabajará para comprender el proyecto, el equipo, la cultura y el entorno, y comenzará los procesos de obtención de requerimientos y estimación.

    Al comienzo de este período se llevará a cabo un curso de Introducción a la XP .

    En el momento más adecuado también se dará un curso de Planificación en la XP a programadores y analistas. Se hablará individualmente con programadores, analistas, gestores y ejecutivos uno a uno, para intentar comprender y formar. Como resultado, al final de este período el equipo tendrá las habilidades y confianza para comenzar con el desarrollo.

  • Iteración 1. La primera iteración comienza en la tercera o cuarta semana de la transición, con la creación de un plan de la versión (release). El coach trabajará con el equipo para recoger y estimar requerimientos, y planificar la producción de las siguientes iteraciones. El plan no será excesivamente detallado, pero proporcionará un contexto para el resto de la inmersión.

    A continuación el equipo creará un plan detallada para esta iteración, seleccionando requerimientos y asignándolos dentro de un calendario. Se dividirán los requerimientos en tareas, se re-estimarán y se asignarán a los desarrolladores. El progreso se medirá y publicará continuamente.

    Durante esta iteración se dará un curso de Programación Basada en Tests .

    Al final de la iteración se habrán identificado muchos de las peculiaridades y problemas de la organización, y se habrán eliminado algunos. Un objetivo fundamental es conseguir que el equipo se dé cuenta del progreso que se puede llegar a conseguir en una iteración, así como de los impedimentos y retos organizativos existentes.

  • Iteración 2 . El plan para esta iteración tiene en cuenta la velocidad del equipo en la primera iteración. En esta iteración se llevan a cabo experimentos organizativos sugeridos durante la primera. También se llevará a cabo un curso de Refactorización.

  • Iteraciones 3, 4 y 5. Durante estas iteraciones el equipo continúa refinando sus habilidades y organización. El objetivo de la cuarta y quinta iteraciones es avanzar con la mínima intervención posible por parte del coach. El objetivo es que el equipo pueda trabajar sin intervención exterior en la quinta iteración.

Formación

La inmersión incluye varios cursos:

Sin embargo, hay otros cursos que resultan muy recomendables y que pueden impartirse antes de la inmersión, o durante la misma:

Refuerzo del equipo

Los equipos que participan en cambios importantes están sometidos a fuertes niveles de stress y ansiedad. Nuestro objetivo es dar no solo soporte técnico, sino también hacer la transición más fácil.

Conclusión

Nuestro objetivo es ayudarle a que sus proyectos tengan éxito. Creemos que el enfoque del curso de inmersión es el más adecuado para conseguir que la transición a la Programación Extrema sea eficaz y se comience a producir software con el máximo valor añadido en el período más breve de tiempo.