IX Cumbre de los servicios TIC Innovación en la formación en Gestión de Proyectos Gestión adaptativa de proyectos con Agile/Scrum: Formación de nuevos perfiles profesionales Contenido Principios Agile Proyectos tradicionales y ágiles Scrum y nuevos perfiles Perfiles Agile Transformación hacia Agile 1
Agile - Agilidad Agile - Agilidad 2
Los doce 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. Los doce principios del Manifiesto Ágil 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. 3
Los doce principios del Manifiesto Ágil 5.- Construcción de proyectos en torno 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 doce principios del Manifiesto Ágil 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. 4
Los doce principios del Manifiesto Ágil 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. Los doce principios del Manifiesto Ágil 11.- Las mejores arquitecturas, requisitos y diseños emergen de equipos que se autoorganizan. 12.- En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia. 5
Gestión de proyectos ágil: Objetivos Valor: Dar el mayor valor al producto cuando se basa en innovación y flexibilidad Reducción del Time to Market Agilidad: Capacidad de producir partes completas del producto en periodos cortos Flexibilidad: Capacidad para adaptar el desarrollo del proyecto a los cambios y a nuevos requisitos del producto Gestión de proyectos ágil: Ciclo de desarrollo Concepto Cierre Hipótesis Revisión Desarrollo 6
Gestión de proyectos ágil: Principales modelos Scrum Kanban Systems XP: Xtreme Programming ASD: Adaptative Software Development AUP: Agile Unified Process CRYSTAL: conjunto de metodologías DSDM SAFe Scaled Agile Framework LESS Gestión de proyectos ágil vs predictiva Predictivo Ágil Requerimientos Detallados Procesos de cambios Dependencias Requerimientos No completos Iterativo Elementos priorizados Baja involucración del cliente Difícil hacer cambios en el producto Alta involucración del cliente Fácil introducir cambios 7
Predictivo vs Ágil - Cuál elijo? Ágil Se basa en principios Lean Centrado en valor Los requerimientos del negocio pueden variar Reducir desperdicio Aprendizaje continuo Entregar lo más rápido posible El equipo es quien añade valor Introducción a Scrum: Visión general Valores de Scrum: Autonomía del equipo Respeto en el equipo Responsabilidad y auto-disciplina Foco en la tarea Transparencia y visibilidad 8
Introducción a Scrum: Visión general Pila de producto Prioridad Funcionalidad 1 Prioridad Funcionalidad 2 Prioridad Funcionalidad 3 Revisión Diaria Product Owner Interesados Incremento Sprint Prioridades Dudas (1-8 semanas) Scrum Master Equipo Product Owner Product Equipo Owner Objetivo del sprint Pila del sprint Scrum Master Equipo Product Owner Interesados Scrum Master Planificación del sprint Sprint Revisión del sprint Introducción a Scrum: Sprint Pizarra de trabajo Sprint 1 Objetivo: disponer el 30 de abril de una Ciudad Seguimiento diario: 9:00 sala 1 Revisión del sprint: 30 de abril a las 9:00 sala 5 Duración del sprint: 30 días Capacidad Semanas Capacidad Fin Sprint 3 150 10 mar 4 172 17 mar + Prioridad - Historia Registro de usuarios Duración: 8 días El sistema tiene que permitir tres niveles de acceso con notificaciones vía email y verificación captcha Pendiente Pantalla de login Duración: 2 días Campo login, contraseña, recuperan contraseña Juan Fernández Desarrollo Pruebas Hecho Burn-down Impedimentos 9
Scrum Roles y responsabilidades: Product Owner Product Owner (PO) Responsable de maximizar el retorno de inversión (ROI) identificando las funcionalidades del producto, poniéndolas en una lista priorizada de funcionalidades, decidiendo cuales deberían ir al principio de la lista para el siguiente Sprint, y repriorizando y refinando continuamente la lista. Es responsable de maximizar el ROI en el sentido de elegir - en cada Sprint los elementos de más valor de negocio y menos coste. En algunas ocasiones el PO y el cliente son la misma persona; el PO es diferente al tradicional jefe de producto porque interactúa activa y frecuentemente con el equipo, estableciendo personalmente las prioridades y revisando el resultado en cada iteración - de 2 a 4 semanas-. Es importante destacar que en Agile/Scrum hay una persona y sólo una, que hace y tiene la autoridad final de Product Owner Agile/Scrum Roles y responsabilidades: Product Owner El Product Owner necesita: Observar, conocer y analizar el mercado Observar, conocer, contactar y analizar a los clientes y usuarios finales del producto Mantenerse en contacto regularmente con todas las partes interesadas del producto Informar a la dirección y las partes interesadas Compartir conocimientos en toda la empresa con respecto al producto Participar en las reuniones de Scrum: Proporcionar el objetivo del sprint y nuevas historias de usuario para la planificación del sprint Dar retroalimentación en la revisión del sprint respecto del logro al objetivo del sprint Reflexionar y actuar como miembro del equipo en la retrospectiva del sprint Informar, ayudar y aprender en el scrum diario Ayudar continuamente al equipo a mejorar sus procesos 10
Scrum Roles y responsabilidades: Product Owner El Product Owner necesita: Formarse de forma continuada sobre todo lo que es Agile Formación específica de Product Owner: Certified Scrum Product Owner Scrum Alliance Certiied Product Manager/Product Owner. SAFe User Story Mapping El intercambio constante con otros Propietarios del Producto de la organización (por ejemplo a través de comunidades de práctica) Aprender y perfeccionar la cadena de valor entera del producto, como la contratación, el marketing y ventas Medir el progreso (por ejemplo el valor entregado a los clientes en cada sprint) Agile/Scrum Roles y responsabilidades: Desarrollador Agile/Scrum Equipo de desarrollo de producto Agile/Scrum Construye el producto que va a usar el cliente. El equipo en Scrum es multi-funcional Es auto-organizado (auto-gestionado), con un alto grado de autonomía y responsabilidad. El equipo decide a que se compromete, y como hacer lo mejor para cumplir con lo comprometido con muy alta calidad. Debe estar preparado para utilizar técnicas herramientas que permitan desarrollar y asegurar la calidad de funcionalidades completas del producto en cada iteración Integración continua Código compartido Refactorización Desarrollo dirigido por Pruebas (TDD) 11
Agile/Scrum Roles y responsabilidades: Desarrollador Agile/Scrum En el equipo: Todos conocen y comprenden la visión del Product Owner Aportan y colaboran con el Product Owner en el desarrollo de la pila del producto Comparten de forma conjunta el objetivo de cada sprint Todos participan en las decisiones Perfil deseable: Actitud respecto a valores y principios ágiles Orientación a trabajo en equipo Orientación a calidad de producto y a mejora continua Capacidad técnica en herramientas a utilizar incluyendo testing Compromiso con el producto, equipo y objetivos Interés en probar nuevas formas de trabajar que beneficien el trabajo a realizar. Agile/Scrum Roles y responsabilidades: Scrum Master Scrum Master (SM): El Scrum Master está concentrado en ayudar a que el equipo tenga éxito: valor para el negocio El Scrum Master no es el jefe del equipo o jefe de proyecto; el Scrum Master sirve al equipo, le protege de interferencias del exterior, y enseña y guía al PO y al equipo en el uso fructífero de Scrum. El Scrum Master se asegura de que todo el mundo en el equipo (incluyendo al PO y la dirección) entienda y siga las prácticas de Scrum, Ayuda a resolver los impedimentos del equipo para poder hacer bien su trabajo. 12
Agile/Scrum Roles y responsabilidades: Scrum Master El Scrum Master es el responsable del funcionamiento de Scrum en el proyecto, para ello: Asesora y forma al Product Owner Asesora y forma al equipo Revisa y valida la pila del producto Modera las reuniones Resuelve impedimentos en el sprint Gestiona la dinámica del equipo Configura, diseña y mejora las prácticas ágiles del equipo Perfil deseable Habilidades para actuar de Coach de equipo Comunicador con capacidad de influencia Experto conocedor de Scrum y Agile Facilitador de reuniones Liderazgo servicial Con experiencia en impedimentos habituales en la transformación Agile Conocedor de técnicas de Visual Management Sistemas Lean/Kanban Definir la cadena de valor (value stream) Esperando selección Análisis Diseño Desarrollo Resolución Integración Pruebas Aceptación Terminado 13
Sistemas Lean/Kanban Backlog (6) Análisis Doing Done (2) (2) Desarrollo Doing Done (3) (1) Pruebas Doing Done (3) (1) Aceptación (2) Terminado Sistemas Lean/Kanban Framework Agile Definir la cadena de valor (y adaptarla continuamente) Visualizar el flujo mediante un tablero (físico) y tarjetas Ajustar la carga a la capacidad restringiendo el nivel de paralelización de tareas en cada fase (Work in process) Mantener el flujo de valor Definir tipos de trabajo y clases de servicio Establecer políticas explícitas Facilitados por Kanban Coach, o Agile Coach experto en Sistemas Kanban 14
Agile roles y responsabilidades: Agile Coach / Enterprise Agile Coach Agile Coach / Enterprise Agile Coach Rol análogo al Scrum Master de Scrum y Kanban Coach. Asume ambos así como utiliza otras técnicas ágiles y lean dependiendo de la organización y contexto cultural Su objetivo es que la organización progrese en su transformación cultural Agile Debe conocer Agile/Lean a fondo y ser un buen tutor para distintas áreas de la organización. Actúa como Mentor y Facilitador de múltiples equipos en áreas técnicas y de negocio. Coach a distintos niveles: personal y de equipo Enterprise apoya a niveles directivos. Sugiere y tutoriza estrategias de transformación organizacional y de cultura. Grandes proyectos 15
Agile roles y responsabilidades Agile/Scrum escalado DevOps Arquitectura en Agile Perfiles Nuevas estructuras jerárquicas en escalados Ingeniero DevOps Architecture Owner. Transformación de perfiles/roles hacia una organización Agile Project Managers y PMOs Managers y Product Managers Desarrolladores de Productos/Servicios Gestores de la demanda/business Partners Representante del cliente Product Owner ( Propietario de producto) Scrum Master / Kanban Coach Desarrollador Agile Agile Coach / Enterprise Agile Coach 16