I Code Kata de Agile-CyL

Día: 29/05/2010
Hora: 10:00 - 13:30
Lugar: Sala 24, Centro Cívico Zona Sur, Plaza Juan de Austria - Valladolid
Objetivo: pasar un buen rato mejorando nuestras técnicas de desarrollo de software, buscando resolver un problema a partir de TDD y Pair Programming.
NO es necesario encontrar la solución, sino discutir los caminos que nos encontremos buscando mejores soluciones.
El lenguaje de programación no es importante.
Requisitos: Quien tenga portátil preparado para desarrollar y con xUnit será bienvenido ( no es una sala de informática, necesitamos equipos)
Ganas de pasarlo muy bien.
Procedimiento:
  1. Organizarnos por parejas
  2. Trabajar en base a Pomodoros de 25 minutos, con 5 de descanso y retrospectiva
  3. Cambio de pareja para siguiente pomodoro
Asistentes:
  1. Jorge Jiménez Pérez
  2. Amalia Hernández García
  3. José Luis Balmaseda Franco
  4. Alvaro Garcia Loaisa
  5. Javier Acero Guerra
  6. Francisco Pascual
  7. Eduardo Ferrández

KATA: STRING CALCULATOR

El problema a resolver es el siguiente: se parte de una cadena formada por número que están separados por comas o por nuevas
líneas (\n). Se trata de ir haciendo la suma de los números recibidos y devolver el valor total.
Dos cosas a tener en cuenta:

  • Si la primera línea de la cadena es de la forma “//”, entonces es posible encontrar el delimitador *. Esto es válido para cualquier cadena.
  • No se admiten números negativos.

Esta información está en la página:

http://blog.extracheese.org/2010/01/string-calculator-kata-in-python.html

