Mi primer software studio (Respaldo del Blog)

Este es un artículo del viejo blog de chileagil, publicado el 11 de Mayo de 2008, publicado por @agustinvillena

Durante mis primeros años de profesión siempre estuve involucrado en proyectos de software con pocos desarrolladores, en donde cada uno tenía labores separadas y con muy poca interacción entre sí, lo que parece ser la norma generalizada en los desarrollos de software locales. La influencia de esta forma de trabajar llega obviamente a los espacios de trabajo que ocupan los desarrolladores, en donde también es común encontrar ubicaciones que aislan al desarrollador, y que haya equipos que a pesar de trabajar juntos en el mismo piso, están dispersos físicamente. Es así que no es extraño encontrar puestos de trabajo de desarrolladores aislados por cubículos, o bien ubicados en esquinas, lo que ambos casos dificulta que se pueda trabajar con otra persona - lo que probablemente está diseñado así a propósito, para evitar “distracciones”.

Cuando comencé a interiorizarme en Extreme Programming el 2002, me llamó la atención el énfasis que XP pone en cómo organizar los espacios físicos de trabajo, algo que logre entender posteriormente cuando comprendí la perspectiva ágil sobre el desarrollo de software acerca de que éste último es una actividad primariamente basada en las personas para un continuo compartir y generar conocimiento. Prácticas claves de XP afectan el cómo se debe organizar un ambiente de trabajo, tales como:

  • "Pair Programming" : programación en parejas, es decir., un computador y dos desarrolladores
  • "Stand Up Mettings" : reuniones cortas de pie para sincronizar al equipo al comenzar la jornada
  • "Informative Workspace" : el espacio de trabajo debe retroalimentar el trabajo del equipo, en particular el avance del proyecto

Cuando llegué el 2005 a mi trabajo actual a ser parte de una nueva área de Investigación y Desarrollo en la empresa Microsystem, se definió como uno de mis roles el liderar la renovación metodológica, un arduo trabajo para una organización que cumple este año 30 años en el tema informático.

Una de mis aspiraciones desde el inicio fue (¡por fin!) poder tener un espacio de trabajo “ágil”. Sin embargo, mi primer lugar de trabajo era una oficina muy pequeña, sin luz natural, y mi labor en la práctica era en solitario. Unos meses después logré que se agregara un nuevo ingeniero a mi área (Philippe Camacho), pero quedamos trabajando separados por dos salas de distancia, todo esto debido a la falta de lugar disponible. Intentábamos hacer Pair Programming, pero esto era coartado por el poco espacio y un escritorio de trabajo con cajones que hacían muy incómodo que dos personas se colocasen frente a al mismo PC. Así que tuvimos que usar el chat como medio de coordinación y colaboración, a modo de “parche”.

Nuestro primer logro fue cuando pudimos derribar una pared, e instalar en el nuevo espacio un tablón a modo de escritorio compartido sobre el cual instalar los equipos de trabajo, y poder programar en parejas fácilmente. La colaboración mejoró ostensiblemente.

Unos meses después mi jefe nos pidió cambiarnos de piso al lado de la gerencia, a lo que pusimos una condición: tener un espacio de trabajo común similar al actual, dado que lo que habíamos ganado nos había costado casi dos años de gestión, lo que no se pudo cumplir antes de que otras necesidades cambiaran el rumbo de trabajo. A mediados del 2007, surgió un proyecto de renovación tecnológica que nos llevó a agrandar el equipo a 6 ingenieros, y a derribar más paredes. Cuando llegó el momento de instalar los nuevos muebles, optamos por módulos construidos en base a tablones similares al primero, pero esta vez móviles, para poder reconfigurar la oficina fácilmente si era necesario. De esta manera el Pair Programming se puedo generalizar al equipo completo.

Al poco andar, vi a necesidad de implementar un Informative Workspace para llevar la gestión de avance del equipo. Como modelo usé el kanban de Toyota a partir del artículo Naked Planning Explained - Kanban in the Small lo que podemos observar en la foto siguiente:

Dentro de las curiosidades que hemos implementado, les presento nuestra zona de diseño colaborativo, que es una mesa redonda en donde una pizarra sirve de borrador comunitario de ideas, y mi “Pair Station” , que es un PC con dos mouses y dos teclados para hacer más simple el Pair Programming

Bueno, este es mi deseado y primer “Software Studio”, nombre con que bauticé esta nueva oficina y que plagié flagrantemente de la empresa Role Model Software , aunque ellos aplican el término en un sentido más amplio que el que nosotros hemos logrado. Nos queda mucho por mejorar, pero podemos decir que nuestra oficina sirve para colaborar y hacer nuestro trabajo más entretenido y colaborar mejor.

Más información: