lunes, 3 de mayo de 2010

Metodologia Agil Extreme Programming XP

La metodologia Extreme Programming XP, es una metodologia agil para el desarrollo de software, basada en la comunicacion interna entre programadores y la comunicacion externa entre el equipo de programacion y el usuario o cliente. 
Para que se cumpla lo anterior debemos tener un buen clima dentro del equipo de trabajo, trabajo en equipo (parejas de programadores para verificar en tiempo de desarrollo errores), aprendizaje continuo por parte de los programadores y imprescindiblemente buenas relaciones interpersonales para dialogar y negociar con el cliente.

XP ES IDEAL PARA PROYECTOS CON REQUISITOS IMPRECISOS, MUY CAMBIANTES Y DONDE HAY ALTO RIESGO TECNICO.

La metodologia consiste en:
  • Exploracion: El cliente define todas las funcionalidades del software a trabajar.
  • Planificacion de Entrega: el programador estima el esfuerzo, tiempo y costo de la realizacion de cada funcionalidad (release).
  • Iteraciones: El cliente selecciona basado en la estimacion la funcionalidad a desarrollar.
  • Produccion: El programador construye y configura lo necesario para la funcionalidad requerida.
  • Mantenimiento: Debemos mantener el sistema estable, por lo cual se crean tareas para no perder la funcionalidad.
  • Muerte del proyecto: Cuando toda la funcionalidad (historias de usuario) han sido cubiertas y el cliente esta satisfecho, los ciclos que involucran el proyecto de desarrollo se dan por finalizados y resultado de esto es un nuevo sistema ajustado a la realidad y funcionalidad demandada por el cliente.
Hisrotias de usuarios:
Las historias de usuarios son un metodo utilizado en la metodologia XP para captar los requerimientos del sistema basandonos en la narracion de los usuarios quienes son los que interactuan directamente con el sistema.
Estas historias de usuario deben ser descripciones sencillas, con el lenguaje tradicional del usuario, en media hoja carta lo que quiere decir es que son resumidas, en estas narraciones debe el usuario escribir a detalle moderado como se realiza la funcion, cuales son los datos de entrada y los datos de salida.
Es importante destacar que las historias de usuarios son unicamente una base para el programador, esto quiere decir que en dialogo directo con el usuario se pueden modificar, eliminar o crear nuevas funcionalidades.
En el manifiesto agil claramente dice que este tipo de metodologias utilizan poca documentacion, por lo tanto para el caso de XP las historias de usuarios son la unica documentacion que se genera y deben ser sencillas y nunca descripciones largas.
Una guia para crear las historias de usuarios es:
COMO (rol) QUIERO (algo) PARA PODER (beneficio)

Los Roles dentro de la metodologia XP son:
  • Programador: Creacion de software
  • Cliente: Escribe historias de usuario para generar el codigo.
  • Encargado de pruebas: Ayuda al cliente a elaborar las historias de usuario y prueba cada iteracion (historia).
  • Encargado de seguimiento: Gestiona la calidad de la historia de usuario que se este trabajando.
  • Entrenador: Experto en metodologias de desarrollo el cual guia al equipo a seguir la metodologia correctamente.
  • Consultor: Ayuda en un tema especifico.
  • Gestor: Coordina la comunicacion y cooperacion entre el cliente y los programadores.

2 comentarios:

  1. Esta muy chida la propuesta, sabes de alguna herramienta de software que nos pueda servir de apoyo para el tracking de todas estas actividades, asi como apoyar al gestionamiento de las funciones?

    ResponderEliminar
  2. Buen dia. La aplicacion que mejor me ha funcionado se llama SPRINTOMETER, tiene una version freeware muy completa que incluye apoyo para el tracking de las actividades, esta version te permite realizar micro y pequeños proyectos, las ventajas es que te permite adaptarlo a metodologia XP y a SCRUM, la desventaja es que solo existe version windows y con una GUI en ingles.
    Saludos cordiales.

    ResponderEliminar