miércoles, 4 de diciembre de 2013

20 días para navidad

La historia se repite todos los años. La navidad que no se mueve del 24 y el SAT que saca reformas fiscales en diciembre para iniciar con el año. Dichas reformas significan trabajo, lo cual es bueno. Sin embargo, la presión por lidiar con las constantes de tiempo y complejidad del requerimiento se vuelve más crítica esta temporada. Las leyes y el time-to-market nos imponen un dead-line crítico. No cumplirlo significa quedarle mal a nuestros clientes y estar fuera del negocio. Y como buena empresa queretana, el 70% de las personas venimos de otra parte del país y queremos ver a nuestra familia en las fiestas. El objetivo es comenzar el año con los cambios de ley en productivos.

¿Cómo manejar la presión sin que esto signifique quedarle mal a nuestros clientes o a nuestra familia? Sin duda necesitamos mucha creatividad y concentración. Trabajo en equipo y habilidades técnicas. Esta es la historia de cada uno de esos días.

miércoles, 4 de diciembre.

Con el requerimiento un 80% definido y las tareas pegadas en el taskboard comenzamos el desarrollo de 3 de nuestros productos. Las tareas de más riesgo tienen un separador de hojas y decidimos reorganizar otra vez el desarrollo: comenzamos por el corazón del producto y sin aún decidir cómo lo alimentaremos. Para ayudar a decidir la forma de alimentación, nuestro gerente entra a programar. Si para el lunes medio-termina un front end, seguimos por ahí. Aún falta decidir cómo haremos el swich de año-funcionalidad y coordinarnos con otras áreas para encender el auto y garantizar que arranque a la primera.

jueves, 5 de diciembre

Un integrante del equipo encuentra que hay incongruencias en la definición del requerimiento, justo en el corazón del mismo. Se toma una decisión al respecto aunque el cliente no haya contestado. Esto debido a que necesitamos comenzar a probar la integración con terceros. Se establece la fecha del lunes para entregar los componentes necesarios para integrar.

viernes, 6 de diciembre

Este día sólo se trabaja hasta las 2:00 ya que por la tarde es la fiesta de fin de año que casi siempre termina en after hasta el día siguiente. Nuestros compañeros del DF llegan a medio día y los pasillos se vuelven un jolgorio. 

Sábado, 7 de diciembre y domingo, 8 de diciembre

No se trabaja y no se trabajó.

Lunes, 9 de diciembre

Los taskboards se empezaron a llenar de postits en la columna DONE. Uno de los equipos había prometido tener el corazón del desarrollo listo para pruebas de integración con terceros a las 2PM. El mail con los cambios a los ambientes de pruebas se mandaron a la 1:30. Los malabares por tener un requierimiento medio definido, un sistema pre-liberado y 3 productos relacionados comienzan.

Martes, 10 de diciembre

Nuestro gerente hizo un gran avance en el front-end y decidimos tomar esta alternativa con el objetivo de lograr el time to market. El equipo se siente un poco frustrado por el cambio de importación a front end. La realidad es que somos más hábiles en backend y la presión aumenta. Se comienza un prototipo de los reportes. Se integran 2 compañeros más a uno de los equipos. 

Miércoles, 11 de diciembre

Se planea la integración front-end / back-end para el viernes, para uno de los componentes. Los Product Owners no están muy felices con el front-end y nos informan que quieren revisarlo y ver cuánto más nos tardamos añadiendo algunos cambios.

Jueves, 12 de diciembre

Llegan nuevos cambios de ley que aclaran el requerimiento y lo hacen más complicado. Rediseñamos una vez más el prototipo -en papel-, buscando que el front-end sea más usable. Al final del día vemos humo blanco.

Viernes, 13 de diciembre

Al presentar el prototipo al equipo de desarrollo nos proponen una manera diferente de hacerlo. Así también se ve la viabilidad de persistir más información de la requerida para posteriores requerimientos. No se logra la integración front/back-end, pero se acepta el cambio presentado por el equipo.

Sábado 14 y domingo 15

No se trabaja y no se trabajó.

Lunes 16 de diciembre

Uno de los dos equipos se organiza y vuelven a planear en el taskboard. Dan como fecha de finalización el viernes 20. Me siento orgullosa que lo hayan hecho por iniciativa propia. Me doy cuenta que las tareas no están dadas de alta en el sistema de seguimiento, sin embargo, ese equipo está motivado y organizado. Decido no intervenir con absurdo micromanagement. El otro equipo decide que la aplazada integración será mañana y se vuelven a asignar tareas de acuerdo al nuevo prototipo. 

