Introducción a Agile y Scrum

Agile es una metodología de desarrollo de software que tiene el ancho de banda para adaptarse rápidamente a los requisitos cambiantes del proyecto y para adaptarse al desarrollo de un nuevo producto mientras el proyecto está en curso o después de la finalización del proyecto, a diferencia de la gestión tradicional del proyecto.

Comprendamos la ventaja distintiva que tiene Agile sobre la metodología tradicional de gestión de proyectos:

Enfoque tradicional:

  • Planificación detallada antes de comenzar
  • Permite adoptar cambios mínimos
  • Definición fija del proyecto

Enfoque ágil:

  • Se requiere una planificación mínima antes del inicio
  • Aceptará y se adaptará a los cambios.
  • Tiempo fijo y costo

Scrum es el enfoque más utilizado y popular para implementar una metodología ágil.

Llegaremos a la sección scrum en breve, pero primero, veamos más sobre el marco ágil.

Principios detrás del manifiesto ágil

  1. La satisfacción del cliente es la máxima prioridad que se logra a través de la entrega continua y temprana de software valioso.
  2. Entregue un software que funcione en un corto período de tiempo con el desarrollo continuo de nuevos software / productos en la línea siguiendo el mismo enfoque.
  3. Deberíamos poder acomodar los requisitos cambiantes incluso si llega tarde durante el ciclo de vida de SDLC.
  4. Los miembros del equipo deben mantenerse motivados siempre y para eso, se debe proporcionar suficiente apoyo y un buen ambiente.
  5. Los desarrolladores y la gente de negocios deben trabajar juntos a diario durante todo el proyecto.
  6. Se considera que la forma más eficiente de conversación es la interacción cara a cara.
  7. Desarrollo sostenible. Todos los miembros del equipo deben poder mantener un ritmo constante.
  8. Un producto / software en funcionamiento se considera la medida principal del progreso.
  9. Al final del día, el enfoque principal debe ser la excelencia técnica y el diseño robusto.
  10. Se debe seguir la simplicidad durante todo el proceso SDLC
  11. Los equipos deberían mostrar la eficacia continua y adoptar cualquier cambio para aumentar la efectividad.
  12. El diseño y la arquitectura robustos provienen de equipos autoorganizados.

Enfoques para la implementación ágil:

Enlace: https://goo.gl/images/fkZqGe

  1. SCRUM : este es un enfoque iterativo en el que hay algo llamado sprints que duran hasta una o dos semanas. Este enfoque permite a los equipos entregar el producto de trabajo o el software de forma regular.
  2. Kanban : para implementar ágil, este enfoque utiliza un marco visual. Aquí no hay sprints de longitud fija y el equipo obtiene la tarea de una acumulación prioritaria.
  3. Programación extrema (XP) : este enfoque tiene como objetivo mejorar la calidad del software y la capacidad de respuesta al incorporar simplicidad, retroalimentación y adoptar cambios.
  4. Desarrollo basado en funciones (FDD) : este enfoque incluye 5 actividades básicas que son: desarrollar un modelo general, crear una lista de características, planificar por característica, diseñar por característica y construir por característica.
  5. Desarrollo adaptativo del sistema (ASD) : este enfoque se puede utilizar para crear software y sistemas complejos y se centra principalmente en la colaboración en equipo y la autoorganización. Incluye 3 actividades iterativas que son: especular, colaborar y aprender.
  6. Método de desarrollo dinámico del sistema : DSDM es un enfoque ágil que sigue un enfoque iterativo e incremental que se basa en gran medida en la Metodología de desarrollo rápido de aplicaciones. Aborda las fallas comunes de los proyectos, tales como problemas de presupuesto del proyecto, plazos faltantes, etc.
  7. Desarrollo de software Lean: el desarrollo de software Lean es un enfoque ágil que tiene 7 principios básicos, que son: eliminar el desperdicio, capacitar al equipo, entregar rápidamente, optimizar el conjunto, incorporar calidad, diferir decisiones y amplificar los aprendizajes.

