Agiles 2009, sesiones día 1

Apertura

La bienvenida y apertura del la realizó un panel conformado por SamuelJuanG (presidente y vice de la conferencias respectivamente) y un conjunto de personalidades locales entre los que se encontraban personalidades del gobierno, representantes de la industria local y del sector académico.

Keynote by Brain Marick

Luego de eso, el primer keynote estuvo a cargo de Brain Marick, uno de los firmantes del manifiesto ágil, que en un acto de humor y humildad comentó que su único mérito para participar en la firma del manifiesto fue ser el único tester que Martín Fowler conocia en aquel momento.

La presentación de Marick me resultó muy amena, duró alrededor de una hora. Durante la misma Marick hizo una analogía entre como se enseña medicina (veterinaria para ser más exactos, pues citaba experiencias de su esposa ensañando a hacer diagnóstico sobre vacas) y como debería enseñarse ciertos aspectos de la construcción de software. Su punto fué que para hacer un diagnóstico uno aplica ciertas reglas de forma implícita, y quien está aprendiendo simplemente va examina distintos casos (muchos casos) y va creando las reglas internamente, de manera que a partir de cierto punto (luego de haber examinado cierta cantidad importante de casos) es capaz de dar un diagnóstico aplicando esas reglas implícitamente, pero en caso de ser consultado es capaz de explicar el conjunto de conocimientos y reglas que lo llevaron a la conclusión de diagnóstico presentada. Del mismo modo programar bien es algo que se siente, que se tiene incorporado, más allá de que uno conozca todas las buenas prácticas el buen programador termina aplicándolas naturalmente sin tener que pensar en ellas explícitamente.

Is agile the new waterfall? by Frank Trinidade

En esta presentación con algunas estadísticas interesantes sobre el nivel de adopción agile. Luego Frank planteó su punto: mucha gente dice usar agile, muchos utilizan prácticas de scrum, xp y lean, pero sin entender realmente porque es que lo hacen, simplemente escucharon que servian, investigaron como usarla y empezaron a aplicarlas sin tener mayor entendimiento de los principios y valores que las sustentan. Según Frank, si la gente utiliza prácticas ágiles sin entenderlas verdaderamente, la probabilidad de proyecto fallidos será muy importante y los métodos ágiles serán señalados como culpables, tal como en los último años se ha culpado al modelo de desarrollo en cascada.

programa1

Desafios de la transformación ágil, multisitio, multicultural

Está presentacióna cargo de Emilio Gutter y Alejandra Alfonso, trató sobre un caso de que enfrentaron los oradores trabajando como coach en una empresa multinacional, con equipos distribuidos en múltiples paises de europa.

Supporting distributed teams using Version One

En esta presentación Katia, nos mostró las características y beneficios del producto de VersionOne. Yo ya había estado utilizando la versión gratuita (team edition) y me habían quedado algunas dudas sobre funcionalidades que no vi presentes en la dicha versión. El producto está en verdad muy bueno para trabajar con métodos ágiles, pero hay una cuestión qye Katia dejó muy en claro, es una herramienta de gestión, no es la intención de ellos que la herramienta sea utilizada como bug tracker, controlador de versiones, etc; sino que la idea que enfocarse en la gestión del proyecto y proveer capacidades de integración con otras herramientas de uso comuín como las mencionadas.

Keynote by Roy Singham

Sin duda esta fue la presentación más polémica de la jornada. Con un enfoque muy progresista (no estoy seguro si esta es la palabra indicada) el CEO y fundador de ThoughtWorks habló sobre Larry Ellison convirtiendose en Lord Vader al comprar Sun y amezando la prosperidad del open source. También hizo una importante mención a la gran oportunidad de sudamérica, consecuencia de tres factores principales: la situación mundial, los valores de la cultura latinoamericana y la conjunción del movimiento ágil y el movimiento opensournce en la misma región. Durante la presentación que duró más de una hora, Roy dijo muchas cosas más, entre historias personales y anécdotas de su empresa, contó como fue que Martin Fowler se unió a ThoughtWorks.

Finalmente la presentación terminó con el anuncio de que ThougthWorks abrirá una oficina en Porto Alegre el año próximo, lo cual fue recibido con una aclamación de todo el público presente (y sobre todo de los brasileros).

