Please enable JavaScript.
Coggle requires JavaScript to display documents.
Modelo extreme programming (XP) - Coggle Diagram
Modelo extreme programming (XP)
Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación continua entre todos los participantes, simplicidad en las soluciones implementadas y facilidad para enfrentar los cambios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos, muy cambiantes y donde existe un alto riesgo técnico.
ROLES
Programador.
El programador escribe las pruebas unitarias y produce el código del sistema. Debe existir una comunicación y coordinación adecuada entre los programadores y otros miembros del equipo.
Cliente.
El cliente escribe las historias de usuario y las pruebas funcionales para validar su implementación. Además, asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en aportar mayor valor al negocio. Aporta la dimensión de negocio al equipo de desarrollo, también representa al colectivo de usuarios finales y está siempre disponible para consultas.
Encargado de pruebas (Tester)
. El encargado de pruebas ayuda al cliente a escribir las pruebas funcionales. Ejecuta las pruebas, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.
Ejecuta las pruebas de aceptación.
Ayuda al cliente a diseñar pruebas de aceptación.
Ejecuta las pruebas de integración.
∙ Difunde los resultados entre el equipo de desarrollo y el cliente.
∙ Es el responsable automatizar los casos de prueba.
∙ Encargado de seguimiento de los errores y sus diferentes estados.
Se encarga de realimentar todo el proceso de XP, midiendo las desviaciones con respecto a las estimaciones y comunicando los resultados para mejorar las siguientes estimaciones.
Realiza el seguimiento de cada iteración del proceso de XP tanto en la etapa de iteraciones como en la de producción.
∙ Revalúa la posibilidad de incorporar o eliminar historias de usuario.
Entrenador (Coach).
Es responsable del proceso global. Es necesario que conozca a fondo el proceso XP para proveer guías a los miembros del equipo de forma que se apliquen las prácticas XP y se siga el proceso correctamente.
Consultor
Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto. Guía al equipo para resolver un problema específico.
Proceso XP
El cliente define el valor de negocio a implementar.
El programador estima el esfuerzo necesario para su implementación.
El cliente selecciona qué construir, de acuerdo con sus prioridades y las restricciones de tiempo.
El programador construye ese valor de negocio.
Vuelve al primer paso.
FASES
Fase I Exploración
. Los clientes plantean a grandes rasgos las historias de usuario que son de interés para la primera entrega del producto. Al mismo tiempo el equipo de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto.
Se prueba la tecnología y se exploran las posibilidades de la arquitectura del sistema construyendo un prototipo. La fase de exploración toma de pocas semanas a pocos meses, dependiendo del tamaño y familiaridad que tengan los programadores con la tecnología.
Fase II Planificación de la entrega.*
El cliente establece la prioridad de cada historia de usuario, y correspondientemente, los programadores realizan una estimación del esfuerzo necesario de cada una de ellas. Se toman acuerdos sobre el contenido de la primera entrega y se determina un cronograma en conjunto con el cliente. Una entrega debería obtenerse en no más de tres meses. Esta fase dura unos pocos días.
Fase III Iteraciones
. Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado. El plan de entrega está compuesto por iteraciones de no más de tres semanas. En la primera iteración se puede intentar establecer una arquitectura del sistema que pueda ser utilizada durante el resto del proyecto. Esto se logra escogiendo las historias que forzan la creación de esta arquitectura, sin embargo, esto no siempre es posible ya que es el cliente quien decide qué historias se implementarán en cada iteración. Los elementos que deben tomarse en cuenta durante la elaboración del Plan de la Iteración son:
Historias de usuario no abordadas.
Velocidad del proyecto.
Pruebas de aceptación no superadas en la iteración anterior.
Tareas no terminadas en la iteración anterior.
Fase V Mantenimiento.
Mientras la primera versión se encuentra en producción, el proyecto XP debe mantener el sistema en funcionamiento al mismo tiempo que desarrolla nuevas iteraciones. Para realizar esto se requiere de tareas de soporte para el cliente. De esta forma, la velocidad de desarrollo puede bajar después de la puesta del sistema en producción.
Fase VI Muerte del proyecto.
Es cuando el cliente no tiene más historias para ser incluidas en el sistema. Esto requiere que se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad del sistema. Se genera la documentación final del sistema y no se realizan más cambios en la arquitectura. La muerte del proyecto también ocurre cuando el sistema no genera los beneficios esperados por el cliente o cuando no hay presupuesto para mantenerlo.
Fase IV Producción
. La fase de producción requiere de pruebas adicionales y revisiones de rendimiento antes de que el sistema sea trasladado al entorno del cliente. Al mismo tiempo, se deben tomar decisiones sobre la inclusión de nuevas características a la versión actual, debido a cambios durante esta fase. Es posible que se rebaje el tiempo que toma cada iteración.