desarrollo ágil de software

25
Charla para http://themelee.org/ Me pedían que hablase de mi experiencia personal, y he intentado resumir mi camino por el agilismo, mis razones y mis conclusiones actuales. 1

Upload: jose-ramon-diaz

Post on 12-Jun-2015

2.620 views

Category:

Technology


0 download

DESCRIPTION

Principios de las metodologías ágiles, conclusiones.

TRANSCRIPT

Page 1: Desarrollo ágil de software

Charla para http://themelee.org/

Me pedían que hablase de mi experiencia personal, y he intentado resumir mi camino por el agilismo, mis razones y mis conclusiones actuales.

1

Page 2: Desarrollo ágil de software

El nombre es una etiqueta, realmente lo que me define es…

Actualmente desempeño mi labor profesional en Biko, donde llevamos tres años implantando metodologías ágiles, y soy co-fundador de la “nueva” agile-spain, que ha conseguido aglutinar un importante movimiento alrededor de la misma: conferencias, coding dojo, etc.Escribo el blog http://najaraba.blogspot.com , donde hablo especialmente de metodologías ágiles.

2

Page 3: Desarrollo ágil de software

- ¿sois capaces de adivinar el futuro?

3

Page 4: Desarrollo ágil de software

-¿y con un diagrama de gantt? No solo no adivinamos el futuro, si no que somos malos imaginándolo, pues tendemos a aplicar lo que ya conocemos. ¿Cuántas veces somos capaces de preveer algo que nos tire por la borda un proyecto? Nassim Taleb destaca en su libro “El cisne negro” que las evaluaciones de riesgo se basan en lo que ha ocurrido en el pasado, y que por tanto los problemas inesperados y de gran impacto no son incluidos.

4

Page 5: Desarrollo ágil de software

- ¿sois capaces de leer la mente?

5

Page 6: Desarrollo ágil de software

-¿y sí de plasmarlo en un documento de requisitos?Seguimos pensando en cerrar los alcances como mejor se pueda, cuando es mejorasumir simplemente que ni se puede, ni es el enfoque más correcto. Por muy detalladoque esté un alcance:a) Siempre faltan cosasb) Nunca representa la realidad, pues esta evolucionac) Hay errores de comunicación e interpretación a través de la documentación

6

Page 7: Desarrollo ágil de software

Pero eso era lo que creía al principio, con mi plan y mi documentación, podía llevar a un grupo de desarrolladores al éxito por mi nivel como jefe de proyectos. Sin embargo, no funcionaban las cosas como esperaba.Tres cuestiones han tocado algún resorte en mi cabeza, que me plantean las cuestiones básicas del desarrollo de software.

7

Page 9: Desarrollo ágil de software

Segunda, que el desarrollo de software es un juego cooperativo de comunicación, finito.Las partes implicadas quieren ganar algo desarrollando software. Debemos conseguir que nuestras acciones estén encaminadas a ganar el juego, que significa, entregar valor creado para el cliente. (siendo muy relativo la definición de ganar el juego)Además es cooperativo, por que no se juega unos “contra” otros, si no que se busca el resultado final.

http://alistair.cockburn.us/Software+development+as+a+cooperative+game

9

Page 10: Desarrollo ágil de software

Tercera, el desarrollo de software es un Sistema complejo, y el mejor Enfoque es el de adaptación – acción

Las mismas causas no provocan siempre los mismos resultados. Hace que no estén claras las reglas del juego, y que debamos adaptarnos, y entender las cosas examinando el pasado.

http://www.amazon.com/Management-3-0-Developers-Developing-Addison-Wesley/dp/0321712471

10

Page 11: Desarrollo ágil de software

Así que con esas ideas, el manifiesto ágil encaja como un guante.

http://agilemanifesto.org/

11

Page 12: Desarrollo ágil de software

No perdamos el foco, entregar valor al cliente, de eso va este juego, y hay que ganarlo, no solo jugarloPlanteate si cada acción que haces ayuda al objetivo finalNo quedarse contemplando el paisaje, si no andando el camino hacia el objetivo final.

12

Page 13: Desarrollo ágil de software

(Ejemplo tomado de Henrik Kniberg)

13

Page 14: Desarrollo ágil de software

Assumptions:

The customer discovers what he wants

The developers discover how to build it

Things change along the way

14

Page 15: Desarrollo ágil de software

Así que ahora destaco lo que más valoro de las metodologías ágiles. Lo primero:

Colaboración, palabra clave: Visión compartidaSincronización mental ¿sin telepatía? técnicas!! Debemos trabajarlas

Cuando un desarrollador debe tomar cientos de decisiones al día que afectan directamente al valor entregado al cliente, lo mejor es que tenga en mente la idea más cercana y parecida a la realidad del mismo.

15

Page 16: Desarrollo ágil de software

¡¡Fuerzate a comunicarte!!

16

Page 17: Desarrollo ágil de software

Mejora continua. Inspección y adaptación.Para un poco y piensa.

17

Page 18: Desarrollo ágil de software

Personas, autoorganización, poder a los equiposPermitir explotar el potencial de cada persona, no solo hasta dónde llegue el del jefe de proyecto.

18

Page 19: Desarrollo ágil de software

La calidad no es opcional, acostumbrarse a la nueva velocidad, y no dejarse presionar.

19

Page 20: Desarrollo ágil de software

Las prácticas acercan a principios, pero no los llevan implícitosPERO SON MUY IMPORTANTES, tampoco se pueden hacer cambios sin prácticas que los soporten

20

Page 21: Desarrollo ágil de software

La implantación sugiero hacerla abriendo dos caminos en paralelo: Gestión y técnico¡Delegar!

21

Page 22: Desarrollo ágil de software

22

Page 23: Desarrollo ágil de software

Objetivos, qué es el agilismo• Entrega de Valor al cliente• Pasarlo bien, disfrutar del trabajo

23

Page 24: Desarrollo ágil de software

24

Page 25: Desarrollo ágil de software

25