La Gestión Ágil de Proyectos de software Tema 1
Rolando Jaldín
Introducción
Proyecto. “Es un servicio temporal que se lleva a cabo para crear un producto, servicio o resultado único”. Tiene un inicio y un fin Recursos limitados : humanos, materiales y equipamiento.
Factores que hacen de que un proyecto tenga éxito ENTORNO: No sufre modificaciones permanentes ni frecuentes. CLIENTE: Tiene muy claro qué es lo que necesita, sabe transmitirlo y nosotros entendemos perfectamente sus requerimientos o necesidades.
EQUIPO: Disponemos del equipo humano de profesionales
necesario para poder atender a esa necesidad y además sabemos cómo resolverla.
FASES: Las fases se desarrollan de forma lineal, organizada y no surgen problemas durante su realización.
El Modelo tradicional de planificaciรณn de proyecto PDCA (Plan Do Check Act)
Las Metodologías Tradicionales Se caracterizan por ser: • Los requisitos son definidos al inicio del proyecto y no sufre cambios drásticos en el desarrollo del proyecto. • Se basa en los procesos. • Gestión predictiva. • Disponen de una documentación exhaustiva en cada fase. • El desarrollo se define en fases cuyo conjunto se denomina “ciclo de vida”. • Se enfoca en tener el producto en el tiempo y coste estimado. • Se supone que el proyecto no va a tener ningún tipo de cambio por lo que no está sujeto a variaciones.
Análisis y Diseño Estructurado
Yourdon, Gane Sarson
Orientados a Objetos
OOSE, RUP
Fases de una metodología tradicional
1. Requerimientos del Sistema 2. Análisis 3. Diseño 4. Programación 5. Pruebas 6. Implantación
Las Metodologías Ágiles
Surgen en los años 80. La premisa de todas las empresas: à Innovación constante de sus productos à Rápida disponibilidad en el mercado à Dependen de sus últimos desarrollos Dos variables modificaron el escenario
VELOCIDAD INCERTIDUMBRE
El enfoque ágil Surge como respuesta a un desarrollo tecnológico acelerado en todas las áreas y que exige métodos de desarrollo que den una pronta respuesta a sus necesidades, necesidades que son cambiantes en todo momento. Las variables para triunfar en éste nuevo escenario son: 1. 2. 3. 4. 5.
Tomar retro-información del producto y del entorno de forma continua. Dar el mayor valor innovador al producto. En el menor tiempo posible. Salir lo más antes posible al mercado. No hay producto “terminado”, el producto está en constante evolución.
Diferencias entre el enfoque tradicional y el enfoque ágil DESARROLLO TRADICIONAL
DESARROLLO ÁGIL
Fases de desarrollo del proyecto establecidas
Solapamiento de fases en actividades y tareas más cortas
Especialización del equipo de desarrollo del proyecto: analistas, diseñadores, programadores, control de calidad, capacitadores, etc.
Equipo multidisciplinar, con conocimientos y competencias diversas que les permiten cumplir varias funciones
Requisitos detallados, especificados al inicio del proyecto, con poca tolerancia a cambios
Visión del producto, los requerimientos surgen durante todo el proyecto
Seguimiento estricto del plan, control de plazos y recursos.
Adaptación a los cambios, a las nuevas necesidades y mejoras.
Gestor del proyecto, que supervisa y organiza a todo el equipo. Estructura vertical
Equipo auto-gestionado y autoorganizado Estructura horizontal.
El Manifiesto ร gil
1. A los individuos y su interacciรณn, por encima de los procesos y las herramientas. 2. El software que funciona, por encima de la documentaciรณn exhaustiva. 3. La colaboraciรณn con el cliente, por encima de la negociaciรณn contractual. 4. La respuesta al cambio, por encima del seguimiento de un plan.
Los 12 Principios del Manifiesto Ágil 1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de valor. 2. Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente. 3. Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses, con preferencia en los periodos breves. 4. Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto. 5. Construcción de proyectos entorno a individuos motivados, dándoles la oportunidad y el respaldo que necesitan y procurándoles confianza para que realicen la tarea. 6. La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo es mediante la conversación cara a cara.
Los 12 Principios del Manifiesto Ágil (cont.) 7. El software que funciona es la principal medida del progreso. 8. Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida. 9. La atención continua a la excelencia técnica enaltece la agilidad. 10. La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial. 11. Las mejores arquitecturas, requisitos y diseños emergen de equipos que se auto-organizan. 12. En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia.
El Ciclo de Desarrollo Ă gil