Xp

Click here to load reader

  • date post

    29-Nov-2014
  • Category

    Science

  • view

    173
  • download

    2

Embed Size (px)

description

 

Transcript of Xp

  • 1. Extreme Programming (XP) Grupo 03

2. Extreme Programming - Agenda Introduccin Proceso y Fases Roles Prcticas Conclusiones 3. Extreme Programming - Introduccin Proceso : conjunto de actividades ordenadas para lograr una serie de objetivos Proceso Pesado : * fuerte dependencia de planificaciones * se establecen actividades * se establecen artefactos * se establecen herramientas y notaciones * ESTAMOS MUY CONTROLADOS 4. Extreme Programming - Introduccin Como contraposicin : Mtodologa gil Caractersticas : A los individuos y su interaccin de los procesos y las herramientaspor encima El software que funciona de la documentacin exhaustivapor encima La colaboracin con el cliente la negociacin contractualpor encima La respuesta al cambio seguimiento de un planpor encima 5. Extreme Programming - Introduccin Resumen * Estamos menos controlado * Preparados para el cambio * Cliente forma parte del equipo * Pocos artefactos * Ms importante software funcionando que documentacin 6. Extreme Programming - Introduccin XP es una Mtodologa gil Desarrollado por Kent Beck Todo en el software cambia. Los requisitos cambian. El diseo cambia. El negocio cambia. La tecnologa cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el cambio en s mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad de adaptarnos a dicho cambio cuando ste tiene lugar. 7. Extreme Programming - Introduccin Estadsticas : mtodo que ms popularidad ha alcanzado de las metodologas giles Se basa en la suposicin de que es posible desarrollar software de gran calidad a pesar, o incluso como consecuencia del cambio continuo Asume que con un poco de planificacin, un poco de codificacin y unas pocas pruebas se puede decidir si se est siguiendo un camino acertado o equivocado, evitando as tener que echar marcha atrs demasiado tarde. 8. Extreme Programming - Introduccin Valores que inspiran XP FEEDBACK CORAJE COMUNICACINSIMPLICIDAD 9. Extreme Programming - Introduccin Simplicidad La simplicidad consiste en desarrollar slo el sistema que realmente se necesita. Implica resolver en cada momento slo las necesidades actuales. Con este principio de simplicidad, junto con la comunicacin y el feedback resulta ms fcil conocer las necesidades reales Los costos y la complejidad de predecir el futuro son muy elevados, y la mejor forma de acertar es esperar al futuro. 10. Extreme Programming - Introduccin FeedBack Una metodologa basada en el desarrollo incremental iterativo de pequeas partes, con entregas y pruebas frecuentes y continuas, proporciona un flujo de retro- informacin valioso para detectar los problemas o desviaciones. De esta forma fallos se localizan muy pronto. La planificacin no puede evitar algunos errores, que slo se evidencian al desarrollar el sistema. La retro-informacin es la herramienta que permite reajustar la agenda y los planes. 11. Extreme Programming - Introduccin Coraje Implica saber tomar decisiones difciles. Reparar un error cuando se detecta Mejorar el cdigo siempre que tras el feedback y las sucesivas iteraciones se manifieste susceptible de mejora Tratar rpidamente con el cliente los desajustes de agendas para decidir qu partes y cundo se van a entregar 12. Extreme Programming - Introduccin Comunicacin XP pone en comunicacin directa y continua a clientes y desarrolladores. El cliente se integra en el equipo para establecer prioridades y resolver dudas. De esta forma ve el avance da a da, y es posible ajustar la agenda y las funcionalidades de forma consecuente 13. Extreme Programming Proceso y Fases 1. El cliente define el valor de negocio a implementar 2. El programador estima el esfuerzo necesario para su implementacin 3. El cliente selecciona qu construir, de acuerdo con sus prioridades y las restricciones de tiempo 4. El programador construye ese valor de negocio 5. Vuelve al paso 1 14. Extreme Programming Proceso y Fases El costo del cambio 15. Extreme Programming Proceso y Fases Historias de Usuario Tcnica para especificar los reqs. Son tarjetas de papel Debe ser lo suficientemente comprensible y delimitada para que los programadores puedan implementarla en unas semanas 16. Extreme Programming Proceso y Fases Fases Exploracin Planificacin de la Entrega Iteraciones Produccin Mantenimiento Muerte del Proyecto 17. Extreme Programming Proceso y Fases 18. Reglas y prcticas de XP Conjunto de actividades simples que guan los diferentes aspectos del desarrollo para seguir el proceso. Se dividen en reas del desarrollo Planificacin Diseo Codificacin Verificacin 19. Reglas y prcticas de XP - Planificacin El Juego de la Planificacin Planificacin se vuelve emocional Todos quieren planificar mejor Conflictos Mirar la planificacin como un Juego Objetivos Jugadores Piezas Reglas 20. Reglas y prcticas de XP - Planificacin El Juego de la Planificacin Piezas: Historias de Usuario Objetivo: Poner en produccin la mayor cantidad de Historias de Usuario Jugadores: Desarrolladores y Encargados del Negocio 21. Reglas y prcticas de XP - Planificacin El Juego de la Planificacin Movimientos: Escribir Historia de Usuario Estimarla Comprometerse a realizar: Por Historia Por Fecha Valor y Riesgo Primero Recuperacin por Sobrecarga Cambio de Valor de Historia Introducir nueva Historia Dividir una Historia Salto Re-estimar 22. Reglas y prcticas de XP - Planificacin Escribir Historias de Usuario Similar a los Casos de Uso Usadas para estimaciones de tiempo en la planificacin de las liberaciones Usados en lugar del Documento de Requerimientos Escritas por el Cliente en trminos del Cliente Guan la creacin de Pruebas de Aceptacin 23. Reglas y prcticas de XP - Planificacin Los Planes de Liberacin organizan el Calendario Surgen en las reuniones de Planificacin de Liberaciones Utilizados para crear Planes de Iteraciones Decisiones Tcnicas por el personal Tcnico y decisiones de negocio por el personal de Negocio 24. Reglas y prcticas de XP - Planificacin El equipo estima la duracin de la implementacin de cada Historia de Usuario en Semanas Ideales de Implementacin El cliente prioriza las Historias teniendo en cuenta el valor que le aporta al sistema tenerla completa 25. Reglas y prcticas de XP - Planificacin Medir la Velocidad del Proyecto Cunto trabajo est siendo completado en el proyecto? Suma de las estimaciones de las Historias de Usuario completas al fin de la Iteracin Utilizada para planificar la siguiente Iteracin 26. Reglas y prcticas de XP - Planificacin Utilizamos la Velocidad del Proyecto para planificar Por Fecha Por Alcance 27. Reglas y prcticas de XP - Planificacin Liberaciones pequeas y frecuentes Producir rpidamente versiones operativas del sistema No debera tardar ms de 3 meses 28. Reglas y prcticas de XP - Planificacin Rotacin del Equipo Ayuda a evitar Islas de Conocimiento Mejora la flexibilidad del equipo Evita la sobrecarga de una persona 29. Reglas y prcticas de XP - Planificacin Mejorar el proceso cuando sea necesario Es bueno tener reglas para saber qu esperar del equipo Si se detectan problemas en el avance se debe revisar qu est mal Debe consultarse al equipo sobre qu cosas dificultan el funcionamiento 30. Reglas y prcticas de XP - Diseo Diseo simple: Implementar la solucin ms simple que pueda funcionar La complejidad innecesaria y el cdigo extra debe ser removido inmediatamente No agregar nuevas funcionalidades antes de que sean agendadas 31. Reglas y prcticas de XP - Diseo Metforas: El sistema es definido mediante una metfora o un conjunto de metforas compartidas por el cliente y el equipo de desarrollo Es una historia compartida que describe cmo debera funcionar el sistema Solventan el hecho de no contar con una definicin de la arquitectura desde el comienzo, ya que en XP la arquitectura se asume evolutiva 32. Reglas y prcticas de XP - Diseo Tarjetas CRC: Las Tarjetas CRC (Class, Responsibilities and Collaboration) sirven para disear el sistema en conjunto entre todo el equipo Permiten reducir el modo de pensar procedural y apreciar la tecnologa de objetos 33. Reglas y prcticas de XP - Diseo No agregar funcionalidades antes de lo planeado: Parecera que fuera ms rpido agregarlas ahora pero nosotros debemos recordarnos constantemente que no las necesitamos ahora realmente y quizs nunca las necesitemos Funcionalidades extra siempre nos hacen atrasar y malgastar nuestros recursos 34. Reglas y prcticas de XP - Diseo Refactorizacin: Es una actividad constante de reestructuracin del cdigo con el objetivo de remover duplicacin de cdigo, mejorar su legibilidad, simplificarlo y hacerlo ms flexible para facilitar los posteriores cambios Mejora la estructura interna del cdigo sin alterar su comportamiento externo Nos ahorra tiempo e incrementa la calidad 35. Reglas y prcticas de XP - Codificacin El cliente est siempre disponible: Gran parte del xito del proyecto XP se debe a que es el cliente quien conduce constantemente el trabajo hacia lo que aportar mayor valor de negocio La comunicacin oral es ms efectiva que la escrita, ya que esta ltima toma mucho tiempo en generarse y puede tener ms riesgo de ser mal interpretada 36. Reglas y prcticas de XP - Codificacin Las historias de usuario son escritas por los clientes con la ayuda de los desarrolladores El cliente debe negociar la seleccin de las historias de usuario que sern incluidas en una liberacin Como los detalles no son incluidos en las historias de usuario, los desarrolladores necesitarn hablar con los clientes para obtenerlos El cliente es necesario con las pruebas 37. Reglas y prcticas de XP - Codificacin El tiempo del cliente es ahorrado al principio por no requerir una especificacin detallada de los requerimientos y ahorrado despus ya que el sistema es mucho ms probable que sea de su agr