Archivo

Archivo para junio, 2009

Implementando Scrum: Como empezamos

Miércoles, 10 de junio de 2009 Fernando Sin comentarios

Como comenté en la entrada anterior, uno de mis objetivos para el curso de CSM era terminar de convencerme si Scrum era la solución para el equipo de desarrollo en el que trabajo o no. Después de lo aprendido concluí que sí, que era la solución. Este post está basado en un mail que envié al grupo foro-agiles, contando cómo empezamos con la implementación de Scrum.

Muchas de las recomendaciones y prácticas sugeridas por Scrum ya las veníamos implementando. El equipo cuenta con 7 programadores y yo, que asumo el rol de Scrum Master. El perfil general del equipo apuntaba a que Scrum era una buena idea.

En un momento del proyecto, llegamos a una etapa de re organización de nuestra forma de trabajo. En esta reunión abierta del equipo de desarrollo, sugerí utilizar Scrum y argumenté las razones. Estaba convencido que era una solución conveniente para este proyecto en particular. En ese mismo momento surgió una charla sobre Scrum para transmitir lo aprendido en el curso. Para esto, se llamaron a los distintos encargados de departamento y se juntó al equipo de desarrollo.

En aproximadamente una hora y media, intenté transmitir la mayor cantidad de conocimientos e ideas adquiridos en el curso. Me enfoqué más en la filosofía, espíritu, e ideas de Scrum, que en la implementación misma, aunque esto también fue mencionado. La meta era que los programadores entendieran la filosofía de trabajo, la esencia de Scrum, y la confianza que se les tiene para implementar correctamente la metodología. Estuvo bueno porque tanto los desarrolladores como el resto de la empresa estuvieron de acuerdo en la implementación de Scrum y lo encontraron beneficioso para el proyecto.

Así que de a poco empezamos a usar las herramientas de Scrum para llegar a implementar lo que consideremos necesario. En un principio, hicimos un working agreement. El working agreement, o acuerdo de trabajo, es una serie de reglas, o normas a seguir por el equipo. El compromiso y disciplina de los miembros del equipo es una parte importante de la implementación de Scrum. Así que se realiza este documento, con la participación y aceptación de todos, y luego se imprime/escribe en algún lugar que sea visible para todos. En nuestro caso lo imprimimos y colgamos en la cartelera del departamento de desarrollo, además de publicarlo en el blog interno de la empresa para darlo a conocer al resto. El documento está abierto a modificaciones (ya agregamos un ítem más desde su creación… tengo que imprimir eso de nuevo!).

El segundo paso fue definir la visión del equipo de desarrollo. Conocíamos la visión de la empresa, y del proyecto, pero debíamos definir una visión propia. Llegamos a algo nuestro y compatible totalmente con la visión del proyecto y la empresa.

Para la gestión de tareas veníamos usando Trac. Como Project Manager tenía que obtener las tareas a partir de la documentación, y asignársela a cada programador. Implementando Scrum, esto ya no es tan necesario, ya que el equipo auto organiza el trabajo. Además se evita el cuello de botella que generaba el hecho de que todo pasara por una persona. De todas formas, Trac puede ser una opción como herramienta para gestionar el trabajo del Sprint.

Empezamos un martes, e hicimos un “mini-planning” para definir el trabajo en los siguientes días de la semana, definiendo el viernes como final de Sprint, con la respectiva reflexión y review del cliente. Esa misma semana caí enfermo, y tuve que faltar los días jueves y viernes. Me perdí tanto los daily meetings como el review y reflexión del viernes. La reflexión no se hizo muy detalladamente, simplemente se repasó lo que se hizo y lo que quedó pendiente.

El lunes siguiente arrancamos con un planning más detallado. Como recién venimos empezando, estamos haciendo todo cada una semana.

Una de las particularidades de nuestro caso es que el Product Owner se encuentra actualmente fuera del país, por lo que llevamos la comunicación entre el Scrum Master y él a través de correo, mensajería instantánea, skype, etc. , apoyado con documentación post-planning y los reviews online. Actualmente, el no participa en el planning del Sprint. La idea que estamos implementando para solventar su ausencia en los planning es:

Definimos Sprints con comienzo el lunes, y review y retrospección el viernes. Comenzando con Sprints cortos creemos que tenemos más posibilidades de hacer una estimación precisa. Probablemente a la larga los extendamos a dos semanas, arrancando un lunes y terminando el viernes de la siguiente semana. Los jueves, el Scrum Master agrupa las “user stories” que van a ser planteadas en el planning del lunes. Este mismo día se realiza una videoconferencia con el Product Owner, y se definen las prioridades y tareas a incluir en el Sprint. Y así lo venimos llevando por el momento.

Categories: Scrum Tags: , ,

Cómo empecé con Scrum

Lunes, 8 de junio de 2009 Fernando Sin comentarios

Comencé a trabajar hace varios meses en una empresa de desarrollo de software. “Caí accidentalmente” en el puesto de Project Manager, y encargado general del departamento de desarrollo. Al principio me costó bastante adaptarme al puesto siendo programador, pero después de un tiempo me voy amoldando.

