Post on 09-Jul-2015
description
transcript
XVII bbeersÁgil: como la rodilla de un click
¡Hola! Soy Diego Freniche
— @dfreniche
— Desarrollador movilidad + formador: iOS/Android/BB10/webOS/...
Ultra-geek CV: https://github.com/dfreniche/cv
Y pregunto yo...
— ¿Alguien ha participado en un proyecto con problemas?
— ¿Acabado fuera de plazo?
— ¿Fuera de presupuesto?
— ¿Con una sensación de fracaso?
¿Os suena?
— La Metodología con la “M” Mayúscula
— usada en cárnicas empresas de consultoría
— Requisitos no especificados claramente
— Cambios en los requisitos
— Equipos no motivados
— ¡Equipos que no saben qué están haciendo!
— Juniors haciendo de Seniors
Agile manifesto
— http://agilemanifesto.org
— No tenían un diseñador web a mano
— lo que dice es lo que dice. Luego hay que interpretar el manual de instrucciones.
A veces hay desviaciones en los planes...
12 Principios del Agile Manifesto
http://agilemanifesto.org/principles.html
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
— customer
— early
— continuous
— valuable
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
— sprints
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Nuestros jefes dicen
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
— antipattern: Death march
— (http://en.wikipedia.org/wiki/Deathmarch(project_management))
Continuous attention to technical excellence and good design enhances agility.
Simplicity--the art of maximizing the amount of work not done--is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
Nuestros jefes dicen de nuevo
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Fuera de horas de trabajo, claro
Metodologías
— waterfall
— rup (iterativa)
Ágiles
— scrum
— XP
Waterfall
SCRUM
— product backlog
— los "papelitos"
— versiones / iteraciones / sprints
— daily stand-ups
— TDD
Montar un equipo ágil
— Los individuos no son RR.HH. No son intercambiables
— Equipos localizados y pequeños (5-9)
— Es “ágil”. Las máquinas también deben serlo
— El equipo se autoorganiza
— Se es mejor en lo que nos gusta
— Comunicación cara a cara. Standing meetings
— El cliente está en el equipo
Backlog
— User Stories
As a <role>, I want <goal/desire> so that <benefit>
As a user, I want an Axe to kill the presenter so that we can have beer
Roles SCRUM: Cerdos y Gallinas
— Pigs
— ScrumMaster: Jefe de Proyecto. No es el Team leader. Quita los muebles del paso.
— Product Owner: representa al cliente (stakeholders)
— Team (3-9 personas)
— Chickens
— Stakeholders
— Managers
Iteraciones
— Time boxing: de 2 semanas a un mes
— Desarrollo completo en cada iteración
— Documentación generada ad-hoc
— ¿Cómo medimos que vamos bien? Por el software que funciona
Burndown chart
Daily SCRUM
— Stand-up meetings
— dirigido por SCRUM master
Idoneidad de los métodos ágiles
— Equipos pequeños localizados
— Desarrolladores seniors
— Requisitos cambiantes
— Cultura de ordenar el caos
TDD
Pair programming
Curso Inteco
https://formacion-online.inteco.es/curso/index.php
SCRUM in 10 minutes
— https://www.youtube.com/watch?v=XU0llRltyFM
— http://www.axosoft.com/downloads/axosoft-scrum-diagram.pdf
Last but not least
Downfall of Agile Hitler
https://www.youtube.com/watch?v=l1wKO3rID9g&feature=youtu.be