Próximamente el resumen del día 2.

Agiles 2009, ya casi estamos

El evento ya arrancó, durante hoy y mañana se estarán dictando cursos y durante jueves y viernes será conferencia donde estaré dictando un workshop sobre planificación y estimación ágil. A modo de ensayo dicté el workshop el viernes pasado para algunos amigos que se ofrecieron como conejillos de indias. La experiencia me resultó muy útil pues obtuve mucho feedback que me permitió ajustar varias cuestiones, sobre todo los tiempos de cada una de las actividades. Quiero agradecer a los osados voluntarios: Guille Rugilo, DiegoF, MarianoS, ArielS, Fede Jack, Charly Paez y Leandro Romero.

También a modo de ensayo grabé un screencast con lo que será parte de la introducción que daré al comienzo del workshop y aunque ya cambié algunas cosas desde que lo grabé, el contenido sigue siendo válido. Este el link para acceder al screencast, durá solo 10 minutos, lo cual lo hace bastante consumible.

Si todo va bien mi próximo post será ya desde Brasil.

Agile Open Bahía Blanca 09

Salimos desde la terminal de Retiro junto con JuanG el viernes por la noche. Arribamos a Bahía hacia las 8 de la mañana del sábado. En la terminal de Bahía nos encontramos con Esteban y Julian que venían desde Tandil y luego en compañía de Jerónimo (uno de los organizadores locales) nos dirigimos hacía la biblioteca central de la Universidad nacional del Sur.

El evento arrancó a las 9.30 y tuve el honor de facilitar la apertura. Fue una muy linda experiencia.

Hubo alrededor de 90 participantes y si bien durante el día hubo algunas deserciones como suele suceder, en el cierre hubo más de 70 personas. Hubo alrededor de 30 sesiones propuestas, algunas de las cuales fueron unificadas al momento de armar la grilla, quedando finalmente alrededor de 20 sesiones efectivas.

Durante la mañana participé de una sesión sobre los distintos roles dentro de los equipos ágiles y de ello estuve en una sesión interactiva facilitada por JuanG en la que trabajando con globos repasamos la importancia entender claramente criterios de aceptación de los productos que generamos. Ya por la tarde estuve en una sesión que titulada con algo similar a “Documentación en contexto ágil” resultó un poco controvertida cuando uno de los participantes comentó que en sus proyectos tenía analistas trabajando un sprint adelantado escribiendo user stories detalladas. A continuación estuve en un sesión en la que hablamos sobre los pasos y opciones para la adopción de agile en organizaciones que trabajaban en forma “cascadosa”.

En el último slot del día dicté un workshop sobre user stories del cual participaron alrededor de 25 personas. De aquí puede descargarse el slide deck con los puntos más importantes que repasamos durante la introducción teórica del workshop.

Luego del cierre (a cargo de JuanG) Victor “Ferruchi” nos llevo en un mini city tour que termino con una picada en un bar muy pintoresco a escasos metros del teatro munipal de la ciudad. Hacia la 9 nos transladamos a la casa de Ariel Trellini nos los huddleanos preparaban un asado. Finalmente pusimos fin a nuestra jornada degustando una copa de vino y un sandwinch de asado entre juegos de dardos y charlas geeks. A las 10.30 subimos al micro que nos trajo de vuelta hacia Baires.

Realmente quedé muy contento con el evento y debo admitir que superó mis expectativas: mucha gente, excelente organización y muy buen contenido en las sesiones.

http://www.box.net/shared/gtdn1ttsvo

After Agile Open La Plata

Last Saturday I took part on this event. There were about 70 participants. During the morning there were some introductory sessions and something interesting happened: there were a session called «implementing agile», there were about 20 people but none of them know about agile, so one of them went to the session next door (where I was) and ask for somebody to talk about the topic, there I went. At the same time JuanG was giving an introductory session about Lean.

There also some classic sessions like: agile & cmmi, distributed agile and intro scrum.

