Mi Primer Software Studio

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.

Pair programming en el nuevo ambiente de trabajo

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:

Kanban del avance del proyecto

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

.

Pizarra para diseño colaborativo

“Pair Station”: Estación de trabajo con facilidades para Pair programming, con dos mouses y dos teclados para agilizar el cambio de roles

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:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Log In or Sign Up