c3.hu3.p1.p3.El ser humano como ser histórico.pptx
s05 - paradigma de construcción de soluciones basado en desarrollo de código
1. 15/09/2009 Universidad del Cauca Departamento de Telemática DESARROLLO ÁGIL DE APLICACIONES Ambientes de Desarrollo
2. 15/09/2009 ¿qué es el desarrollo ágil de aplicaciones? Es una iniciativa que agrupa una serie de metodologías (eXtreme Programming, SCRUM, Crystal, etc. ...) Basadas en la adaptabilidad ante el cambio como medio para aumentar las posibilidades de éxito de un proyecto. En general los procesos ágiles se centran en las personas; en su comunicación directa y sus habilidades en vez de procesos muy formales.
3. Procesosy herramientas Individuose interacciones Seguimientode un plan Responder ante el cambio Documentaciónexhaustiva Software quefunciona Negociaciónde contratos Colaboracióncon el cliente sobre sobre sobre sobre El Manifiesto Ágil Firmado en 2001 por Kent Beck, Alistair Cockburn, Ward Cunningham, Martin Fowler, Robert Martin, Ron Jeffries, otros…
4. 15/09/2009 XP: eXtreme Programming “La Programación Extrema (desarrolla por Kent Beck - DaimerChrysler) es una metodología de desarrollo de aplicaciones que se basa en la simplicidad, la comunicación y la realimentación o reutilización del código desarrollado”.
5. 15/09/2009 Lo que dice Beck... “Todo en el software cambia. Los requisitos cambian. El diseño cambia. El negocio cambia. La tecnología 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.”
58. Ken Schwaber y Jeff Sutherland fueron los precursores de este método demostrando ampliamente su uso en proyectos de gran envergadura con un alto número de personal
59.
60. Los requisitos son capturados como elementos de una lista de “ProductBacklog”
65. Desarrollo secuencial vs. superpuesto Requisitos Diseño Código Test En lugar de hacer todo de una cosa a la vez ... ...los equipos Scrum hacen un poco de todo todo el tiempo
85. El SCRUMMaster Representa a la gestión del proyecto Responsable de promover los valores y prácticas de Scrum Remueve impedimentos Se asegura de que el equipo sea completamente funcional y productivo Permite la estrecha cooperación en todos los roles y funciones Garantiza el cumplimiento de roles y responsabilidad
86. El Equipo S SCRUM Los equipos son auto-organizativos Responsable de transformar Sprint Backlog en un incremento de la funcionalidad del software. Típicamente de 5 a 9 personas Multi-funcional y de tiempo completo: Programadores, testers, analistas, diseñadores, etc. El equipo revisa los requisitos, considera la tecnología disponible, evalúa sus conocimientos, y de forma colectiva determina cómo implementar la funcionalidad. Solo puede haber cambio de integrantes entre los sprints
98. Crear el Sprint Backlog (tareas) en base a los temas del Product Backlog
99.
100. Seleccionar el objetivo del SprintReunion de planeación Sprint Capacidad del Equipo Product Backlog Condiciones del Negocio Producto Actual Tecnología
101. Reunionesdiarias Parámetros Diaria Dura 15 minutos Parados No para la solución de problemas Todo el mundo está invitado Sólo los miembros del equipo, ScrumMaster y Propietario del Producto, pueden hablar Ayuda a evitar otras reuniones innecesarias
102. Todos responden 3 preguntas 1 2 3 ¿Quéhicisteayer? ¿Qué vas a hacer hoy? ¿Hay obstáculos en tucamino? No es dar un reporte de estado al SCRUMMaster Se trata de compromisos delante de pares
105. Reunión de retrospectiva Sprint Periódicamente, se echa un vistazo a lo que funciona y lo que no, normalmente dura de 15 a 30 minutos Se realiza luego de cada sprint Todo el integrantes del proyecto participa Además de Posiblemente clientes y otros Todos discutes lo que les gustaría: Comenzar a hacer Dejar de hacer Continuar haciendo Esto es sólo una de las muchas maneras de hacer una retrospectiva.
118. Sprint Backlog Trabajo o tareas determinadas por el equipo para realizar en un sprint y lograr al final del mismo un incremento de la funcionalidad. Se recomienda que las tareas tengan una duración de 4 a 16 horas de trabajo. Las de mayor duración deben dividirse en sub-tareas de ese rango de tiempo. Los individuos eligen las tareas. La estimación del trabajo restante es actualizada diariamente Cualquier miembro del equipo puede añadir, borrar o cambiar el Sprint Backlog
119. 8 4 8 16 12 4 10 8 16 11 8 16 12 8 8 8 8 8 4 Agregar error logging 8 Ejemplo de Sprint Backlog Tareas L M M J V Codificar UI Codificar negocio Testear negocio Escribir ayuda online Escribir la clase foo
120. 4 8 12 7 10 16 11 16 8 Gráfica de progreso Tareas L Ma Mi J V Codificar UI 8 Codificar Negocio 16 Testear Negocio 8 Escribir ayuda online 12 50 40 30 Hours 20 10 0 L Ma Mi J V
122. SCRUMy XP SCRUM se enfoca a practicas de organización y gestión XP se centra en practicas de programación Tratan de áreas diferentes pero se complementan.
123. METODOLOGÍA NO ÁGIL METODOLOGÍA ÁGIL Más Artefactos Pocos Artefactos Más Roles Pocos Roles Existe un contrato prefijado No existe un contrato tradicional o al menos es bastante flexible El cliente interactúa con el equipo de desarrollo mediante reuniones Cliente es parte del equipo de desarrollo (además in-situ) Grupos grandes Grupos pequeños (< 10 integrantes) y trabajando en el mismo sitio La arquitectura es esencial Menos énfasis en la arquitectura ágil contra no ágil