Please enable JavaScript.
Coggle requires JavaScript to display documents.
Metodología Ágil de Desarrollo de Software – XP Windows-XP- - Coggle…
Metodología Ágil de Desarrollo de Software – XP
RESUMEN
-
-
Filosofía: mayor valor al individuo, a la colaboración con el cliente y al desarrollo incremental del software con iteraciones muy cortas.
-
JUSTIFICACIÓN
Enfoque: integrar en una mejora continua al usuario y al grupo de individuo que se encargaran de resolver la problemática percibida.
-
Permite: obtener los resultados esperados a corto plazo y de manera eficiente, el sistema tomara robustez en la utilización de los módulos se lograra de manera instantánea
-
INTRODUCCIÓN
Enfoques tradicionales no resultan adecuados para muchos de los proyectos actuales donde el entorno del sistema es muy cambiante
Enfoques tradicionales no resultan adeacuados cuando se exige reducir drásticamente los tiempos de desarrollo pero manteniendo una alta calidad
Máxima prioridad a la obtención de resultados y reduce la burocracia que utiliza las metodologías tradicionales
Muchos equipos de desarrollo se resignan a prescindir de las buenas prácticas de la Ingeniería del Software
Surgen las metodologías ágiles: elevada simplificación que a pesar de ello no renuncia a las prácticas esenciales para asegurar la calidad del producto
QUE ES XP
Consiste básicamente en ajustarse estrictamente a una serie de reglas que se centran en las necesidades del cliente
Centrada en potenciar las relaciones interpersonales como clave para el éxito del desarrollo de software
-
Promueve el trabajo en equipo, preocupándose en todo momento del aprendizaje de los desarrolladores y estableciendo un buen clima de trabajo
-
Comunicación es un punto importante y debe realizarse entre los programadores, los jefes de proyecto y los clientes
VALORES DE XP
Comunicación
Comunicación cara a cara es la mejor forma de comunicación, entre los desarrolladores y el cliente. Gracias a esto el equipo esta puede realizar cambios que al cliente no le gustaron
Simplicidad
Soluciones más simples a problemas, según el cliente lo estipula
Retroalimentación
La retroalimentación continua del cliente permite a los desarrolladores llevar y dirigir el proyecto en una dirección correcta hacia donde el cliente quiera.
Valentía
Los desarrolladores van a la par con el cambio, por que sabemos que este cambio es inevitable, pero el estar preparado con una metodología ayuda a ese cambio
Respeto
El equipo debe trabajar como uno, sin hacer decisiones repentinas. Cada integrante del proyecto forman parte integral del equipo
ROLES XP
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
-
-
-
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
Consultor
Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto
Gestor (Big boss)
Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando las condiciones adecuadas.
MODELO XP
Se trata de realizar ciclos dedesarrollo cortos (llamados iteraciones), con entregables funcionales al finalizar cada ciclo.
Cada iteración se realiza un ciclo completo de análisis, diseño, desarrollo y pruebas
Define cuatro variables para cualquier proyecto de software:costo,tiempo, calidad y alcance
-
-
-
PROCESO XP
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
Se prueba la tecnología y se exploran las posibilidades de la arquitectura del sistema construyendo un prototipo.
Fase II: Planificación de la Entrega
Se toman acuerdos sobre el contenido de la primera entrega y se determina un cronograma en conjunto con el cliente
Un punto, equivale a una semana ideal de programación. Las historias generalmente valen de 1 a 3 puntos.
El cliente establece la prioridad de cada historia de usuario, y correspondientemente, los programadores realizan una estimación del esfuerzo
-
Fase III: Iteraciones
-
Todo el trabajo de la iteración es expresado en tareas de programación, cada una de ellas es asignada a un programador como responsable
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.
Fase IV: Producción
)
Las ideas que han sido propuestas y las sugerencias son documentadas para su posterior implementación
En esta fase no se realizan más desarrollos funcionales, pero pueden ser necesarias tareas de ajuste
Se deben tomar decisiones sobre la inclusión de nuevas características a la versión actual, debido a cambios durante esta fase
Fase V: Mantenimiento
El proyecto XP debe mantener el sistema en funcionamiento al mismo tiempo que desarrolla nuevas iteraciones.
-
-
Fase VI: Muerte del Proyecto
Esto requiere que se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad del sistema.
-
REGLAS Y PRÁCTICAS
Planificación
-
-
-
-
Diseño
-
Soluciones “spike”
Cuando aparecen problemas técnicos, o cuando es difícil de estimar el tiempo para implementar una historiade usuario, pueden utilizarse pequeños programas de prueba (llamados “spike”), para explorar diferentes soluciones.
Recodificación
La recodificación (“refactoring”) consiste en escribir nuevamente parte del código de un programa, sin cambiar su funcionalidad, a los efectos de hacerlo más simple, conciso y/o entendible
Metáforas
Sugiere utilizar este concepto como una manera sencilla de explicar el propósito del proyecto, y guiar la estructura y arquitectura del mismo.
Desarrollo
-
Uso de estándares
Promueve la programación basada en estándares, de manera que sea fácilmente entendible por todo el equipo, y que facilite la recodificación.
-
Programación en pares
Propone que se desarrolle en pares de programadores, ambos trabajando juntos en un mismo ordenador.
-
-
Ritmo sostenido
Indica que debe llevarse un ritmo sostenido de trabajo. El concepto que se desea establecer con esta práctica es el de planificar el trabajo de manera de mantener un ritmo constante y razonable, sin sobrecargar al equipo.
Pruebas
Pruebas de aceptación
Las pruebas de aceptación son creadas en base a las historias de usuarios, en cada ciclo de la iteración del desarrollo.
-
Pruebas unitarias
Todos los módulos deben de pasar las pruebas unitarias antes de ser liberados o publicados. Las pruebas deben ser definidas antes de realizar el código (“Test-driven programming”).
VENTAJAS Y DESVENTAJAS
Ventajas
-
El proceso de integración es continuo, por lo que el esfuerzo final para la integración es nulo.
-
Se atienden las necesidades del usuario con mayor exactitud. Esto se consigue gracias a las continuas versiones que se ofrecen al usuario.
Se consiguen productos más fiables y robustos contra los fallos gracias al diseño de los test de forma previa a la codificación.
Desventajas
-
No se puede aplicar a proyectos de gran escala, que requieran mucho personal, a menos que se las subdivida en proyectos más pequeños.
Es más complicado medir los avances del proyecto, pues es muy complicado el uso de una medida estándar.
-
CONCLUSIONES Y RECOMENACIONES
Conclusiones
-
El cliente le da un valor agregado al proyecto ya que ayuda a que los requerimientos sean más compresibles y de fácil aprobación.
Organiza a los integrantes del equipo para trabajar a un mismo ritmo divertido y con horario adecuado
-
Recomendaciones
Para proyectos medianos, y en los que las especificaciones no se puedan obtener hasta luego de comenzado el proyecto, XP es la metodología recomendada.
-
Se debe involucrar al cliente en el desarrollo del proyecto desde el inicio hasta el final ya que es indispensable que conozca y apruebe la metodología
-