Programacion Extrema. Metodologia agil para proyectos no muy robustos la cual se caracteriza por el trabajo en equipos de los desarrolladores y la integracion del cliente en el equipo de trabajo, entregando "historias de usuario" que se utilizaran para el desarrollo del proyecto.
2. ¿QUÉ ES XP?
Es una metodología ligera, iterativa incremental, creada
para desarrollar software en equipos pequeños y
medianos que trabajan en proyectos con requerimientos
difusos o cambiantes.
3. REQUERIMIENTOS
Se expresan como escenarios llamados
historias de usuario, las cuales se
implementan como una serie de tareas.
4. PRACTICAS DE XP
Desarrollo incremental: Entregas del sistema pequeñas y
frecuentes.
Participación del cliente: se lleva a cabo a través del
compromiso a tiempo completo del cliente con el equipo de
desarrollo.
5. …PRACTICAS DE XP
Interés en las personas: programación en
parejas, la propiedad colectiva del código del
sistema , y un proceso de desarrollo que no
implique excesivas jornadas de trabajo.
6. …PRACTICAS DE XP
Mantenimiento de la simplicidad:
refactorización constante para mejorar la
calidad del código y la utilización de diseños
sencillos.
El cambio se lleva a cabo a través de las
entregas regulares del sistema, un desarrollo
previamente probado y la integración
continua.
7. CLIENTES
En XP, los clientes están fuertemente
implicados en la especificación y
establecimiento de prioridades de los
requerimientos.
8. …CLIENTES
Los clientes son parte del equipo de
desarrollo y discuten escenarios con otros
miembros del equipo.
9. …CLIENTES
Desarrollan conjuntamente una tarjeta de
historias que recoge las necesidades del
cliente.
10. …CLIENTES
El equipo de desarrollo intentara
implementar ese escenario en una entrega
futura del software.
11. EJEMPLO DE TARJETA DE HISTORIA
Descarga e impresión de un articulo
En primer lugar, selecciones el articulo que desea de una lista
visualizada. Tiene entonces que decirle al sistema como la pagara – se
puede hacer a través de una suscripción, una cuenta de empresa o
mediante una tarjeta de crédito.
Después de esto, obtiene un formulario de derechos de autor del
sistema para que lo rellene. Cuando lo haya enviado, se descarga el
articulo en su computadora
Elija una impresora y se imprimirá una copia del articulo. Le dice al
sistema que la impresión se ha realizado correctamente.
12. DIVISIÓN DE TAREAS
Las historias del cliente se dividen en tareas
y se estima el esfuerzo y recursos para su
implementación.
El cliente debe establecer la prioridad de las
historias a implementar.
13. …DIVISIÓN DE TAREAS
Si se requieren cambios, se desarrollan
nuevas tarjetas de historias. El cliente decide
si estos cambios tienen prioridad sobre las
nuevas funcionalidades.
14. ENFOQUE EXTREMO PARA EL DESARROLLO
ITERATIVO
Refactorización constante del software. Esto
es, el equipo de programación busca
posibles mejoras del software y las
implementa inmediatamente. Por lo tanto, el
software siempre deber ser fácil de entender
y cambiar cuando se implementen nuevas
historias.
15. PRUEBAS EN XP
Desarrollo previamente probado
Desarrollo de pruebas incremental a partir de
los escenarios
Participación del usuario en el desarrollo de
las pruebas y en la validación
El uso de bancos de pruebas automatizados
16. CONCLUSIÓN
La XP es una de las metodologías rápida y eficiente ya que
el cliente siempre esta presente, y el trabajo en grupos
permite reducir el número de errores al ejecutar las pruebas
correspondientes para cada sección de código del proyecto
en desarrollo.
17. REFERENCIAS
Ingeniería del software 7ma edición
Ian Sommerville
Pearson Educasion, 2005
687 pags.