Agilismo - Métodos y herramientas
Transcript of Agilismo - Métodos y herramientas
![Page 1: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/1.jpg)
#Agilismo (my way)
1. Métodos y Herramientas
Javier García Sogo
@jgsogo
![Page 2: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/2.jpg)
Motivación
Agilismo
Herramientas
eXtreme Programming
… a debatir
Contenido
![Page 3: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/3.jpg)
#Motivación
![Page 4: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/4.jpg)
Motivación
![Page 5: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/5.jpg)
Motivación
![Page 6: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/6.jpg)
Motivación
Imagen: http://blog.puntiel.com/
¿Somos baratos? ¿Somos rápidos? ¿Somos buenos?
![Page 7: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/7.jpg)
Motivación
Imagen: http://blog.puntiel.com/
El cliente obtiene lo que paga (tiempo y calidad). El desarrollador cobra lo que hace. El gestor sabe cuánto puede hacer su equipo.
![Page 8: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/8.jpg)
Motivación - Objetivos
Desarrollo en equipo profesionalizado. El equipo sabe cuánto se tarda en hacer las cosas. El equipo sabe cuánto cuesta hacer las cosas. La empresa gestiona sus recursos: mejores sueldos, mejores productos y/o proyectos de innovación.
![Page 9: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/9.jpg)
#Agilismo
![Page 10: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/10.jpg)
Agilismo
Metodología Herramientas
Extreme Programming Manifiesto ágil: refactoring, tests, CI,…
Scrum Roles, time-boxing, backlog, sprints,…
Lean Development JIT, Pull System, Kanban,…
![Page 11: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/11.jpg)
Agilismo - DISCLAIMER
Yo no sé. Me suenan las cosas, he ido a charlas, he experimentado (poco). Scrum Master es una profesión. Quier-o/emos aprender y expermientar. Si alguien sabe, que lo diga; o la empresa contrata a alguien que sepa, ¡welcome!
![Page 12: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/12.jpg)
Agilismo – My way
Iterativo: cada X días se repite el proceso. Incremental: si no aporta valor, no lo hago. Entrega continua: NO significa “siempre”, significa cada iteración. Historias de usuario: tareas/issues definen qué se hace, con qué finalidad y cómo se va a evaluar la funcionalidad. También cuánto esfuerzo implica y cuánto supone esa funcionalidad. Peer review: nada entra en producción que no haya sido validado por otro (pull request) y funcione (¡tests!).
![Page 13: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/13.jpg)
Agilismo - @jmbeas
![Page 14: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/14.jpg)
Agilismo – Backlog
El backlog contiene todas las funcionalidades de la aplicación ORDENADAS según prioridad del cliente. En cada sprint se selecciona un conjunto de items que son los que se van a ejecutar y mostrar al final del sprint. Un item candidato tiene que estar perfectamente definido en funcionalidad (puntos función) y por el equipo (story points). ¡No puede haber dudas!
Imagen: http://www.informit.com/
![Page 15: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/15.jpg)
Agilismo – Issues
Específica (¡no hay dudas!) Medible en funcionalidad y tiempo. Criterios de aceptación (¡nada subjetivo!) Realizable (durante el sprint)
Hª de usuario –vs– Job stories
![Page 16: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/16.jpg)
Agilismo – Scrumban
Imagen: https://www.crisp.se/gratis-material-och-guider/kanban
Sprint n Sprint (n-1)
Diagrama Kanban: lo ideal es un póster con post-its…
Sprint n-(k+1) Sprint n+k
![Page 17: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/17.jpg)
#Herramientas
![Page 18: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/18.jpg)
Herramientas – Pull Request
Cada issue (feature) se desarrolla en paralelo por una persona durante un sprint. Al terminarla hace un pull request (PR), petición para incorporarla a la rama de desarrollo (dev). Todo PR es validado mínimo por otra persona (peer review) antes de incorporarse a la rama de desarrollo.
Imagen: https://mockupstogo.mybalsamiq.com/mockups/4191.png
Selected Doing
Doing Done
Done Deploy
![Page 19: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/19.jpg)
Herramientas – DVCS
Imagen: http://nvie.com/
+Info: http://nvie.com/posts/a-successful-git-branching-model/
![Page 20: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/20.jpg)
Herramientas – DVCS
Control de VERSIONES: changelog, alfa, beta, release,…
Imagen: https://mockupstogo.mybalsamiq.com/mockups/4191.png
![Page 21: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/21.jpg)
Imagen: http://nvie.com/
Ramas principales (origin): master: production-ready
develop: integration branch
Pull requests Compilaciones automáticas
Versiones
Herramientas – DVCS
![Page 22: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/22.jpg)
Imagen: http://nvie.com/
Ramas de características (feature-): No existen en origin
Son temporales (o se terminan o se descartan)
Herramientas – DVCS
![Page 23: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/23.jpg)
Imagen: http://nvie.com/
Ramas de lanzamiento (release-): NO añaden nuevas features.
Incorporan bug-fixes
Herramientas – DVCS
![Page 24: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/24.jpg)
Imagen: http://nvie.com/
Ramas de revisiones (hotfix): SOLO bugs críticos.
Incorporan bug-fixes
Herramientas – DVCS
![Page 25: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/25.jpg)
#eXtreme Programming
![Page 26: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/26.jpg)
Clean code
Complejidad ciclomática Código duplicado
Tests: Unitarios, TDD, BDD Analizadores estáticos de código
![Page 27: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/27.jpg)
#Debatir
![Page 28: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/28.jpg)
A debatir
Compromiso. Requiere esfuerzo e implicación. ¿Hasta dónde queremos llegar? Necesitamos un proyecto para aplicar todo esto. TDD: a qué nivel llevamos los tests. Scrumban? Tamaño de iteración Roles
![Page 29: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/29.jpg)
A debatir - Tecnologías
DVCS: Git, Mercurial, Bazaar,… Tests: Google Test, Boost Unit Test Framework,… CI: Jenkins, Bamboo, … Sistema de gestión de código: Github.com,… Gestión de issues: Redmine, Trac, Github.com/Issues,…
![Page 30: Agilismo - Métodos y herramientas](https://reader031.fdocuments.ec/reader031/viewer/2022020218/55b264cebb61eb013f8b4612/html5/thumbnails/30.jpg)