Martes, 17 de diciembre

El Gerente de Producto manda la primera versión de pruebas para integración con terceros de uno de los productos. Se sigue adelante con el nuevo prototipo y se pone de fecha límite el viernes 20 para el lunes comenzar las pruebas de regresión.

Jueves, 19 de diciembre

Tenemos juntas diarias por la tarde para revisar cómo vamos. La siguiente semana comienzan a irse de vacaciones y hay que asegurarse que no queden desarrollos a la mitad o que se tome mucho tiempo retomar. Comienzo a enfermarme de ese virus que contagió a toda la oficina.

Viernes, 20 de diciembre

Hoy toca horario corrido y mudanza. Acondiciono 2 salas de juntas para irnos a trabajar después de las 3 de la tarde. La presión se incrementa para uno de los equipos ya se está a punto de terminar el front-end en base al nuevo prototipo, sin embargo no se ha probado todo junto. Para las 6 de la tarde se logra la funcionalidad base.

Sábado 21 y domingo 22

No se trabaja y no se trabajó.

Lunes 23 de diciembre

Sin 3 de nuestros compañeros, continúa el desarrollo. Al final del día una versión prácticamente completa se vuelve a mandar para pruebas de integración con terceros. Comienzo con las pruebas y reporto los bugs por email. Decidimos no comenzar a resolverlos hasta terminar las tareas, lo cual ocurrirá probablemente mañana. Sólo 2 bugs fueron críticos y se resolvieron para continuar con la regresión.

Martes, 24 de diciembre

Las pruebas continúan y encuentro algunos otros bugs que mando por email. Redacto un mail del status al gerente ya que estos dos días estuvo de vacaciones y regresa el jueves. Yo tomé jueves y viernes de vacaciones. Sólo trabajamos medio día.

Miércoles, 25 de diciembre

Día festivo, nadie trabajó

Jueves 26 y viernes 27 de diciembre

Yo estuve de vacaciones, pero el lunes me enteré que todos los pendientes se terminaron (incluso algunos requerimientos de otras áreas) y estábamos listos para entregar el lunes 30.

Sábado 28 y domingo 29

No se trabaja y no se trabajó.

Lunes 30 de diciembre

Hago algunas pruebas con las resoluciones de monitor más usadas por nuestros clientes y se hace el demo con Product Owners y Stakeholders. Nos felicitan por el desarrollo y se plantean otras mejoras. Algunos detalles de la demo se atenderán durante la tarde. Nos comprometemos a entregarlo mañana para pruebas en preproducción. Creo que éste fue la primera ocasión que trabajamos más allá de la hora de salida, hasta las 9pm.

Martes 31 de diciembre

Se hacen las entregas finales y hacemos smoke test en preproducción. Ya es decisión de otras áreas el paso a productivo.

Conclusión

Estoy planeando para el lunes la retrospectiva, cuando todos los vacacionistas se reintegren al equipo. Son ellos más que yo, quienes tendrán una evaluación más certera de todos estos días. Por lo pronto, lo que se ve huele bien: clientes satisfechos, entrega a tiempo y pocas horas extra sin sacrificio de vacaciones. Sin duda, estoy orgullosa de los avances que hemos hecho en cuanto a la adaptación al cambio.

We rock!

miércoles, 24 de abril de 2013

Hace un par de años el departamento de desarrollo en el que trabajo tenía una fuerte estructura vertical. Aunque el ambiente era relajado, era muy claro que el líder del producto era responsable del buen funcionamiento, productividad y problemas del equipo. Los límites gerente - líder - programador estaban bien delimitadas por lo que decisiones y culpas caían directamente en los primeros dos. Hace un año, los líderes decidieron partir. Reorganizamos el área y como gerente quedé a cargo de dos equipos que atienden cinco productos. Tan sólo un equipo de seis programadores (de los que ahora son cinco) atienden cuatro productos. Hoy hablaré de este equipo al que llamaré TEI.

Los cuatro productos de TEI podrían considerarse primos hermanos. Manejan algunos conceptos comunes y están relacionados entre ellos. Sin embargo las entrañas y el objetivo de negocio son diferentes. Y lo más importante: todos eran expertos en sólo uno de esos cuatro productos. Hace un año, cuando decidimos juntarlos y dejarlos sin líder les dije: ahora deben ser un equipo auto-organizado. Por supuesto, decirlo está muy lejos a serlo.

