Metodologías Agiles - Breve Introducción

  • 69 views
Uploaded on

Breve introducción a las Metodologías Ágiles.

Breve introducción a las Metodologías Ágiles.

More in: Software
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
69
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Metodologías Ágiles Junio 2009
  • 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
  • 4. Antecedentes de la Gestión de Proyectos
  • 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.
  • 6. Antecedentes Aprendizaje Otras disciplinas de la ingeniería aprendieron de los nuevos escenarios, excepto la joven ingeniería informática.
  • 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.
  • 9. Metodologías Ágiles
  • 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.
  • 13. Metodologías Ágiles ¿desarrollo ágil? Ágil Rápido
  • 14. Metodologías Ágiles Triángulo de Hierro Coste Alcance Tiempo Calidad Seleccione 2
  • 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
  • 17. Metodologías Ágiles Scrum vs DSDM Scrum DSDM •Backlog, •Running Code •Reporting Instruments •Feasibility Report; •Outline Plan; •Business Area Definition; •Non-Functional Requirements List; •Systems Architecture Definition; •Development Plan; •Functional Model; •Functional Prototype; •Design Prototype; •Tested system; •Delivered system; •Implementation Plan; •Development Risk Analysis Report; •Review Records; •Test records; •User documentation; •Project Review Document; Adaptado a partirdel trabajo de StevenThomas, www.itsADeliveryThing.com
  • 18. Metodologías Ágiles Métodos ágiles Comparativa Scrum vs DSDM Concepto Scrum DSDM Número de equipos 1 – 4 o más 1 – 6 Miembros por equipo 5 – 9 2 – 6 Roles de equipo Scrummaster, Experienced Engineer, Junior Engineer, [QA Tester], [Writer] Team Leader, Ambassador User, [Advisor User], Senior Developer, Developer, Scribe Roles de proyecto Project Manager/ Scrum master, Product Owner Visionary, Executive Sponsor, Project Manager, Technical Co-ordinator, Facilator Adaptado a partirdel trabajo de StevenThomas, www.itsADeliveryThing.com
  • 19. Scrum Conceptos Básicos Product Backlog Sprint Backlog Delivery Sprint 15 – 20 días 24h
  • 20. Scrum Roles de Scrum Pig Chicken Product Owner Users Scrum Master Stakeholders Team Managers
  • 21. Scrum Herramientas de Scrum Sprint Planning Sprint Daily meeting Spring Demo Spring Restropective Product Backlog Sprint Backlog Decision Tools
  • 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
  • 24. Metodologías Ágiles Junio2009