Pero es que además la página de Osherove nos da toda una serie de pasos para ir desarrollando
la Kata (http://osherove.com/tdd-kata-1)

  1. Crear una calculadora sencilla con un método int Add (números de serie)
    1. El método puede tener 0, 1 ó 2 números, y devolverá su suma (para una cadena vacía devolverá 0) por ejemplo ” ” ó “1″ ó ” 1,2 “
    2. Comience con el caso más simple de prueba de una cadena vacía y luego  pasar a 1 y 2 números
    3. Debes resolver las cosas de la manera mas sencilla posible, para forzarte a escribir los test que no habías pensado
    4. Hay que refactorizar después de pasar los test.
  2. Permitir que el metodo Add trabaje con una cantidad desconocida de números
  3. Permitir que  el método Add trate con el carácter nueva línea, situado entre los números (en lugar de comas).
    1. la siguiente entrada está bien: “1 \ n2, 3″ (será igual a 6)
    2. la siguiente entrada NO se acepta: “1, \ n”
    3. Asegurar la prueba para las entradas correctas. No hay necesidad de probar para las entradas incorrectas.
  4. Permitir el método Add trabaje un delimitador diferente:
    1. Para cambiar un delimitador, el comienzo de la cadena contendrá una línea independiente que tiene este aspecto: ”/ / [delimitador] \ n [números ...]” por ejemplo “/ /; \ n1; 2″ debe devolver tres cuando el delimitadorpor defecto es ‘;’.
    2. La primera línea es opcional. Todos los escenarios deben estar soportados.
  5. Las llamadas al método Add con un número negativo deben lanzar una  excepción “Números negativos no admitidos” - y mostrar  el numero negativo. Si existen múltiples negativos, se muestran todas en el mensaje de excepción.

    Hasta aquí, si eres un novato. Continúa si puede terminar los siguientes pasos  en menos de 30 minutos.


  6. Los números superiores a 1000 deben ser ignorados. La suma 2 + 1001 = 2
  7. Los delimitadores pueden ser de cualquier longitud con el siguiente formato: “/ / [delimitador] \ n”, por ejemplo: “//*** \ n1 *** 2 *** 3 “debe devolver 6
  8. Se pueden permitir  delimitadores múltiples de esta manera: “/ / [delim1] [delim2] \ n”, por ejemplo “//[*][%] \ n1 * 2% 3 “debe devolver 6.
  9. Se pueden tratar delimitadores múltiples con una longitud superior a un char.

RESUMEN

El sábado 29 de Mayo de 2010, 7 valientes acudimos a realizar la I Kata del grupo Agile-CyL practicando TDD y Pair Programming ( en algún caso se practicaron trios, pero esa es otra historia), donde pudimos ejercitar nuestras habilidades (skills).
En las refactorizaciones y en los descansos de los Pomodoros se discutió sobre el diseño que emergía a través del TDD y Edu nos abrió los ojos hacia el destino de la Kata: refactorizar y hacer test sobre los diferentes SUT( Subject Under Test) que aparecían ante nuestros ojos: la calculadora y el separador de números  (Calculator y Splitter, respectivamente).
Y de prueba unas fotos que atestiguan lo bien que lo pasamos. De las cañas no hya pruebas gráficas pero las gambas estaban muy buenas: foto 1 y foto 2

REUNION 25/05/2010

LUGAR DE ENCUENTRO

Ciudad: Valladolid

Hora: Desde 19:30 a 21:00
Punto de encuentro: Cafetería Púrpura (en la parte de arriba)

Ver mapa

  • C/ Las Mercedes, 7 (en el portal) 47006 Valladolid

OBJETIVOS

  • Conocer Extreme Programming.
  • Técnicas de trabajo en XP.
  • Actualizar la lista de temas a tratar.

REFERENCIAS

Extreme Programming: A Gentle Introduction.

Extreme Programming explained de Kent Beck

Extreme Programming en la Wikipedia

Texto en español sobre XP

AGENDA

  1. Presentaciones individuales
  2. Presentación de XP (promovido por Edu Ferrández)
  3. Retrospectiva de la reunión.
  4. Actualización de Backlog de temas para los encuentros
ASISTENTES
  1. Jorge Jiménez Pérez
  2. Isidro Merayo Castellano
  3. José Luis Balmaseda Franco
  4. Amalia Hernández García
  5. Javier Acero Guerra
  6. Eduardo Ferrández
  7. Pencho Herrero
  8. Alberto Sáenz
  9. Alvaro García Loaisa
  10. Julio César Arenas
  11. Olivier Salmon

RESUMEN

Edu nos dio las primeras pistas sobre lo que es XP, eXtreme Programming.

Valores de XP:

·         Comunicación

·         Simplicidad

·         FeedBack

·         Coraje (Hard Work)

Practicas para llevar a cabo  XP:

·         Planificación:  user-stories que desembocan en tareas

·         Versiones pequeñas

·         Sistema metafórico:  nombrando código

·         Diseño simple

·         Testeo continuo

·         Refactoring

·         Pair Programming: dos personas sobre el mismo ordenador, creando código para otros. Es una técnica apropiada para equipos maduros, donde la persona que no teclea conserva una visión global del problema y puede aleccionar al otro. Recodar que Peer Programming no es lo mismo. Álvaro comento que él suele juntar a parejas de distintos ámbitos como Informática y Telecomunicaciones. Y estas parejas le dan buen resultado cuando el informático escribe el código y el teleco es el que tiene la capacidad para afrontar la visión del problema.  Olivier comentó el tema productividad a corto plazo frente a productividad a largo plazo. Pair Programming permite aumentar la concentración.

¿Cuándo realizar el cambio de parejas? Depende de la tarea que se esté realizando.

Pair Programming es una buena técnica para enseñar aprendizaje a alguien nuevo, acerca de la forma de trabajo

Pair Programming es ideal aplicarlo sobre nuevos procesos, sobre tareas complejas.

·         TDD:  Desarrollo Dirigido por Pruebas. Diseñas el código por prueba, partiendo de algo sencillo y con el mínimo código, recordad que los programadores tendemos a escribir mas código del necesario. Ventajas: una mayor fiabilidad. TDD no es aplicable en todos los proyectos.

·         Propiedad Colectiva del código

·         Integración Continua

·         Semanas de 40 horas de trabajo

·         Cliente/Usuario cercano

·         Estándares de Codificación

REUNION 13/04/2010

LUGAR DE ENCUENTRO

Ciudad: Valladolid

Hora: Desde 19:30 a 21:00
Punto de encuentro: Cafetería Púrpura (en la parte de arriba)

Ver mapa

  • C/ Las Mercedes, 7 (en el portal) 47006 Valladolid

OBJETIVOS

  • Conocer KANBAN y sus diferencias con SCRUM.
  • Debate sobre su incorporación a nuestro trabajo actual.
  • Actualizar la lista de temas a tratar.

REFERENCIAS

Traducción de “Kanban vs Scrum” de Henrik Kniberg.

Vídeo y Presentación de la charla de Agustín Yagüe en el grupo local de Madrid

Presentación utilizada en el Encuentro

AGENDA

  1. Presentaciones individuales
  2. Presentación de Kanban  (promovido por Jorge Jiménez)
  3. Retrospectiva de la reunión.
  4. Actualización de Backlog de temas para los encuentros

ASISTENTES

  1. Jorge Jiménez Pérez
  2. Amalia Hernández García
  3. Jezabel González Diez
  4. Alfonso Bernal
  5. Isidro Merayo
  6. Pencho Herrero
  7. Francisco Pascual
  8. Javier Acero
  9. Olivier Salmon
  10. Alvaro García

RESUMEN

Nueva reunión del grupo de Agile-CyL para tratar la metodología ágil Kanban, exponente claro de los principios Lean y que fue presentada por Jorge Jiménez.
Se abrió debate sobre la metodología desde los primeros momentos de la exposición, con lo cual fue bastante interactiva la presentación exponiendo cada uno de los presentes las dificultades y ventajas que le veían a esta metodologÌa.

Dudas que surgieron y diferentes respuestas aportadas por los asistentes fueron:

¿Quién marca la velocidad? Siempre va a estar definida por la fase más lenta del workflow, compartido por todo el equipo. Por esto influye en el tiempo de entrega de las tareas.

¿Kanban es ajustable a nivel de tarea? No piensan en tipo de desarrollo, cascada o agil, piensas en un desarrollo constante. Olivier recalcó que lo importante es el flujo del proyecto.

Jeza le ve un peligro cuando se dice que no es tan prescriptivo como Scrum en cuento a los equipos multifuncionales, permitiendo equipos especializados ya que cuando sólo participas en una parte del proceso, no es como scrum en que tienes una visión completa del proyecto. Es como un operario en una cadena de montaje en que sólo vas a hacer una tarea sin aprender de las demás y del resto del equipo.

Pencho- que tiene más experiencia en sectores muy diversos aportó su visión en contraposición del símbolo de la melé en Scrum, indicando que  Kanban es como una melé abierta, en cualquier momento se pueden incorporar recursos al sistema para darle valor y mejorar el flujo según las necesidades del proyecto. Es más flexible a modificaciones del equipo.

En soporte o mantenimiento de software la aplicación de Kanban es donde todo el mundo estaba más de acuerdo en que lo veía más ajustado. En este caso, Pencho explicó el caso de Indal como proceso industrial, en que usaban gráficas similares a las de Kanban (Cummulative Flow Chart) para en la incorporación de nuevos trabajadores meterlos en la “curva de trabajo”, es decir, en coger el ritmo para la entrega de producto en los tiempos de ciclo definidos por el proceso.

Entregas en cualquier momento:
- Positivo: en tener actualizaciones en cualquier momento, el tratamiento de parches sobre el producto de manera instantánea.
- Kanban se ve poco factible en producción pero sí en mantenimiento de producto.
- Olivier (con su gorra de cliente): si el proveedor da información de sus necesidades futuras, facilita la comunicación para estar preparado ante nuevas peticiones u órdenes de trabajo, tareas…

Estimaciones:
- Se usa una velocidad que puede no ser real, ya que el cycle time es valor en términos de media.
- Hay flujo de dinero y de trabajo a la par, aunque no haya estimaciones se puede pagar por lo que se entrega.
- Mentalidad española: no dejar que la gente utilice todo el tiempo  estimado que tiene para ese desarrollo, hay que seguir el flujo y no provocar parones.
- Puede funcionar bien con perfiles comerciales sin objetivos a conseguir, sino que cuanto más hagas mejores recompensas tendrás, pero no marcas mínimos (ejemplo aportado por Pencho acerca del Banco Popular en los años 80 y primeros 90).
- Malo por no tener tareas homogéneas que su resolución y el tiempo de finalización o de avance en el flujo sea muy diferente entre ellas.

Scrum / Kanban

Sugió el clásico problema del tratamiento de las incidencias. Una incidencia no da valor al cliente, es un error del equipo que no debe ser asumido por el cliente.
En Scrum, Olivier comenta la posibilidad de meter un 7% del tiempo para incidencias en el Sprint, es un colchón previo antes de que aparezcan. Jorge opina que es engañar al cliente, aunque se pueda compensar entre Sprints, pero le cobras por anticipado un tiempo dedicado por tus errores. Javi trata las incidencias desde el principio, dentro de los Story Points del Sprint y asumen que las incidencias se tratan ahí, es el equipo quien se las “come”.

Fran comentó que Kanban es teoria de colas y de procesos, sin iteraciones, sin backlog y es como el Scrum llevado al limite. Para él, al fin y al cabo, al usarlo para temas de incidencias es como reflejar en un tablero cualqueir herramienta de gestion de incidencias, como Mantis o Bugtrack.

Alvaro dijo que hay una variante que consiste en mezclar Kanban y Scrum, con lo que se denomina Scrumban en proyectos sobre todo muy grandes, con varios cajas departamentales y varios tableros kanban.

Pencho aboga por el uso de Kanban utilizado como metodología de trabajo para saber cómo se ha trabajado midiendo eficiencia no eficacia aunque no es necesario utilizar Kanban para realizar esas medidads.

Comentando las diferencias entre kanban y scrum, Jezabel definía kanban para trabajos repetitivos con tiempos muy definidos, y scrum es más parecido a una consultoría artesana. Su frase que puede definir el tema de la reunión fue:
Kanban es más una forma de trabajo de consultoría industrial mientras que Scrum es un proceso mucho más artesanal.

REUNION 23/02/2010

LUGAR DE ENCUENTRO

Ciudad: Valladolid

Hora: Desde 19:30 a 21:00
Punto de encuentro: Cafetería Zeus

Ver mapa

  • C/ Estadio, 2 (esquina c/ Las Mercedes) 47006 Valladolid

OBJETIVOS

  • Conocer cómo aplicar SCRUM y los problemas diarios de su empleo.
  • Compartir experiencias propias y trucos para salir adelante.
  • Actualizar la lista de temas a tratar.

REQUISITOS

Ninguno, ganas de conocer cómo es el trabajo diario y los problemas de usar metodologías ágiles, concretamente el marco de trabajo SCRUM.

AGENDA

  1. Presentaciones individuales
  2. Debate “Dificultades del día a día en la aplicación de Scrum” (promovida por Jezabel González)
  3. Retrospectiva de la reunión.

ASISTENTES

  1. Jorge Jiménez Pérez
  2. Amalia Hernández García
  3. Jezabel González
  4. Isidro Merayo Castellano
  5. Eduardo Ferrández
  6. Olivier Salmon
  7. Susana Mielgo
  8. Susana
  9. Ignacio Cruzado (1ª vez)
  10. Jose Antonio Da Rocha (1ª vez)

RESUMEN

Como es habitual la reunión comenzó con la presentación de cada uno y su relación con las metodologías ágiles. En esta ocasión contamos con tres nuevos componentes del grupo que acudían por primera vez a nuestros encuentros ágiles.
Empezamos la charla preguntando por problemas que tenemos o casos que nos hemos encontrado y tratando esos temas para ver cómo entre todos llegábamos a algún tipo de conclusión.
Rol del Cliente - Product Owner

Nos encontramos con este caso en la mayoría de las situaciones, una de las herencias de tantos años de waterfallismo. El cliente no quiere conocer nada de metodologías ágiles y sólo espera tener el proyecto en las fechas concretadas en el contrato.
En este caso no contamos con un product owner proporcionado por la empresa cliente, de manera que en la mayoría de los casos en las metodologías ágiles este rol lo asume una persona de la empresa que desarrolla el proyecto. Normalmente el papel lo toma el jefe de proyecto que es el mas cercano al cliente y el que debe saber las necesidades del mismo para darle soluciones y ponerse en su papel. En caso de dudas siempre estará cercano al cliente para completar la información que le falte. Otra persona que puede asumir este rol es el consultor por el conocimiento que tiene del negocio para el que se desarrolla el producto.
Al final seguimos escondiendo la metodología ágil ante clientes con los que no tenemos confianza o seguridad para ser claros. Es algo que con el tiempo se debe superar, quizás explicando claramente las ventajas que para el cliente puede tener el desarrollar proyectos con estas metodologías, con un mayor conocimiento del trabajo desarrollado en ciclos más continuos y cortos.
Siempre se puede traer al cliente a estas metodologías sin necesidad de darles un nombre, porque al final nadie se opondrá en ver en qué invierte su dinero, o en aclarar cualquier duda en las reuniones de seguimiento de proyecto. Esto escuchado por un cliente “prefiero saber lo que se hace día a día o semana a semana que no esperar 3 meses y ver lo que se me entrega, teniendo la fecha de cierre de proyecto más cercana y sin tiempo de rectificación”.
Si el cliente está al alcance del equipo, involucrarle en los artefactos de scrum, tanto spring meeting como en la demo al final del sprint.
Es fundamental la comunicación entre product owner y equipo.
La priorización de tareas es fundamental que sea realizada por el cliente y no sustituido por otra persona. Hacerlo mal podría equivocar las prioridades del cliente y dar un resultado poco interesante para el cliente final cuando ejecute la demo del producto. Hay que aportar valor en cada iteración según las necesidades del cliente: dar más valor en las primeras iteraciones para aumentar el ROI del cliente.
Una persona desplazada en cliente puede asumir el rol de producto owner al tener conocimiento de lo que se necesita, sería una solución a la falta de involucración del cliente.
Hay una opinión generalizada de que no se pude tener al cliente de manera continua en contacto con el cliente o en todas las demos. Hoy en día hay solución para este problema, utilizando herramientas remotas como Skype o videoconferencia.
Estimaciones

Para realizar las estimaciones hubo un criterio casi general: estimar sólo por tareas extraídas de las historias de usuario, eso marca cuántas historias pueden meterse en el sprint. No hacerlo desde el punto de vista de estimación las historias del product backlog y una vez que se sepan las historias que entran en el sprint estimar sus tareas. Según se dijo era más fácil y a largo plazo se estima mejor que a corto plazo.
¿Qué hacer ante proyectos a precio cerrado? En este caso es complicado hacer estimaciones ya que siempre hay que terminar en un tiempo fijo para compensar los costes del proyecto. Puede que la estimación real te lleve a más tiempo que la estimación ideal realizada en preventa. Hay que intentar huir de ese tipo de proyectos
Existe un problema en las metodologías ágiles, donde parece que se está trabajando por complacer al cliente y esto puede provocar que haya clientes que se tomen “barra libre”. Hay que fijar claramente al inicio del proyecto su alcance, y para ello será necesario un documento donde estén reflejados los requerimientos del sistema pedido por el cliente.
Incidencias en un Sprint

Se aclara que Scrum no se ajusta a trabajar en mantenimiento de productos, al aparecer tareas nuevas a lo largo del sprint que hay que solventar en cuanto aparecen.
Estas tareas-incidencias son asumidas por el equipo y dependiendo de la importancia de la incidencia se ataca inmediatamente o se postpone para el sprint siguiente.
Siempre se deja un colchón al final del sprint por si no se llega para poder tener tiempo y solucionar este tipo de tareas emergentes.
Sprint Meeting
Las estimaciones se realizan mediante planning poker, siguiendo la serie de Fibonacci, pero siempre hay un vicio en estimar lo que uno terminaría, no lo que cualquiera del equipo podría tardar.
Si no hay claridad en la definición de la historia las estimaciones sufrirán.
Si dura mucho el sprint meeting y se sale del timeboxing fijado es un coste muy elevado para el proyecto. No discutir soluciones técnicas.
Daily Meeting

Se habló de la dificultad de trabajar en Scrum con equipos distribuidos pero los casos reales que se explicaron reflejan que no hay impedimentos la usar herramientas como IM o Skype para las reuniones de equipos, manteniendo una reunión dentro del sprint con presencia física de todos los componentes del proyecto
Conflictos personales

¿Qué pasa cuando el cliente pide sacar a alguien del equipo o desde la propia empresa se saca a gente del proyecto?
Es un problema que hay que resolver intentando mantener en lo posible al equipo mediante intento de negociación. Si hace tiempo hubo un problema con alguien hay que dar la oportunidad nuevamente por si ha cambiado y puede ser ahora importante para la resolución del proyecto.
Lo normal es lo contrario, es pedir que alguien en concreto se incorpore al equipo por el conocimiento y experiencia que puede aportar.
Hay que luchar con las gerencias para el mantenimiento de los equipos y que no se modifique su composición durante un proyecto o por lo menos durante un sprint, aunque el movimiento de personas en nuestro sector es muy común y es complicado hacer equipos estables.
La charla derivó a discusiones sobre técnicas de integración contínua, ramas, tags y desarrollo por features o por desarrollador que quedan fuera de este encuentro.

REUNION 21/01/2010

LUGAR DE ENCUENTRO

Ciudad: Valladolid

Hora: Desde 19:30 a 21:00
Punto de encuentro: El Doctorado  (En Google Maps) (Posibilidad de WI-FI)

  • Avenida Ramón y Cajal, 14 47005 Valladolid

OBJETIVOS

  • Conocer los diferenes perfiles que nos podemos encontrar en un equipo de desarrollo software ( o no) y como afrontar cada tipo para sacar la mayor productividad en un entorno ágil.
  • Compartir experiencias propias y trucos para salir adelante.
  • Actualizar la lista de temas a tratar.

REQUISITOS

Ninguno, la experiencia propia de haber trabajado en equipo.

AGENDA

  1. Presentaciones individuales
  2. Charla “El francotirador, el líder, el vago…y otros chicos del montón” (Jorge Jiménez)
  3. Debate sobre las experiencias propias
  4. Retrospectiva de la reunión.

ASISTENTES

  1. Jorge Jiménez Pérez
  2. Amalia Hernández García
  3. Isidro Merayo
  4. Francisco Pascual
  5. Alberto Sáenz Heras
  6. Alfonso Bernal (a partir de las 20 , como siempre …)
  7. Jezabel González
  8. Susana Mielgo
  9. Pencho Herrero
  10. Olivier Salmon
  11. Julio César Arenas
  12. Raúl Polanco

RESUMEN

Comenzamos la reunión con una breve presentación por parte de los asistentes.

Posteriormente se elaboró la charla en base a una presentación sobre los perfiles de componentes de un equipo.

Tratamiento de diferentes  perfiles en un equipo software mejorando su productividad desde posturas agiles:


En la charla-debate se habló de cada uno de estos perfiles y entre todos expusimos nuestras opiniones sobre ellos y posteriormente hablamos de cómo englobarlos dentro de las metodologías ágiles y como  intentar “recuperar” aquellos perfiles que pueden ofrecer más resistencia a cambiar.

·         Francotirador: no interesa tener una confrontación con él sino más bien preguntarle directamente si tiene algún problema y cual es o con quién es (por si es personal). Luego a partir de ahí si merece la pena como profesional darle responsabilidad en otro proyecto que no dependa de ti personalmente.

·         Gruñón: no recuperable, alguien que está enfadado con el mundo, quemado, es mejor invitarle y decirle donde está la puerta.

·         Líder “Clásico”: si sólo va a utilizar metodologías clásicas, ni se le pasa por la cabeza cambiar a otro modo de trabajo. Si el equipo está unido y dispuesto se podría plantear un “Agilismo de Guerrilla” ya que es difícil llevar a este líder a tu terreno de agilidad.

·         Líder  “Cheerleader”: puede ser “animador” e impulsador en la aplicación del agilismo pero hay que reconocer que tiene una falta de compromiso a la hora de pedirle responsabilidades y que ejerza papeles de product owner (por ejemplo).

·         Líder: es necesario diferenciar entre el líder que es gestor de proyecto y el que trabaja con funciones de arquitecto software. Es una persona que te permite aprender y mejorar, pero hay que intentar evitar caer en la micro gestión, no es bueno bajarlo todo a nivel de sprint.

·         Vago: se distinguen dos tipos de vago pero recuperables

o   Pacifista: no quiero problemas pero si me metes presión respondo.

o   Vago en sí: no hago nada.

Lo importante es darle tareas más pequeñas, trabajo en parejas (Pair Programming),  llevártelo a tu terreno y hacerle seguimiento en corto. Recordar que si no respondes al equipo no respondes a nadie (al jefe al cliente)

·         Cowboy: es necesario identificarlo pronto si no quieres llegar a tener una dependencia total de él y si se va tener problemas. Solución: ponerle objetivos en función del rendimiento del equipo no de lo que realice el, que reparta tareas. Darle responsabilidad.

·         Pesimista: recuperable totalmente. Suele necesitar estimaciones a corto plazo, el largo plazo le agobia, importa además las formas de decirle las cosas, y saber valorar el trabajo que hace (palmadita en el hombro)

·         Rey de la Pista: no recuperable, o puede que su carrera profesional deba orientarse hacia la parte comercial.

·         Soldado: está bien tenerlo, no todos son estrellas, pero ¿a medio y largo plazo que haces con ellos?? Es necesario exigirles más.

Conclusiones


Todos los perfiles son recuperables para el uso de Scrum, excepto el Rey de la Pista, el Gruñón y el Líder “Clásico”.

Aquí tenemos un mapa creado por Jezabel donde se refleja lo hablado:

Jezabel propuso un tema para la siguiente reunión: “Dificultades del día a día en la aplicación de Scrum”, tratado como una lluvia de ideas por parte de cada uno en su acercamiento a Scrum.

Retrospectiva


Negativos:

  • Buscar un sitio más tranquilo para las reuniones
  • Posible cambio de día de la semana a lunes o martes.
  • Realizar una mejor organización del tiempo en la charla.

Positivos:

  • Número de personas que estuvimos en la reunión
  • Contar con un equipo motivado y desde diferentes puestos profesionales en el ámbito de desarrollo software

REUNION 17/12/2009

LUGAR DE ENCUENTRO

Ciudad: Valladolid

Hora: Desde 19:30 a 21:00
Punto de encuentro: El Doctorado  (En Google Maps) (Posibilidad de WI-FI)

  • Avenida Ramón y Cajal, 14 47005 Valladolid

OBJETIVOS

  • Conocer una técnica de gestión del tiempo: Pomodoro
  • Compartir experiencias propias en su uso y problemas/soluciones que aporta.
  • Actualizar la lista de temas a tratar.

REQUISITOS

Ninguno. Quien quiera puede recoger información de http://www.pomodorotechnique.com/resources.html

AGENDA

  1. Presentaciones individuales
  2. Exposición sobre la técnica Pomodoro de gestión de tiempo (Amalia Hernández)
  3. Próximos Encuentros
  4. Retrospectiva de la reunión.
El punto dos puede cambiarse hasta el día 10 de Diciembre si alguien quiere exponer o tratar otro tema. Solo tiene que proponerlo en la lista y se vota ;-) . Había otros temas propuestos para tratar en un futuro:
  • XP
  • TDD
  • Integración Continua
  • Scrum
  • Técnica Pomodoro
  • GTD
  • Kanban
  • Manifiesto Agil
  • ASISTENTES

    1. Jorge Jiménez Pérez
    2. Amalia Hernández García
    3. Angel Agueda (sólo si alguién va y vuelve desde Madrid y me acepta como acompañante y compartimos gastos)
    4. Isidro Merayo (espero que no surja ningún tema laboral…)
    5. Alfonso Bernal (llegare sobre las 20 aprox …)
    6. Jezabel
    7. Susana
    8. Iván Cáceres
    9. Pencho

    RESUMEN

    Todo un éxito este encuentro, tanto por asistencia como por primer encuentro en que tratamos un tema interesante y que habría un debate posterior muy enriquecedor.
    El tema presentado de manera muy didáctica y efectista por Amalia fue la técnica Pomodoro para la gestión óptima del tiempo de trabajo.
    Se presentó con un reloj de cocina con forma de tomate rojo y comenzó a explicar la técnica dando cuerda al reloj durante 25 minutos, en lo que duró su exposición. Además nos repartió a todos un resumen de la ténica así como las dos listas a tener en cuenta durante la ejecución de la técnica:

    • Lista de Inventario de Actividad
    • Lista de tareas a realizar en el día (To Do Today)

    La verdad es que la explicación de la técnica es muy sencilla, parte de la visión de que el tiempo es nuestro gran enemigo cuando acometemos una tarea y la aproximación la podemos hacer desde dos puntos diferentes, primero como una serie de tareas que se realizan en el tiempo o como un eje
    temporal en que vamos ejecutando tareas. la verdad es que dicho así parece lo mismo, pero no lo es y así nos lo explicó.

    Hay que ver el tiempo de una manera diferente, como el marco dentro del cual queremos ser más productivos ejecutando tareas (muy en consonancia con el concepto de timeboxing de las metodologías ágiles). Hay que hacer un uso eficiente del tiempo y de una manera continua.

    Aunque nos explicó que la duración del pomodoro (timeboxing para la ejejcución de una tarea) es de 25 minutos, tuvimos un debate abierto sobre si ese tiempo es el correcto o depende de cada persona, llegando a la conclusión que se podría aumentar, pero siempre sin pasar de 45 minutos ya que la mente humana no sería capaz de concentrarse al 100% más allá de ese tiempo.

    Otro aspecto a destacar fueron los descansos, el marcar descansos de 5 minutos tras cada pomodoro y de 15-20 minutos tras un set de 4 pomodoros. Y haciendo el descanso de verdad, es decir, dejando de lado el trabajo, las tareas que se estén ejecutando y todo lo relacionado con ellas. Puede ser algo complicado en un entorno laboral en que los compañeros requieran tu atención, aunque siempre está la excusa de hablar del futbol o de una peli que hayamos visto.

    Se nos explicó las diferentes interrupciones que podemos sufrir a lo largo de un pomodoro, clasificadas en internas y externas. Las peligrosas son las internas, ya que son las que tú produces y te quitas concentración tu mismo. Esto es lo que hay que evitar.

    Un aspecto que sugió ante trabajos como el de Jezabel o el de Pencho es la dificultad de definir qué es una tarea, si deben estar continuamente atendiendo llamadas de teléfono, contestar emails, preparar documentación para clientes, etc… La respuesta de Amalia es que siempre pueden agrupar esas tareas que tengan planificadas a primera hora y realizarlas en un pomodoro, dos o los que necesiten. Luego saldrán tareas emergentes que tendran que planificar igualmente en la lista de To Do Today.

    Al finalizar la charla salió el tema de GTD (Getting Things Done) donde Jezabel y Pencho nos hablaron de su experiencia en esa técnica para no olvidar tareas, o más bien, apuntarlas para poder recuperarlas más adelante cuando tengan tiempo para ejecutarlas. El problema mayor: se crea una lista enorme de cosas que querrías hacer más adelante y al final no haces nada.

    Conclusión de la charla: es necesario un entrenamiento personal, esta técnica es buena para personas con necesita cierta disciplina. Todos estábamos de acuerdo en que se mejora la productividad personal usando una técnica en que aprovechas mucho mejor intervalos fijos de tiempo para realizar tareas que tienes planificadas previamente.

    Posteriormente se habló ligeramente de las estimaciones a la hora de preparar un presupuesto para un concurso, y de lo irreal que puede ser hacerlas sin tener una experiencia previa en ese tipo de proyectos.

    Jezabel nos explicó el significado de la iniciativa Iniciador, que en Valladolid está comenzando a tener mcho eco, y nos invitó a las reuninoes que celebran los segundos martes de cada mes, indicando que ya tienen preparados los ponentes para los próximos meses, eso sí es profesionalismo ;-)

    Por último establecimos una serie de propuestas de charlas para las siguientes charlas.

    REUNION 29/11/2009

    LUGAR DE ENCUENTRO

    Ciudad: Valladolid

    Hora: Desde 19:00 a 20:30
    Punto de encuentro: El Doctorado  (En Google Maps) (Posibilidad de WI-FI)

    • Avenida Ramón y Cajal, 14 47005 Valladolid

    OBJETIVOS

    • Conocernos en persona
    • Compartir nuestras inquietudes, experiencias y aprender más sobre desarrollo ágil,
    • Tratar aquel tema que más interés despierte entre los que hayamos asistido.

    REQUISITOS

    Ninguno. Primera toma de contacto entre los que quieran asistir y ver cómo enfocar el propósito del grupo y futuras acciones.

    AGENDA

    1. Presentaciones individuales (20′)
    2. Agile-Spain (10′)
    3. Agile Open Spain (15′)
    4. Objetivos de Agile-CyL (20′)
    5. Próximos Encuentros (20′)
    6. Retrospectiva de la reunión. (10′)

    ASISTENTES

    1. Jorge Jiménez Pérez
    2. Amalia Hernández García
    3. Isidro Merayo Castellano
    4. Iván Cáceres Pascual
    5. Seila Gamo
    6. Alfonso Bernal

    RESUMEN

    La reunión comenzó con algunas ausencias, pero satisfechos de saber que hay gente que en próximas reuniones acudirán si pueden o por lo menos que han mostrado su interés.
    Comenzamos con la presentación de cada uno, indicando su nombre, su relación con las metodologías ágiles y lo que esperaban de la reunión. Con esta pesentación vimos que inicialmente todos eramos personas con ganas de aprender y aplicar las metodologías en cuanto tuviéramos ocasión para ello.
    La reunión continuó explicando un poco el sentido de las metodologías ágiles y el contexto a nivel nacional en que nos encontramos, referenciando el portal de Agile Spain, así como la reciente creación de diversos grupos locales. La verdad es que se notó nuestra falta de experiencia porque todo se fué volviendo a contar casos personales o nuestra situación actual frente a estas metodologías…y siendo la primera toma de contacto el tema del timeboxing se nos fue de las manos.

    A continuación Amalia y Jorge hablaron un poco de la experiencia del Agile Open Spain al que acudieron con cierto interés y dudas sobre lo que se iba a tratar pero que fue una experiencia bastante positiva y con ganas de repetir por su parte ;-)

    Despues de exponer el motivo de creación del grupo y compartir las ideas de los asistentes se comenzaron a decir los temas de futuras charlas, para ir creando una lista de inquietudes del grupo. Los temas son:

    1. XP
    2. TDD
    3. Integracion Continua
    4. Scrum
    5. Pomodoro
    6. GTD
    7. Kanban
    8. Manifiesto Agil

    Se marca la fecha de la proxima reunion para el martes 15 de Diciembre, antes de las Navidades.
    Y por ultimo no podia faltar la retrospectiva de nuestra primera reunion.

    Entre las cosas a mejorar la gestión del tiempo, y el seguir el guión sin entrar en desviaciones dialécticas que no conducen a nada (o sí).

    Entre lo positivo de la reunión, la respuesta de la gente, tanto de los asistentes como de los que por motivos laborales, personales o de salud no pudieron acudir en el último momento. Fue la sensación de sentir que “no estamos solos” en esta región.

    Y gustó el tener un guión preparado con el tema de la reunión, aunque no se siguiera al pie de la letra y no se guardaran los tiempos predefinidos.
    En conclusión, para ser la primera reunión muchos aspectos positivos y muchas ganas de poner la maquinaria en marcha.