Git with Scrum en español
-
Upload
ramon-glez -
Category
Software
-
view
1.471 -
download
2
Transcript of Git with Scrum en español
![Page 1: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/1.jpg)
¿Cómo Git favorece los
procesos de desarrollo Scrum?
Ing. Ramon González De la Calle
Web: El Catalejo de Rami
vs
![Page 2: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/2.jpg)
Punto de partida
Las metodologías de desarrollo ágiles
provocan:
Una rápida evolución en el proyecto.
Muchos cambios en los requerimientos,
funcionalidades y en el código.
Despliegue de varias versiones del
producto, en ocasiones
simultáneamente.
![Page 3: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/3.jpg)
¿Qué es Scrum?
Framework de gestión de proyectos para el
desarrollo incremental de productos en uno o
más equipos auto-gestionados de alrededor
de 7 personas cada uno.
Guiado por iteraciones llamadas Sprints
Cada Sprint debería entregar software
funcional.
![Page 4: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/4.jpg)
¿Qué es un Sprint?
![Page 5: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/5.jpg)
¿Qué propone Scrum?
MVP
Version: 1.0
Ver.: 1.5
Ver.: 2.0
Ver.: 3.0
![Page 6: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/6.jpg)
Artefactos de Scrum
Chasis
Amortiguadores
Motor
Sistema Eléctrico
Ruedas
Carrocería
Product Backlog
Item:
• Especifica el “Qué” de un
requerimiento del usuario
• Definición clara de “Terminado”
• Tiene criterios de “Aceptación”
![Page 7: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/7.jpg)
Sprints & Product Backlog
Amortiguadores
Motor
Sistema Eléctrico
Carrocería
Ruedas
Chasis
Sprint 1 MVP
Minimum Valuable Product
Ver.: 1.0
Nuevo
![Page 8: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/8.jpg)
Amortiguadores
Motor
Sistema Eléctrico
Carrocería
Ruedas
Chasis
Sprint 2 Nuevo
Sprints & Product Backlog
Ver.: 1.5 (actualización)
Mejora
![Page 9: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/9.jpg)
Amortiguadores
Motor
Sistema Eléctrico
Carrocería
Ruedas
Chasis
Sprint 3
Ver.: 2.0 (nueva versión) Nuevo
Nuevo
Nuevo
Sprints & Product Backlog
Nuevo
Mejora
![Page 10: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/10.jpg)
Amortiguadores
Motor
Sistema Eléctrico
Carrocería
Ruedas
Chasis
Sprint 4
Ver.: 3.0 (nueva version)
Mejora
Mejora
Mejora
Sprints & Product Backlog
Navegación GPS
Mejora
Mejora
Mejora
Nuevo
![Page 11: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/11.jpg)
Problemas
• Cada Sprint introduce nuevos componentes.
• Muchos de los componentes ya desarrollados
son mejorados constantemente.
• Nuevas versiones de productos son creadas aún
cuando seguimos manteniendo por algún
tiempo las versiones antiguas.
![Page 12: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/12.jpg)
¿Qué pasa si no gestionamos el
cambio correctamente?
Dependencias
Desarrollador
![Page 13: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/13.jpg)
Manifiesto por el Desarrollo de
Software Ágil Estamos descubriendo mejores formas de desarrollar software
haciéndolo y ayudando a otros a hacerlo. Y hemos aprendido a
valorar:
Individuos e iteraciones sobre procesos y herramientas
Software funcional sobre documentación exhaustiva.
Colaboración con el cliente sobre negociación de contratos.
Responder al cambio sobre seguir un plan
Esto quiere decir que, valoramos los aspectos a la derecha,
pero los de la izquierda los valoramos aún más.
![Page 14: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/14.jpg)
¿Qué necesito?
1. Recordar uno de los principios del desarrollo
Ágil:
Integración Constante
2. Una herramienta efectiva:
Git
![Page 15: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/15.jpg)
¿Qué es Git?
• Sistema de Control de Versiones Distribuido
• Origen:
Es desarrollado para el trabajo en el kernel de
Linux
Está diseñado para ser usado vía línea de
comandos.
![Page 16: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/16.jpg)
¿Qué es Git?
• Highlights
Software libre
Favorece los desarrollos no lineales y
distribuidos
Gestiona eficientemente proyectos de
larga duración.
100% funcional en local (offline)
Usa SHA-1 para escribir la historia
![Page 17: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/17.jpg)
¿Quién usa Git?
![Page 18: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/18.jpg)
Sistema Centralizado
• Subversion
• Perforce
• CVS
• ClearCase
![Page 19: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/19.jpg)
Sistema Distribuido
• Git
• Mercurial
• Fossil
• Bazaar
![Page 20: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/20.jpg)
Áreas de trabajo de Git
![Page 21: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/21.jpg)
Áreas de trabajo de Git
• Al crear un archivo este se marca como untracked
• Si editas un archivo este se marca como modified
• Para registrar los cambios es necesario pasarlos al
área de preparación
![Page 22: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/22.jpg)
Áreas de trabajo de Git
• Para pasar los archivos al área de preparación se
usa el comando:
$ git add home.html
![Page 23: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/23.jpg)
Áreas de trabajo de Git
• Para crear confirmaciones (commits) se usa el
comando:
$ git commit –m “Página home diseñada y lista”
![Page 24: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/24.jpg)
Modelo de datos
• Instantáneas de todos los archivos en cada confirmación
• Para mantener la integridad de los datos se usa el
mecanismo de comprobación hash SHA-1
![Page 25: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/25.jpg)
Branching (ramas)
• El Branching es la característica más popular de Git
• Diseñado para trabajar de manera modular y aislado.
• Ligero y rápido para crear y mezclar ramas
• La rama por defecto de Git es Master
![Page 26: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/26.jpg)
¿Qué es una rama?
• Una rama es simplemente un puntero móvil que apunta
a una de las confirmaciones.
• Para crear una nueva rama se usa el comando
$ git branch testing
![Page 27: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/27.jpg)
Branching (ramas)
El puntero HEAD apunta a la rama en
la que te encuentras actualmente.
![Page 28: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/28.jpg)
Branching (ramas)
Para cambiar de rama se usa el comando:
$ git checkout testing
![Page 29: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/29.jpg)
Branching(ramas)
Avanzando en una rama creando nuevos
commits.
$ git commit –m “User Story 1 Tests Passed!”
![Page 30: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/30.jpg)
Branching(ramas)
Volviendo a la rama master
$ git checkout master
![Page 31: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/31.jpg)
Branching(ramas)
Avanzando un poco más en la rama master
$ git commit –m “User Story 2 ready!”
![Page 32: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/32.jpg)
Merging (ramas)
$ git merge testing
• Fusión a tres bandas: las dos puntas de
las ramas y el ancestro en común.
![Page 33: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/33.jpg)
Merging (ramas)
• Una nueva confirmación es creada avanzando la rama
destino hasta ella. En este caso master
![Page 34: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/34.jpg)
Uso de Git con Scrum
Ver.: 1.5
Ver.: 2.0
Ver.: 3.0
MVP
Version: 1.0
![Page 35: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/35.jpg)
Flujo de trabajo ramificado
master
Sprint 1 Sprint 2 Sprint 3
Ver.:1.0 Ver.:1.5
Ver.:2.0
Mantener siempre la
rama master “limpia”
No mezclar hasta alcanzar los criterios de aceptación
Abrir una rama por
cada nueva versión
Proceso Scrum lineal
![Page 36: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/36.jpg)
Flujo de trabajo ramificado
master
Sprint 4
Ver.:2.0
Bug 15
La rama master ha sido “contaminada” con una mezcla no asegurada.
Ver.: 3.0
Fix merge
Ver.:2.1
Atraso en el tiempo de entrega.
Ramificaciones imprevistas
![Page 37: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/37.jpg)
master
Sprint 4
Ver.:2.0
Bug 15
El objetivo de la rama de integración es resolver los conflictos y pasar las pruebas de integración.
Ver.: 3.0
Ver.:2.1
Integración
Flujo de trabajo ramificado
Ramificaciones imprevistas
Solución
![Page 38: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/38.jpg)
Uso de Git con Scrum
Ver.:1.0
master
Sprint 1
Team 1
Sprint 1
Team 2
Ver.:2.0
integración
Cuando se trabaja en equipos en paralelo la rama de integración adquiere mas relevancia.
Equipos en paralelo
![Page 39: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/39.jpg)
Conclusiones y recomendaciones
1. Prepararse para el cambio es la mejor forma de
responder a él.
2. Los flujos de trabajo ramificados son una de las
ventajas que ofrece Git para trabajar
metodologías ágiles.
3. En procesos Scrum deberíamos crear una rama
para cada Sprint.
![Page 40: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/40.jpg)
3. Es saludable mantener la rama master limpia
de confirmaciones no seguras.
4. No debemos mezclar nuestro trabajo hasta
alcanzar los criterios de aceptación.
5. Crear una rama para cada versión o release.
6. Una rama de integración nos brinda seguridad
en el trabajo.
Conclusiones y recomendaciones
![Page 41: Git with Scrum en español](https://reader033.fdocumento.com/reader033/viewer/2022050614/58827ddb1a28ab24788b5e45/html5/thumbnails/41.jpg)
Muchas Gracias.