After the lunch we make the classic «Scrum Bird Game» where I was the facilitator. It was much more organized than the one we did at Tandil, I think that because in this occasion there were much less people (4 teams, 5 members each) . During the last iteration of the game I had an idea for future games: change the birds between teams, this could be compared to common situation in software development projects: work on a product developed by someone else.

Finally I attend to a session about estimation were I had the pleasure to share experiences with «the huddleans» : Guille and DiegoF.

I like the event very much, it was over my expectations. My congratulations to Martin, Horacio, Liliana and the other members of the local organization staff, great work!!!

More about Agile Open Tandil (estimation session)

Two folks asked me to write a bit more about the afternoon sessions, especially about the estimation one and here I go, I will resume what we talk in that session.

The format of the session was open, there were more that 20 people and each talk about the way he uses to estimate.

In may opinion the natural process is to first estimate the size, then the effort, and finally considering a certain team you can deduce duration and cost, but not everybody uses this process (or unless not explicitly), some stated to estimate duration at once.

In few words, the following methods were mentioned:

  • Parametric methods (or magic formula-based methods that is the way I like to call them), basically this methods propose to analize your requirements and count points to determinate the size. Then you use that points in a formula that adds some variables to adjust the estimation based on particular information of the project (programming language, experience in similar projects, etc). In this category are Cocomo methods.
  • Expert opinion and manager manipulation methods (this original name is mine): maybe this is one of the most commonly used methods. Several people in the session told to used it and I know that some colleagues in my company use it all the time. It is very simple, a manager (boss, project leader, project manager or whatever you call it) ask an expert (some time not so expert) to estimate certain items. Then the manager adds some buffer and that’s it. Not very formal, not very precise but fast and easy.
  • Several-experts-based methods: I know this is a very ambiguous name, but that is the idea, I want to use this name to refer several different methods that include Delphi methods and planning poker (I think that planning poker is a Delphi variant). In these methods you have a team of experts (when I say experts I am just referring to people that is capable of give a realistic estimation because of his experience). Something very interesting of these methods is that under certain conditions these methods get a probabilistic support: if there are 4 or more experts and each expert opinion is independent, then we can apply the central limit theorem and get an confidence interval.

In my case I always try to use methods in the third group, in particular to estimate the complete product backlog at the start of a project I prefer to use Wideband delphi and then when estimating tasks at the begining of an iteration I prefer planning poker. During the session I mention a spreadsheet I use for Wideband-Delphi and after the session some people asked me to share the spreadsheet, so I published it here.

When I started writing this post I get the idea of preparing an estimation workshop, I think it could be an interesting activity, well I will analyze it.

That ‘s all, see you.

After Agile Open Tandil

Well, finally I get some time to write about it. The meeting took place at the Unicen building in the center of the city.

We started about 8 in the morning setting up the place. During the morning we had only one session:»Scrum bird game», 4 product owners (jgabadini, dfondevila, mbelnicoff and me), and about 60 participants divided into 8 teams. I took us about 2 hours. Some retrospective items after the game:

  • Several teams try to build the birds assuming things about the requirements without asking the product owners
  • After the chaos of first iteration most teams improved their organization and that allow them to improved their performance.
  • It was not a good experience to have one product owner for two teams at the same time. The product should be always available.
  • The products should be full tested by the product owner, I let the team to test the flexibility of the bird :(.

After the lunch break there were three slots of 4 sessions each. I took part of the following:

  • How to work less: the idea was to debate about how collaboration with the customers can make us work less as a result of delegating some task on the customers/users. I gave the example of UAT written and executed by the user.
  • Estimation methods: it was an open session were each talk about the way that use to estimate.
  • Tools for agile development: after talking about different tools, we agreed that in every project is necessary to have certain tools: a source code repository (svn, cvs, whatever), a tracking tool to manage issues, risks defects, etc, and a wiki to use as a knowledge base.

I am very satisfied with the results and I hope to see some folks from Tandil next month in the La Plata.

That is all, see you.

Agile open Tandil first results

We have just finished the retrospective and these are the main items we got:

  • Organize some agile activities in Bahia Blanca
  • Organize monthly meetings in for the agile community in Tandil
  • Organize some workshops about agile implementation
  • Document a real case on agile implementation by the Tandil ‘s community
  • Promote integration activities between the different agile communities in Argentina.