2. Antecedentes
*CHAOS Summary2009. TheStandish Group
32% Successful (On Time, On Budget, Fully
Functional)
44% Challenged (Late, Over Budget, And/Or
Less than Promised Functionality)
24% Failed (Canceled or never used)
Ratio de éxito de proyectos de Software*
3. Antecedentes
Evolución de la Gestión del Software
1. Al principio fue la nada.
2. Programación Artesanal.
3. Estimación empírica.
4. El hombre-aplicación.
5. Metodologías de Programación.
6. Metodologías de Gestión heredadas
5. Evolución de la Gestión del Software
Antecedentes
La gestión de proyectos tiene origen militar
Retos: Previsivilidad y gestión de la
concurrencia
Aplicación Industrial (sector automoción)
Retos: A tiempo, en costes y funcioalidad
prevista.
Gestión Predictiva
Ciclos de vida largos
Control sobre requisitos.
7. Brooks' Law:
Adding manpower to a late software project makes
it later.
Antecedentes
Planificación y Control (Heredada)
• En la planificación del software se asume que todo irá siempre bien.
• Los problemas no previstos son tratables y están bien documentados.
• Deficiente monitorización del progreso.
• Se desestima el peso de la comunicación entre los miembros del equipo.
• Metodología como fin y no como medio
The Mythical Man-Month : Essays on Software Engineering
Diseño detallado Construcción Pruebas
8. 32% Successful (On Time, On Budget,
Fully Functional)
24% Failed (Canceled or never
used)
Antecedentes
44% Challenged (Late, Over Budget,
And/Or Less than Promised Functionality)
Consecuencias
Incertidumbre,
velocidad y
competencia.
10. Metodologías Ágiles
Algunos proyectos de Software se caracterizan por un
componente alto de incertidumbre:
• Requisitos insuficientes al inicio del proyecto.
• El usuario descubre exáctamente lo que quiere al ver la versión
inicial.
• Los requisitos cambian frecuentemente durante la construcción.
• Las nuevas herramientas y tecnología hacen la que implementación
impredecible.
• Pruebas y depurado consumen el 50% del tiempo, mientras que la
codificación tan solo 1/6
Necesidad de responder rápido a los cambios
Presión de la competencia
• El valor del software se desvanece mientras más tiempo se
tarde en desarrollarlo
11. Metodologías Ágiles
• Comenzarantes
• Aprender Constantemente
• Decidir lo más tarde posible
• Entregar rápido
Incertidumbre, velocidad y competencia
12. Metodologías Ágiles
¿Qué son las metodologías ágiles?
Conjunto de buenas prácticas que intenta mitigar las carencias y la falta
de adaptación de las metodologías predictivas en el desarrollo de software.
Manifiesto ágil
•A los individuos y su interacción, por encima de los procesos y herramientas.
•El software que funciona, por encima de la documentación exhaustiva.
•La colaboración con el cliente, por encima de la negociación contractual.
•La respuesta al cambio, por encima del seguimiento de un plan.
15. Metodologías Ágiles
Metodologías ágiles
• Agile Modeling
• Agile Unified Process (AUP)
• Agile Data Method
• DSDM
• Essential Unified Process (EssUP)
• Extreme programming (XP)
• Feature Driven Development (FDD)
• Getting Real
• Open Unified Process (OpenUP)
• Scrum
• Lean software development
16. Metodologías Ágiles
Scrum vs DSDM
Scrum DSDM
Proceso simple con pocos roles. Proceso amplio que abarca gran variedad de
instrumentos y roles.
Altamente orientado a la entrega trasladando de
forma efectiva requerimientos a productos.
Cubre todo el espectrode un proyectodesde el
punto de vista del negocio, es en realidad un
framework.
Baja visibilidad de los roles tradicionales. Por definición incorpora muchos de los roles
tradicionales en los ambientes corporativos.
Promueve los equipos autogestionados basados
en una estructura plana y con alta
responsabilidad del ScrumMaster.
Basa la autogestión de los equipos dentro de un
marco de delegación.
Escala paralelizando proyectos afines. Escala basado en la asignación de reponsabilidad a
los distintos roles del equipo.
Adaptado a partirdel trabajo de Andrew Craddock, DSDM Consortium
22. Scrum
Beneficios de Scrum
Beneficio Cómo conseguirlo
Gestión de Expectativas Pila de Producto Priorizada
Resultados tempranos Priorización por Valor y Coste
Flexibilidad Planificación por Sprint
Control de riesgos Desarrollo Incremental
Productividad Mejora continua, reunión diaria,
timeboxing, estimación conjunta,
demos operativas
Alineamiento entre cliente y equipo El cliente forma parte del equipo
Equipo motivado Autogestión
23. Scrum
Requisitos para la implantación
Aspecto Comentario
Cultura Empresarial. Trabajoenequipo, delegación, creatividad y
mejora continua
Compromisodel Cliente, con los resultados del proyecto y su co-gestión,
alta implicaciónydedicaciónbajodemanda.
Compromisodela dirección, para fomentar y respaldar los cambiosnecesarios
Relaciónentre proveedor y cliente. Marcocontractualajustado a metodología
Facilidad pararealizar cambios. Por partede cliente y proveedor
Tamañodel equipo. Entre 5 y 9 personas
Espaciode trabajocomún. A fin de maximizarla comunicación
Equipoa tiempocompleto. Para no poner en riesgolas iteraciones
Control de infraestructura. Todos los entornos anterioresa producción
Desaprender, la forma actualdehacer las cosas.
Comenzar por proyectonuevo e independiente, con pocasiteraciones yrequisitoscambiantes
Adaptado parcialmente de www.proyectosagiles.org