La semana pasada tuvimos su retrospectiva. Esta vez, utilicé la técnica de Appreciative Retrospective. En esta técnica sólo se habla de lo que el equipo hizo bien. Un cambio de enfoque muy fuerte cuando lo que comúnmente se hace es buscar solución a nuestros problemas. Elegir una acción más allá de "sigamos así, somos los mejores" es mucho más complicado que buscar una solución a un problema claro.

Pero antes de la acción, hicimos la recopilación de información. Se comentaron éxitos como las juntas diarias, el uso del tablero de Kanban, la asignación de las tareas sin importar la experiencia y los lineamientos de junit. Estas prácticas se fueron madurando en varias retrospectivas y sprints. Entonces les pregunté: ¿A qué se debe ese éxito? Palabras como comunicación, respeto, confianza, libertad y compromiso quedaron escritas con rojo en el pintarrón. 


Entonces me cayó el veinte. Los valores más que explicarlos, se viven. El equipo de TEI no sólo es auto-organizado, sus integrantes se han transformado como personas a través de esos valores.

Como Scrum Master lo que hice fue darles espacio, respetar sus decisiones y moderar sus discusiones (¡son bien buenos para discutir!). He leído mucho sobre cómo el dejar de protejer, de vigilar y de mandar los hace crecer. Ahora sé que es cierto. No sólo ellos se han fortalecido, los resultados hacia la empresa también son consistentemente buenos.

La última parte de la retrospectiva, en la que se decide qué acción seguir les pregunté: De todo esto que hacemos bien, ¿qué queremos crecer? ellos eligieron la parte de innovación en tecnologías y procesos. Incorporar conocimientos nuevos a su trabajo diario. Sin embargo, el cómo hacerlo nos metió en un bache. Se mencionó autoestudio, cursos, clases organizadas entre todos. Soluciones comunes que no convencían a nadie. Y es que ellos ya han programado el tiempo suficiente para saber que sólo se aprende ensuciándose las manos. La cosa es, ¿cómo te ensucias sin meter riesgo al sprint? Les expliqué que es un Hackathon. Nadie había oído de ello y ahora lo estamos planeando.

Ese día volví a mi casa como una gallina feliz hinchada de orgullo. Hace un año, los mismos integrantes que temían por su falta de conocimiento de otros productos ahora saben cómo enfrentarlo. En las retrospectivas ya no se "culpa" a la estimación o a terceros, ahora se plantean lineamientos comunes para junits y Definitons of Done (DoD) más robustas.

Volviendo a leer a Lyssa Adkins me doy cuenta que el valor de Enfocarse (Focus) es el que menos se ha logrado y que es mi responsabilidad proveerlo. Aún nos queda camino por andar. Pero los frutos ya los estamos recogiendo.

miércoles, 17 de abril de 2013

Perdiendo el equilibrio

Últimamente me he sentido un cansancio mayor al acostumbrado. De lunes a viernes caigo rendida y me quedo dormida leyendo o viendo TV. Duermo mal y a veces me despierto por la noche. Los fines de semana puedo dormir hasta 4 horas seguidas durante el día. Además, me cuesta trabajo poner atención y concentrarme en otras actividades fuera del trabajo como leer, escribir y hasta conversar. Lo que más me molesta de todo esto es que el 85% de mis sueños son sobre problemas en el trabajo.

Sobresaturada, hiperexpuesta fueron palabras que escuché de mi doctor / couch de estilo de vida. El overflow laboral me impide estar bien y rendir como se debe no sólo en el trabajo, sino también en mi vida.

Culpar al trabajo, renunciar o bajarle a mis responsabilidades no son una opción. Son una salida fácil que no resuelve el problema de fondo.

Entiendo que lo que debo hacer es encontrar un equilibrio que me permita ser creativa y disfrutar todos esos momentos. Necesito más rutina y menos autocompasión. Necesito relajarme y plantear mi visión, entender mis habilidades y sobre todo, relajarme para poder enfrentar los retos que se vienen.

Hoy tuve un sueño extraño. Como todos los sueños, no lo recuerdo bien pero iba más o menos así: estaba en la recepción de un gran hotel. La recepción era de mármol y estaba llena de helechos y floreros con rosas. Al fondo, se veía un jardín con muchos árboles y flores. Yo esperaba impaciente a que la gente de la recepción arreglara sus problemas con las reservaciones. Cuando me tocó mi turno en recepción, resultó que uno de nuestros desarrollos podía resolverles el problema. Me acuerdo perfecto que dije el nombre de la solución. Lo curioso una vez que me desperté, fue que la solución que resolvía el problema del hotel no era el que yo mencioné, sino la que a mí me trae con overflow.