¿Qué es el scrum?

En secciones anteriores, ya hemos visto los enfoques que se utilizan para implementar el proceso Ágil y Scrum fue uno de ellos, Scrum es una de las Metodologías Ágiles más importantes y más utilizadas. Un scrum es un enfoque iterativo en el que hay algo llamado sprints que duran hasta una o dos semanas. Este enfoque permite a los equipos entregar el producto de trabajo o el software de forma regular. Aquí las responsabilidades, los roles y las reuniones se deciden en Scrum y los sprints son cronogramas donde hay planificación de sprint, demostración de sprint, standup diario y retrospectiva de sprint.

Rol de Scrum / Equipos de Scrum:

Enlace: https://goo.gl/images/XpNHBe

  1. Scrum Master : el Scrum Master es un rol responsable del equipo de scrum para seguir la metodología Scrum. El Scrum Master organiza reuniones, alienta al equipo, facilita la planificación y el seguimiento, aborda los desafíos y maneja los cuellos de botella. El Scrum Master también se comunica con el propietario del producto para asegurarse de que la cartera de pedidos del producto esté lista para el próximo sprint.
  2. Propietario del producto: el propietario del producto es responsable del análisis y la comunicación de la versión del software al equipo Scrum. El propietario del producto también se coordina con el Scrum Master para decidir sobre los retrasos en los productos para los sprints.
  3. Equipo de desarrollo: el equipo de desarrollo está formado por los profesionales responsables del desarrollo continuo, las pruebas y la entrega del software. Determinan cómo entregar fragmentos de obras en incrementos frecuentes.

Pasos en el flujo de Scrum:

Enlace: https://goo.gl/images/6YTUPf

  1. Producto acumulado : el producto acumulado mantiene la lista de características del producto. Es responsabilidad del propietario del producto y del Scrum Master priorizar los elementos atrasados ​​en función de las historias y los requisitos del usuario.
  2. Planificación de Sprint : es una reunión facilitada por el Scrum Master donde el propietario del producto presenta los detalles de la cartera de pedidos del producto, establece los criterios de aceptación de entrega y el equipo de desarrollo que define el trabajo y el esfuerzo que progresaron a diario.
  3. Refinamiento de la cartera de pedidos: para mantener actualizada la cartera de pedidos del producto, utilizamos el Refinamiento de la cartera de pedidos. Aquí las historias de usuario se dividen en partes más pequeñas y se eliminan las historias de usuario irrelevantes
  4. Scrum diario : es una reunión diaria de 15 minutos en la que se discuten básicamente tres preguntas que son: qué se logró ayer, cuál es el plan para hoy y cuáles son los obstáculos.
  5. Reunión de revisión de Sprint : esta reunión se realiza al final de cada sprint, donde se presenta una demostración en vivo para mostrar lo que se ha logrado durante el sprint.
  6. Reunión retrospectiva de Sprint: también podemos llamar a esta reunión como la reunión de éxito donde el equipo discute el proceso que funcionó o que no funcionó durante el sprint con sus soluciones.

Conclusión

En este artículo, vimos que Agile es una metodología de desarrollo de software que tiene el ancho de banda para adaptarse rápidamente a los requisitos cambiantes del proyecto y para adaptarse al desarrollo de un nuevo producto mientras el proyecto está en curso o después de la finalización del proyecto, a diferencia de la gestión tradicional del proyecto mientras Scrum está El enfoque más utilizado y popular para implementar una metodología ágil.

Artículos recomendados

Esta ha sido una guía de Qué es ágil y Scrum. Aquí discutimos los diferentes enfoques de Agile y Scrum. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es la inteligencia artificial?
  2. Preguntas de entrevista ágil Scrum
  3. ¿Qué es el SDLC?
  4. Ágil vs Scrum vs Cascada