Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Módulo 5 Encuentro 18/20 Metodologías I OBJETIVOS DEL MÓDULO 5 ¿Qué habilidades desarrollarás? ● Aprendizaje cooperativo entre pares ● Cultura de metodologías ágiles ¿Qué herramientas técnicas aprenderás? ● Estrategias de testing ágil ● Herramientas para gestión de pruebas ● Ejecución de pruebas y generación de reportes *No es necesario solicitar permiso de edición del documento, si deseas puedes crear una copia �Archivo > Crear una copia]* ¡Te damos la bienvenida al encuentro de trabajo N°18! Comenzamos el último módulo de este curso: Metodologías ágiles. A lo largo de este encuentro profundizaremos en aquellas que son las más utilizadas en el mundo IT. MATERIAL DE LECTURA En módulos anteriores mencionamos que las metodologías ágiles producen software en entregas por medio de iteraciones, ciclos o sprints, que son tres maneras de referirnos a lo mismo. En cada una se avanza en la construcción del sistema que está en producción. Generalmente los ciclos o iteraciones son de 2, 3 o 4 semanas. Cada ciclo tiene un principio y un fin marcado y las actividades dentro del ciclo son típicamente las mismas. SPRINT 0 Se puede decir que hay diferentes variantes de metodologías ágiles. 2 A continuación veremos algunas de las más conocidas: SCRUM Scrum es una filosofía y un marco de trabajo que ayuda a las organizaciones a generar valor a través de soluciones adaptativas a problemas complejos. Esta metodología de trabajo emplea un enfoque iterativo e Incremental para optimizar la previsibilidad y controlar el riesgo. Las reglas de scrum ayudan a guiar las relaciones e interacciones. No buscan proveer instrucciones detalladas ya que el scrum se basa en la inteligencia colectiva de las personas que lo utilizan. Se llama Scrum ya que el foco está puesto en el trabajo en equipo. Los miembros del equipo se respetan, tienen el coraje de hacer lo correcto ante adversidades, son francos y asumen el compromiso de lograr sus objetivos apoyándose mutuamente con foco en su principal tarea: el mejor progreso posible sobre el trabajo del sprint Equipo scrum: Cada equipo scrum suele ser pequeño sin jerarquía. Es una pequeña unidad multifuncional y autogestionada de profesionales. Los equipos tienen la capacidad de decidir qué hacer, cómo y cuándo y son responsables del ciclo de vida de desarrollo de parte del producto. 3 Secreto de la industria 1� Generalmente cada equipo scrum tiene menos de 10 personas ya que el equipo debe mantenerse pequeño para ser ágil y a la vez contar con la cantidad suficiente de miembros para cumplir con tareas significativas en cada sprint. Eventos de scrum Existen cuatro eventos formales para inspección y adaptación dentro de cada sprint: Roles dentro del equipo scrum: ● Scrummaster: se ocupa de inculcar la metodología scrum en el equipo. ● Desarrolladores ● Product owner o dueño de producto: organiza el trabajo en el backlog. Responsable de maximizar el valor del producto. ● Developers: durante cada sprint (ciclo) se ocupa de resolver las tareas que se hayan seleccionado para ese sprint, generando incremento de valor en cada sprint. 4 ¿Quieres saber más sobre scrum? En https://scrumguides.org/download.html podes encontrar la guia oficial de scrum (actualizada en 2020� escrita por sus creadores �Jeff Sutherland y Ken Schwaber) y traducciones a diferentes idiomas hechas por miembros de la comunidad. ¡MANOS A LA OBRA Ejercicio #1 Elige la respuesta correcta de cada una de las preguntas a continuación. Puedes completar el múltiple choice desde este formulario y ver la solución allí, una vez que hayas enviado tus respuestas. Ejercicio #2� Role-play Junto a tu equipo, simulan el siguiente ejercicio: realizar una reunión de Sprint Planning para planificar las actividades que se realizarán durante un Sprint. 1. El ScrumMaster (un miembro del equipo) da la bienvenida y presenta los objetivos del Sprint. Se establece el tiempo que se dedicará a la reunión y se explica el orden de los temas que se tratarán (entre 20 y 30 minutos). 2. El Product Owner (otro miembro del equipo) presenta las historias de usuario que han sido seleccionadas para el Sprint. Cada historia de usuario debe estar escrita. 3. El equipo discute y estima el esfuerzo que requerirá cada historia de usuario. Para ello, pueden simplemente preguntar a cada miembro del equipo por su opinión. La estimación se anota. 4. El equipo selecciona las historias de usuario que serán completadas durante el Sprint (de dos semanas). Se pueden seleccionar todas las historias de usuario que el equipo considere que pueden completarse durante el tiempo del Sprint. 5 https://scrumguides.org/download.html https://forms.gle/sYqYBvzXb2RQgbw77 5. Para cada historia de usuario seleccionada, el equipo desglosa las tareas necesarias para completarla y las escribe. Las tareas pueden ser escritas en términos generales y no necesitan ser muy detalladas. 6. El Scrum Master cierra la reunión de Sprint Planning recordando los objetivos del Sprint, las historias de usuario seleccionadas y las tareas asignadas. Se asegura de que todos los miembros del equipo estén en la misma página y que estén comprometidos con el éxito del Sprint. Este ejercicio práctico permite aplicar la fase de Sprint Planning de SCRUM en un proyecto ficticio, en un entorno de aprendizaje virtual y en un tiempo limitado. KANBAN El método Kanban forma parte de la conocida estrategia japonesa de trabajo llamada Kaizen. parte de la premisa de que las cosas, siempre se pueden hacer mejor. Es decir, su propósito radica en que de no modificarse los hábitos se perderá competitividad en el mercado. Orígenes Kanban en Japonés significa letrero o señal. Nació a finales de los años ‘40 como sistema en ámbitos fabriles con el objetivo de controlar el proceso de producción usando un modelo JIT (sistema de arrastre basado en la demanda). Cuando un producto es vendido, la señal se mueve hasta el principio de la línea de fabricación para que se produzca uno nuevo. El propósito es minimizar los desperdicios. Kanban es un sistema de gestión de proceso visual que indica qué producir, cuándo y en qué cantidad. Método Kanban El método Kanban, formulado por David J. Anderson es un enfoque para el cambio evolutivo incremental para las organizaciones de desarrollo. O dicho de otra manera: Una aproximación a la mejora de procesos organizacionales de manera incremental y evolutiva. 6 Limita el trabajo en curso (aka WIP� o sistema de extracción limitada de trabajo en progreso, para exponer los problemas de funcionamiento del sistema o proceso estimulando la colaboración para la mejora continua del sistema. El proceso de cambio de sistemas hacia la mejora debe ser gradual y evolutivo.1 El proceso, desde la definición de la tarea hasta su entrega se muestra para ser vista por los participantes. ¿De qué manera? Utilizando tableros Kanban o Kanban boards, como el que se muestra en la imagen. Las tarjetas no funcionan como señales para realizar más trabajo, sino que representan los elementos de trabajo en sí mismo. Principios fundamentales: ● Comenzar con la actividad actual El método Kanban no exige que el proceso cambie drásticamente, sino que se basa en la evolución del proceso. Es decir poco a poco. Para eso, se continúa trabajando del modo en el que se hacía respetando procesos, roles, responsabilidades y cargos. ● Acuerdo del cambio continuo, incremental y evolutivo Debe existir cierto acuerdo en la organización (o en el equipo) justificando trabajar en pequeñas mejoras incrementales. 1 https://djaa.com/revisando-los-principios-y-practicas-generales-del-metodo-kanban/ Revisar este link te llevará aproximadamente 10 minutos. 7 https://djaa.com/revisando-los-principios-y-practicas-generales-del-metodo-kanban/ ● Liderazgo en cada nivel Es importante que todos fomenten la mejora continua para alcanzar el rendimiento óptimo. En palabras de David J. Anderson: “La información sobre dónde las mejoras son posibles puede aparecer en cualquier nivel dentrode una organización y, con mayor frecuencia, a nivel del contribuyente individual… Debe existir una cultura de seguridad, para actuar sin temor a represalias, siempre que los cambios se puedan defender con base en una explicación lógica utilizando modelos y datos.” 2 La organización debe fomentar y estar abierta al feedback y propuestas de todos los miembros de la organización. ¿NECESITAS UN EJEMPLO? Prácticas centrales del Método Kanban 1. Visualizar el workflow (flujo de trabajo) Visualizar el flujo de trabajo y hacerlo visible es la base para comprender cómo avanza el trabajo. Sin comprenderlo es difícil realizar los cambios adecuados. Una manera de hacerlo visible es representar con tarjetas o columnas cada actividad que genera nueva información >>> análisis, diseño, testing. Al poner de manifiesto y representar la secuencia de actividades que llevamos a cabo para completar nuestro trabajo estamos dando visibilidad a nuestro flujo de trabajo. Las columnas representan los diferentes estados o pasos en el flujo de trabajo. 2. Limitar work in progress Limitar el trabajo en curso implica la implementación de un sistema de “extracción o ingreso”. La clave es que el trabajo en progreso en cada estado del flujo debe ser limitado. Solamente ingresamos nueva actividad cuando hay capacidad para hacerlo (por ejemplo, si se liberó lugar en el flujo de trabajo al completarse otra tarea). 2 https://djaa.com/revisando-los-principios-y-practicas-generales-del-metodo-kanban/ 8 https://djaa.com/revisando-los-principios-y-practicas-generales-del-metodo-kanban/ 3. Manejar y monitorear el flujo de trabajo El flujo de actividades a través de cada estado del flujo debería ser monitoreado. Esto se realiza a partir de reportes para medir la velocidad con la que avanzan las tareas a través de los distintos estados del flujo de trabajo. Se identifican así los cuellos de botella. Reconocer las dificultades y visualizar los problemas, para facilitar la mejora continua. El método Kanban recomienda conseguir un flujo rápido y fluido. Un flujo rápido y fluido significa que el sistema está creando valor rápidamente, lo que minimiza el riesgo y evita el costo (de oportunidad) de la demora, y también agrega predictibilidad al trabajo y los tiempos de realización. 4. Hacer explícitos los procesos y políticas. Es clave que los procesos y políticas (o la total ausencia de los mismos) estén claros y al conocimiento de todos. Para modificar o crear un proceso hay que reflexionar si existe ya alguno definido para esta tarea. De ser así ¿cual sería? Esa información es el punto de partida para la revisión y mejora (o creación) de los procesos necesarios. 5. Usar circuitos de retroalimentación El propósito de la retroalimentación es ajustar los procesos y políticas y mejorarlos. Para eso, se comparan los resultados esperados con los reales y luego se decide qué modificar. 6. Mejorar la colaboración Cuando los equipos trabajan en conjunto es probable que puedan construir una visión compartida de un problema y proponer acciones de mejora acordadas por consenso. Algunas herramientas que permiten implementar el método Kanban son: ● Kanban Tool ● JIRA ● Trello ● Note Board ● Targetprocess 9 ● Notas adhesivas (análogicamente)3 ¿Quieres saber más sobre KANBAN? Te dejamos varios recursos que seguro te resultará de utilidad: 1. https://djaa.com/kanban-board-examples/ 2. https://djaa.com/revisiting-emerging-roles-in-kanban/ 3. https://djaa.com/kanban-evergreen-should-we-include-waiting-or-bloc ked-items-in-wip-limits/ 4. https://djaa.com/revisando-los-principios-y-practicas-generales-del-m etodo-kanban/ 5. https://djaa.com/applying-kanban-to-sales/ 6. https://djaa.com/individual-kanban-faq/ 7. https://djaa.com/applicability-of-the-kanban-method-to-the-legal-sect or/ Secreto de la industria 2� SCRUM y KANBAN no son excluyentes entre sí. Los equipos de trabajo pueden usar scrum para su operativa y Kanban para monitorear y verificar que los procesos fluyan con la agilidad necesaria o para hacer ajustes globales, de ser necesario. 3 Puedes ver ejemplos de tableros Kanban con notas adhesivas aquí https://djaa.com/kanban-board-examples/ 10 https://djaa.com/kanban-board-examples/ https://djaa.com/revisiting-emerging-roles-in-kanban/ https://djaa.com/kanban-evergreen-should-we-include-waiting-or-blocked-items-in-wip-limits/ https://djaa.com/kanban-evergreen-should-we-include-waiting-or-blocked-items-in-wip-limits/ https://djaa.com/revisando-los-principios-y-practicas-generales-del-metodo-kanban/ https://djaa.com/revisando-los-principios-y-practicas-generales-del-metodo-kanban/ https://djaa.com/applying-kanban-to-sales/ https://djaa.com/individual-kanban-faq/ https://djaa.com/applicability-of-the-kanban-method-to-the-legal-sector/ https://djaa.com/applicability-of-the-kanban-method-to-the-legal-sector/ https://djaa.com/kanban-board-examples/ https://djaa.com/kanban-board-examples/ ¡MANOS A LA OBRA Ejercicio #3 Puedes completar el múltiple choice desde este formulario y ver la solución allí, una vez que hayas completado todo este apartado. Extra Credits Ahora que tienes una idea mucho más clara de cómo es el desarrollo ágil, su metodología, roles y responsabilidades, hablemos de las habilidades necesarias para trabajar en el marco de estas metodologías. Compromiso, foco, franqueza, respeto y coraje son los valores de Scrum. A estos podríamos sumar las siguientes características necesarias para el éxito de los proyectos de desarrollo en los que participes: ★ Responsabilidad ★ Compromiso ★ Organización ★ Manejo de proyectos �Project Management) ★ Manejo de tiempos �Time Management) ★ Capacidad de trabajo en equipo ★ Flexibilidad ★ Entusiasmo ★ Curiosidad ★ Creatividad ★ Honestidad ★ Pensamiento crítico ★ Capacidad de decisión ★ Capacidad de aprendizaje 11 https://docs.google.com/forms/d/e/1FAIpQLScTM03CsfoP-i6SqzEUoveY8giNj1AQ2MgIiiXI_089yPdH-g/viewform ¿Quieres saber más sobre este tema? Te dejamos varios recursos que seguro te resultará de utilidad: 1. https://www.getsoftwareservice.com/roles-and-responsibilities-of-quali ty-analyst-in-software-development/ 2. https://www.kualitee.com/testing/anatomy-qa-tester/ ¡Hora de cerrar! Súper interesante estos métodos para aplicar en el puesto de trabajo, ¿no es así? Seguiremos profundizando en una próxima guía. ¡Estamos muy cerca de finalizar el curso! ¡Llegó el momento de los pulsos. ¿Te gustaría recibir? Demuéstrales a tus compañeros qué estás presente para promover su aprendizaje y el tuyo también. 12 https://www.getsoftwareservice.com/roles-and-responsibilities-of-quality-analyst-in-software-development/ https://www.getsoftwareservice.com/roles-and-responsibilities-of-quality-analyst-in-software-development/ https://www.kualitee.com/testing/anatomy-qa-tester/
Compartir