miércoles, 3 de abril de 2013

Palmaditas en la espalda 1: Agile Mindset, Cultura y Familia autoorganizada

A veces las cosas no salen como espero. Otras veces, encuentro más dificultades de las que esperaba. Entonces necesito unas palmaditas en la espalda, un rayito de luz y sobre todo, ideas para volverlo a intentar. En esta sección compartiré cosas que he encontrado en internet y que me han ayudado. 

Linda Rising y el Agile mindset 

Linda es una señora que ha trabajado la mayor parte de sus setenta años en el "tech world". Ella misma admite que cae en estereotipos negativos; sabe que la gente puede pensar: ¿Y ella que va a saber, si es anciana? ¡Y además mujer! y encima, seguro white trash. Quizá por el mismo estereotipo es que sus palabras sobre el pensamiento ágil (agile mindset) me reconfortaron. Podemos estereotipar, equivocarnos, admitir nuestras limitaciones. Pero siempre podemos aprender, adaptarnos y crecer. Eso, es ser ágil. Aunque en la charla casi no habla de su libro "Fearless change patterns", 20 minutos después estaba comprando en Amazon. El libro habla de patrones que se pueden seguir cuando se quiere introducir el cambio, cómo la gente reacciona ante él y cómo debemos actuar ante ciertas situaciones. Aunque está enfocado a la empresa, el cambio aplica para todos los ámbitos de la vida. Aquí la charla para Infoq 

¿Alguien lo logra alguna vez? 

El primer día de mi maestría (en Ingeniería de software), además de hacer el ritual de Miss Mundo en el que dices tu nombre, nacionalidad y experiencia ingenieril, nos preguntaron porqué estábamos ahí. Colombianos, españoles, peruanos, venezolanos y mexicanos dijimos más o menos lo mismo: queremos hacer software de calidad y sin que nos duela. No importaba dónde habíamos estudiado o trabajado. Nuestra personalidad o tamaño de la empresa. Todos habíamos sufrido por la baja calidad de nuestros productos, horas extra y hasta demandas. Entonces, cada vez que aparece una empresa como Velve o HubSpot pienso... ¿Por qué no?

 


Agile programming para tu familia 

Durante nuestro curso de Scrum Master, Alan nos comentó que recién había instruido al SCM más joven. Un violinista de 16 años. La esencia de Agile (autoorganización, confianza y empowerment, capacidad de adaptación) sumada a algunas buenas prácticas (Big Visible Charts, DoD, Checklists) funcionan perfecto en otros ambientes, como la familia. Este tipo de cosas son las que me hacen sonreir :)

 

miércoles, 6 de marzo de 2013

Agile y la vida "real"


Mi esposo es escritor y recientemente estuvo escribiendo cuentos para un concurso. La fecha de entrega estaba a un par de días y aún le faltaban 3 cuartillas para llegar al mínimo establecido en las bases. Las hago en una tarde, me decía y seguía revisando obsesivamente las cuartillas ya terminadas. Entonces le dije: 


-¿De dónde sacaste eso?, me dijo. 
-Agile –contesté. 
-Me lo imaginaba.

No es la primera vez que hablo en Agile para cosas comunes y corrientes. En otra ocasión, mientras veía un reality de un chef que ayuda a diferentes restaurantes que son un caos, descubrí que su método para cubrir los pedidos de las mesas incluía un WIP=1 (Work In Progress). Cubrir platillo a platillo y mesa a mesa con los comensales, era más eficiente que cocinar muchas cosas al mismo tiempo. Mi corazón brincó de alegría. 

Esto lo escribo porque leí a Adam Weisbart siendo mejor scrum master, digo novio. Un salón de clase de primaria autoorganizado y un Kanban para que los niños hagan lo que les toca. Agile transforma tu vida, les digo.

Por cierto, mi marido entregó a tiempo y completo lo que se necesitaba. Buena scrum master, buena. *palmaditas en la espalda*

viernes, 11 de enero de 2013

Scrum Master, muppets & rugby

De los aspectos que más me gustan de Scrum es la creatividad y la mezcla de disciplinas.  Si te gusta el teatro, cine o la escritura, lo puedes utilizar.  

Además, el espíritu de comunidad y compartir hace que no sea necesario estar en Europa o EU para disfrutarlo e inspirarse.  Por eso, ahora tengo dos objetivos más en mi vida:

1. Hacer "high five" con Kenneth:

 

 2. Subir de peso para utilizar estas técnicas de Scrum Master