2. Es una metodología de desarrollo más destacado en los procesos agiles y ligero que se
basa en una serie de valores y prácticas, persigue el objetivo de aumentar la productividad
a la hora de desarrollar programas, además se centra en potenciar las relaciones
interpersonales del equipo mediante el trabajo y el aprendizaje continuo.
Se caracteriza por que pone más énfasis en la adaptación que en la previsión, se enfocada
en diseñar lo más sencillo, realizar codificaciones y pruebas entonces en todo este proceso
se va adaptando el programador a los cambios que se van realizando por las necesidades
que se van presentando por el cliente o la toma de decisiones de la empresa o del usuario
final que vaya utilizar el software.
3. Planeación Es la primera actividad que se realiza para el desarrollo del software es decir
el relato, las historias del usuario que son la descripción de los requerimientos del
software es decir que va hacer y para qué va funcionar.
4. Historias de usuarios. – son escritas por el cliente es decir en su propio lenguaje, una breve
descripción de lo que debe hacer el sistema. Las historias de usuarios deben contener hasta
detalle más mínimo que se requiere para que los programadores puedan realizar una
estimación poco riesgosa del tiempo que se llevara desarrollarlo, de igual forma cuando se
implementar el sistema los desarrolladores conversan con los clientes para obtener los
detalles necesarios.
Plan de entregas. - en el cronograma de entregas se establecen que historias del usuario
serán asociadas para conformar una entrega. El cronograma se da por el resultado de la
reunión entre todos los que conforman el proyecto (clientes, desarrolladores etc), además
cronogramas de entregas se realizan en base a las valoraciones de tiempos de avance
realizadas por los desarrolladores.
5. Plan de iteraciones. – la información recolectada es decir historias de los usuarios son
valoradas y probadas en un ciclo de iteración, de acuerdo al orden establecido, al comienzo
cada ciclo, se realiza una reunión de planificación de la iteración, las historias de los usuarios
traducen en tareas específicas de programación y se van estableciendo pruebas de
que se van realizando a final de cada ciclo en que se desarrollan.
Reuniones diarias de seguimiento. – se realizan con el objetivo de mantener la
comunicación entre el equipo de trabajo, compartiendo así los problemas y las soluciones
se pueden llegar
6. Diseño se ejecuta en función de los más elemental es decir se construye el
prototipo que cumpla la función principal lo que se quiere es allí cuando ya
desarrolla la;
Simplicidad. – un diseño simple se efectúe más rápidamente que uno complejo. Por ello
es recomendado implementar un diseño lo más simple posible que funcione. Es
recomendado no adelantarse a ninguna iteración que no corresponda.
Soluciones. – se deben implementar programas de pruebas para explorar diferentes
soluciones, estos programas son únicamente para evaluar una solución y luego se
desechan.
7. Recodificación. – consiste en escribir nuevamente parte del código de un
programa, siempre y cuando no se cambie la funcionalidad, a los efectos de
hacer más simple y que claramente se entienda. Es recomendable recodificar
cada vez que sea necesario.
Metáforas. – es algo que todos entienden sin necesidad de mayores
explicaciones, es decir es una manera natural de explicar el propósito del
proyecto, y guiar la estructura y construcción del mismo. Se podría emplear
nombres claros que no requieran de mayor explicación. El cliente y los
desarrolladores es recomendado que compartan esta “metáfora” para que
puedan dialogar en un mismo idioma.
8. Codificación en esta etapa ya no existe el individualismo. se trabaja en parejas es decir dos
programadores para que de esa manera se encuentre la solución al problema planteado o el
objetivo que se traza el usuario ya que todo va en función lo que él requiere es cuando ya se
procede a realizar las;
Disponibilidad del cliente. – un requerimiento de la metodología XP es la disponibilidad
del cliente durante todo el proyecto, no solamente como apoyo si no formando parte del
grupo de desarrolladores ya que es fundamental que el cliente esté involucrado para que
se pueda desarrollar el proyecto con esta metodología.
Uso de estándares. –se promueve la programación basada en estándares de manera que
se entienda por todo el equipo de desarrolladores y que así facilite la recodificación.
Programación dirigida por las pruebas. – en las metodologías tradicionales las fases de
pruebas son realizadas al final del proyecto o sobre el final de cada módulo. Pero la
metodología XP propone un modelo inverso en donde se escriban primero los test que el
sistema debe pasar, luego el desarrollador debe pasar las pruebas previamente definidas.
9. Programación en pares. – se desarrollan en pares de programadores es decir los dos
trabajando juntos en un mismo ordenador, el trabajar en pares disminuye los errores
se logran mejores diseños. El producto que se obtiene es de mejor calidad que
se programa individualmente.
Integraciones permanentes. – todos los desarrolladores necesitan trabajar con las
últimas versiones así se realizan cambios o mejoras en las versiones antiguas que
causan problemas y retrasan el proyecto.
Propiedad colectiva del código. – todos los desarrolladores pueden aportar ideas
que se apliquen a cualquier parte del proyecto, así mismo los programadores
cambiar el código que sea necesario para corregir errores, agregar funciones o
recodificar.
Ritmo. - la metodología indica que dé debe llevar un ritmo sostenido te trabajo, esta
práctica se denominaba semana de 40 horas, establecer esta práctica es planificar el
trabajo es decir una manera de llevar un ritmo constante y razonable sin sobrecargar
equipo.
10. Pruebas. Es lo más sencillo es decir verificar la función que tiene nuestro software.
Pruebas unitarias. – todos los módulos deben pasar las pruebas antes de ser
publicadas, por otra parte, las pruebas deben ser definidas antes de realizar el código.
Detección y corrección de errores. – cuando se encuentra un error se debe corregir en
ese momento, y tener precaución para que errores similares no vuelvan a ocurrir.
Pruebas de aceptación. – son creadas en base a las historias del usuario, en cada ciclo
de la iteración del desarrollo. También estas pruebas son consideradas pruebas de caja
negra. Los clientes son los encargados de verificar que los resultados de las pruebas
sean correctos, en caso de fallos deben indicar el orden de prioridad de resolución, ya
que la responsabilidad es grupal, es recomendado publicar los resultados de las pruebas
de aceptación de manera que el equipo este enterado de esta información.