Mi primer contacto con la programación ágil fue en una conferencia de lo que en algún momento fue la “Red Tecnológica del Este”, un grupo de usuarios que se juntaba una vez por mes en conferencias técnicas sobre programación. En una charla sobre refactoring, mencionaron el libro Essential Skills for Agile Development de Tong Ka Iok. Teniendo el título del libro, lo descargué (gratis desde su sitio web), e investigué un poco aprendiendo lo que era el desarrollo ágil, el manifiesto ágil, y de qué venía la cosa en general. Comenté sobre el libro en Picando Código: Técnicas esenciales para el Desarrollo Ágil de Software

Más adelante asistí al JAVAUY 2007, el evento anual del JUGUY, donde asistí a una conferencia sobre Integración Continua.  Esta una práctica de desarrollo de software fue introducida por Martin Fowler y Kent Beck y es una de las tantas herramientas relacionadas al mundo ágil. Materia pendiente que tengo que estudiar para una posible implementación en el trabajo.

Seguí leyendo cada tanto sobre XP y Scrum. Gracias a recomendaciones, en un momento hicimos el intento en la empresa de implementar Scrum como metodología de trabajo. El equipo tenía la cantidad justa de gente, y el proyecto se prestaba para una metodología ágil. Sin embargo la falta de conocimiento y experiencia, y algunas malas prácticas, llevaron a que lo abandonáramos.

Hace poco tiempo, me certifiqué como Scrum Master. Texto obtenido del Grupo de Usuarios Scrum del Uruguay:

Los días 14 y 15 de mayo de 2009 tuvo lugar en Montevideo-Uruguay el primer curso de Certificación Internacional de la Scrum Alliance. Fué organizado por la empresa AQuA.it. A partir de este evento hay 24 Scrum Master Certified, aprovechamos para felicitar a cada uno de ellos, son los primeras personas que pudieron obtener esta certificación en nuestro país.

Tomé el curso y recibí la certificación. Mi objetivo asistiendo al curso fue no solo aprender Scrum, sino sacar mis conclusiones de si era la metodología indicada en los proyectos en los que estaba involucrado. El curso fue realizado por Alan Cyment el único Certified Scrum Trainer en español, Ariel Ber y Gabriel Ledesma. Una (de las tantas) particularidades del curso, fue que se realizó implementando Scrum. Los asistentes cumplíamos el rol de Stake Holders, mientras que los 3 responsables del curso eran el equipo de desarrollo.

Fue un curso muy dinámico, totalmente diferente a cualquier curso que haya tomado antes. Hubieron muchas dinámicas de grupo, de esas que dejan grabadas las ideas. Me hizo acordar a los libros “Head First” de O’Reilly, y su manera de abordar los temas de forma poco convencional, pero que dejan grabados los conceptos. No quiero contar demasiado para no arruinar la experiencia a aquellos que lo vayan a tomar., aunque cada curso es diferente al otro (depende mucho de la gente que lo vaya a tomar también). Si tienen la oportunidad, les recomiendo que asistan a uno de los próximos cursos certificados de Scrum en español.

A partir de entonces, la cosa cambió. Todo mi conocimiento previo sobre Scrum se basaba en las prácticas o herramientas que usa Scrum. Pero salí con un fundamento teórico mucho más amplio, y un conocimiento más específico de la esencia o espíritu de Scrum. Esto me resultó mucho más importante que las herramientas para implementarlo, ya que cada equipo elige las herramientas que le sirvan según el caso, depende (palabra que se usó mucho). El primer día aprendí mucho, pero salí con más dudas que respuestas. Después de digerir las ideas, y asistir a la segunda jornada de Scrum, despejé mis dudas, y salí convencido de que Scrum era la solución ideal para muchas cosas (incluyendo el proyecto en el que venía haciendo de PM), pero no para otras.

A partir de ahí, empecé a implementar Scrum en mi trabajo, asumiendo el rol de Scrum Master, y en mi proyecto de final de carrera para recibirme de Analista Programador. Y así fue que empecé con Scrum. El siguiente paso fue mi Hola mundo ágil.

Categories: Scrum Tags:

Llamado a participación – Ágiles 2009

Lunes, 8 de junio de 2009 Fernando Sin comentarios
ágiles 2009

ágiles 2009

Ágiles 2009 tiene como objetivo ser un punto de encuentro para los profesionales de IT de la región, interesados en compartir sus experiencias, debatir y capacitarse en temas relacionados con el desarrollo de software a través del uso de metodologías ágiles.

El siguiente mensaje fue publicado en la lista de foro-agiles:

Amigos

Estamos organizando Ágiles 2009 – 2das Jornadas Latinoamericanas sobre Metodologías Ágiles.

Este año se organizan en Florianópolis (Floripa para los amigos) – SC – Brasil, entre el 6 y 9 de Octubre. Para los que no la conocen, Floripa tiene unas playas espectaculares.

Pero no vamos (sólo) por eso. Ya están confirmados Brian Marick y Diane Larsen. Alan Cyment estará dando un curso de CSM, y… los invitamos a que propongan sesiones sobre sus ideas y experiencias, para presentaciones, tutoriales, y workshops, relacionados con la adopción de Desarrollo Ágil en Latinoamérica y en el mundo.

Si te interesa, puedes visitar el sitio oficial. Si querés ayudar, por favor difundilo y blogea al respecto.

También hay oportunidades para sponsors.

Este evento tiene el impulso del éxito de Ágiles 2008, sumado al tamaño de Brasil. Tendrá mucha mayor difusión (InfoQ).

Categories: Eventos Tags: ,