XP y Scrum: Metodologías de Agile
La empresa de desarrollo de software de Ingrid se ha fusionado con otra empresa. Es la responsable de la integración de los equipos de desarrollo, enfocándose específicamente en la metodología. Por suerte para Ingrid, ambas empresas utilizan un enfoque ágil para los proyectos. Sin embargo, uno usa Extreme Programming como metodología mientras que el otro usa Scrum. Ingrid necesita decidir si usar uno u otro o si hay una manera de usar ambos. Al tomar su decisión, da un paso atrás para revisar Agile y luego pasa a los detalles de cada metodología.
Un enfoque ágil de proyectos proporciona una alternativa a las metodologías tradicionales, que completan el trabajo del proyecto en etapas secuenciales, siendo tanto iterativas como incrementales. Esto se hace rompiendo la línea de tiempo y trabajando en partes más pequeñas y manejables. Ágil se define por algo llamado Manifiesto Ágil que se enfoca en aspectos de proyectos que se valoran sobre otros, que incluyen:
- Individuos e interacciones sobre procesos y herramientas
- Software de trabajo sobre documentación completa
- Colaboración con el cliente sobre la negociación del contrato
- Responde al cambio sobre el siguiente plan
Los valores expresados en el Manifiesto reflejan las opciones que a menudo se requieren en los proyectos. Cada elemento al que se hace referencia es valioso, pero existen limitaciones y restricciones. Cuando esto ocurre y se deben tomar decisiones, Agile valora cosas como las personas y las interacciones, la colaboración del cliente, el software de trabajo y la respuesta al cambio. Estos reflejan un énfasis en la calidad del trabajo, que es un enfoque de Extreme Programming, y en las personas, que es un enfoque de Scrum.
Detalles de XP
Después de que Ingrid y sus equipos revisan Agile y lo que intenta lograr, pasan a los detalles de la metodología utilizada por cada equipo. La primera metodología que examinan es Extreme Programming (XP) , que tiene un enfoque principal en cómo se desarrolla y prueba el trabajo del proyecto. Esto se relaciona directamente con la calidad del trabajo producido.
En XP, el cliente crea los requisitos del proyecto en forma de historias de usuario , que describen la funcionalidad necesaria para usuarios específicos. Estos se revisan con el equipo de desarrollo para explicar los requisitos y priorizarlos. El equipo trabaja en historias de usuarios exclusivamente en orden de prioridad y las completa en iteraciones cortas de una a dos semanas. Al final de cada iteración, las historias de los usuarios se publican y pasan a producción.
¿Qué es la gestión ágil de proyectos? – Scrum y metodología
Aunque XP no prescribe mucho en términos de proceso, tiene un enfoque significativo en la ingeniería o en cómo se desarrolla y prueba el trabajo. Hay varios métodos para diseñar historias de usuarios. Cada uno que se utiliza está destinado a proporcionar la más alta calidad de trabajo producido por el proyecto.
Uno de los principales métodos utilizados por XP es el desarrollo basado en pruebas , o TDD, que es una forma de desarrollo avanzando a través de casos de prueba automatizados cada vez más complejos. El desarrollador comienza con un caso de prueba sencillo que falla. La codificación se realiza para aprobar el caso de prueba y luego se crea un caso de prueba más complejo que también falla y luego se codifica. Otro método que XP utiliza a menudo es la programación en pares, en la que dos desarrolladores trabajan en una máquina y escriben y revisan el código simultáneamente.
Detalles de Scrum
A diferencia de XP, Scrum no aborda cómo se debe desarrollar y probar el trabajo del proyecto. En cambio, Scrum se centra en las personas y en un proceso que permite que un equipo multifuncional trabaje de forma eficaz. Similar a XP, Scrum utiliza historias de usuarios e iteraciones, pero en Scrum se les conoce como sprints y generalmente duran de dos a cuatro semanas.
Uno de los aspectos clave del proceso Scrum son los diferentes roles involucrados. El propietario del producto inicia el proyecto, escribe historias de usuarios y es responsable del resultado del proyecto ante otras partes interesadas. El equipo de desarrollo trabaja en conjunto para desarrollar y probar historias de usuarios. El rol final es el del Scrum Master que apoya al equipo de desarrollo y facilita el proceso Agile. Los roles claramente definidos ayudan a cada persona del equipo a conocer su función.
Otro aspecto significativo del proceso Scrum son las reuniones que se utilizan para marcar puntos clave en el sprint. Estas reuniones permiten que las personas involucradas en el proyecto se conecten de manera consistente. El sprint comienza con una reunión de planificación en la que el equipo de desarrollo revisa y asume las historias de los usuarios. Cada día durante el sprint, el equipo tiene una reunión de pie para discutir cómo está progresando el trabajo. El sprint finaliza con dos reuniones, revisión y retrospectiva. La reunión de revisión es donde el equipo de desarrollo muestra el trabajo completado al propietario del producto y a las partes interesadas. La reunión retrospectiva es donde el equipo se autoevalúa sobre las formas de mejorar.
Aplicación práctica: planificación de una reunión de Scrum
XP y Scrum juntos
Una vez que Ingrid tiene una idea clara de XP y Scrum, así como de cómo cada uno logra los objetivos de Agile, toma una decisión. Como muchos equipos, decide que la integración implicará el uso de ambas metodologías. Los aspectos de XP y Scrum no están en conflicto entre sí, ya que uno se centra principalmente en el trabajo y el otro se centra principalmente en las personas. Ella y sus equipos combinarán el proceso Scrum, incluidos los roles y las reuniones, con las prácticas de ingeniería de XP. Ella cree que puede lograr lo mejor de ambos mundos.
Resumen de la lección
En un nivel alto, los valores ágiles reflejan un énfasis en la calidad del trabajo y las personas. Las diferentes metodologías utilizadas para implementar Agile reflejan estos valores. Extreme Programming (XP) se centra en la calidad del trabajo producido. El proceso implica que un cliente proporcione historias de usuario para que un equipo de desarrollo trabaje en orden de prioridad durante las iteraciones. El enfoque principal es la ingeniería, principalmente utilizando métodos como el desarrollo basado en pruebas y la programación por pares . Similar a XP, Scrum involucra historias de usuarios e iteraciones, o sprints , pero se enfoca en las personas y en un proceso. El proceso Scrum involucra diferentes roles como Product Owner , equipo de desarrollo yScrum Master , que ayudan a las personas a comprender su función. El proceso también implica reuniones recurrentes, que ayudan a mantener a las personas conectadas. Estos incluyen una reunión de planificación , una reunión de pie , una reunión de revisión y una reunión retrospectiva . Debido a que cada metodología se centra en un aspecto diferente de Agile, se pueden usar juntas. Los equipos pueden usar el proceso de Scrum para enfatizar a las personas y las prácticas de ingeniería de XP para enfatizar la calidad del trabajo.
Explora más sobre este tema
Selecciona un tema y sigue aprendiendo...
