La Metodología XP “Extreme Programming” o “Programación Extrema” es una de las llamadas metodologías Ágiles de desarrollo de software más exitosas. Es habitual relacionarla con scrum, y la combinación de ambas asegura un mayor control sobre el proyecto, y una implementación más efectiva y eficiente.
La metodología XP define cuatro variables para cualquier proyecto de software: costo, tiempo, calidad y alcance. El método especifica que de estas cuatro variables, tres de ellas podrán ser fijadas arbitrariamente por actores externos al grupo de desarrolladores (clientes y jefes de proyecto)
SCRUM
Scrum aparece como una práctica destinada a los productos tecnológicos y será en 1993 cuando realmente Jeff Sutherland aplique un modelo de desarrollo de Software en Ease/Corporation.
En 1996,Jeff Sutherland y Ken Schwaber presentaron las prácticas que se usaban como proceso formal para el desarrollo de software y que pasarían a incluirse en la lista de Agile Alliance.
¿Que es una metodología?
Conjunto de métodos que se siguen en una investigación científica, un estudio o una exposición doctrinal
¿Que es Agil?
Lo ágil se define como la habilidad de responder de forma versátil al cambio para maximizar los beneficios.
Buenas practicas de desarrollo
En XP
Desarrollo orientado a pruebas, programacion en pares, diseno simple, refactorizacion, entregas pequenas de codigo funcioanl.
En SCRUM
Se elige la mejor forma de desarrollar segun la experiencia del equipo de desarrollo. Entregas frecuentes de codigo funcional.
Roles
Tres de los Roles: Scrum master, el dueno del producto y el equipo de desarrollo
Division de responsabilidades entre el cliente y los desarrolladores
Trabajo Colaborativo
Reuniones cortas diarias para discuitir avances y obstaculos. Reunion al finalizar la iteracion para discutir el proceso realizado.
Vision Compartidasobre el sistema. Programacion en pareja. El cliente forma parte del equipo de desarrollo.
PROCESOS DE DESARROLLO AGIL DE SOFTWARE
Aseguramiento de Calidad
Estructura del equipo de trabajo
Interacion
Planificacion
Adaptabilidad
Documentacion
Tipo de desarrollo
A nivel de diseno
Elaboracion de tarjetas CRC
Por lo general no se genera documentacion de diseno
Incremental ( Por interaciones)
Ciclos de desarrollo entre una y dos semanas
Ciclos de desarrollo ( Sprints ) entre 2 semanas y un mes
Gestion de Cambios
Susceptible a cambios dentro de una iteracion
No se permiten cambion en los Sprints
Prioridad de desarrollo de funcionabilidades.
Orden de prioridad establecido por el usuario
El cliente Prioriza las funcionalidades pero el equipo de desarrollo determnina la secuencia en la que seran desarrollados