Taller PMI-ACP Principios y Mentalidad Ágil Facilitador : Eduardo Briceño Manifiesto Ágil de Desarrollo de Software FDD SCRUM Prácticas ágiles DSDM SAFE KANBAN CRYSTAL XP DEVOPS Principios 1. 2. 3. 4. 5. 6. Satisfacción al cliente. Adaptación al cambio. Entrega frecuente. Trabajar juntos. Motivación individual. Comunicación cara a cara 7. Software funcionando como principal métrica.. 8. Desarrollo sostenible. 9. Excelencia técnica. 10.Simplicidad. 11.Mejores arquitecturas. 12.Mejora continua. *Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda. Valores Individuos e interacciones sobre procesos y herramientas Software funcionando sobre documentación extensiva Respuesta ante el cambio sobre seguir un plan Colaboración con el cliente sobre negociación contractual Fac. Eduardo Briceño Principios del Manifiesto Ágil 1 Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor. 2 Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente. 3 Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible. 4 Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto. 5 Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo. 6 El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara. 7 8 9 10 11 12 El software funcionando es la medida principal de progreso. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia. Fac. Eduardo Briceño Características de las Metodologías Ágiles PERSONAS PROCESO DELIVERY VALOR LEAN Equipos multifuncionales Pequeñas iteraciones Enfoque incremental Prioridades del negocio y del cliente Mejora continua Fac. Eduardo Briceño SCRUM Definición Es un framework ágil que permite el trabajo colaborativo orientado a la entrega continua de valor. Equipo Scrum Tamaño: 3 – 9 personas (Regla de 2 pizzas) Roles Pilares •Inspección •Transparencia •Adaptación Valores •Foco •Respeto •Compromiso •Honestidad •Libertad Product Owner •Maximizador de Valor •Experto en marketing •Voz del Cliente Scrum Master •Facilitador de la agilidad •Líder servicial •Removedor de impedimentos Equipo de Desarrollo •Dueño del incremento del producto Fac. Eduardo Briceño Sprint Es un periodo de tiempo fijo en el cual el equipo Scrum produce un incremento de producto funcional. MVP: Producto Mínimo viable MMF: Característica Mínima Viable Ceremonias Son de tipo timeboxed (tiempo fijo) •Sprint Planning (6-8 hrs) •Sprint Daily (15 min) •Sprint Retrospective (3-4 hr) •Sprint Review (4- 6 hrs) Sprint Grooming Fac. Eduardo Briceño SCRUM Priorización •ROI •Riesgo •Posicionamiento Product Owner PBIs + valor - Product Backlog Priorizado •Epica •Feature •Historia de Usuario •Tarea •Error 1. S Planning (6 – 8 Horas) ES Enseñar Priorizar •Dinero de Monopolio •1…..100 •MOSCOW Sprint Backlog Scrum Master •3Cs - Ron Jeffries Card, Conversation, Confirmation Carácterísticas •INVEST Estimar Historias •Planning Poker •T Shirt •Escala 1…100 Historia de Usuario Equipo de Desarrollo (Independiente, negociable, valorable, estimable, especifico, testeable) Sprint Goal Formato Yo (como rol) Necesito (funcionalidad) Para (objetivo negocio) Given ……. When ……. Then ……… Definition of Done Principio IKIWISI Fac. Eduardo Briceño Programación Extrema Definición Es una metodología para el desarrollo de software basado en los principios: Comunicación, simplicidad, coraje, respeto, retroalimentación. Actividades •Coding •Testing •Listening •Designing Fac. Eduardo Briceño Programación Extrema Principales Prácticas •Coding Standards •Collective Ownership •Continuous Integration •On-Site Customer •Pair Programming •Planning Game •Refactoring •Short Releases •Simple Design •Sustainable Pace •System Metaphor •Test-Driven Development Fac. Eduardo Briceño Kanban Definición Es un método orientado a la mejora en la entrega de servicios. Es un método de tipo PULL que tiene como propósito reducir la sobrecarga de trabajo en los equipos. Beneficios -Limitar el trabajo en progreso -Alivia el estrés del equipo -Ritmo sustentable de desarrollo -Mayor calidad y rendimiento -Permite realizar pronósticos Fac. Eduardo Briceño Dynamic System Development Model (DSDM) Definición Es un método que provee un framework para el desarrollo ágil de software, apoyado por su continua implicación del usuario en un desarrollo iterativo Fac. Eduardo Briceño