Estrategias sencillas para evitar volcar tu «pila» mental
por Brian Tarbox

Original: “Interrupt Mood” by Brian Tarbox, PragPub Issue #5 epub">PDF [mobi], translated by Lucas Vieites.

Dicen que no hay preguntas tontas, pero hay muchísimas preguntas innecesarias.

Sé que has tenido esta experiencia: estás metido profundamente en un problema de programación cuando de repente alguien te para en seco con alguna pregunta trivial. Tardas cinco segundos en responder a la pregunta y veinte minutos en reconstruir tu pila mental.

Como ingeniero de software he intentado durante demasiados años inculcar a jefes y colegas que estas interrupciones son caras, sin éxito. No me refiero a preguntas justificadas, aquellas a las que solo tú sabes responder, aquellas que bloquean el trabajo de la persona que pregunta. Me refiero a las preguntas tontas que el sentido común o una búsqueda de 30 segundo en Google podrían responder. Estas interrupciones afectan a la productividad además de ser totalmente irritantes.

Este es mi ejemplo favorito de todos los tiempos; mira a ver si te recuerda a una experiencia similar. Estaba trabajando febrilmente en un «bug» crítico que podría hundir a la empresa. Estaba metido profundamente en el código. Me había puesto los auriculares y una barricada bloqueaba mi cubículo para prevenir intrusiones en mi espacio mental. Por supuesto, a pesar de todas las evidentes señales de que realmente no quería ser interrumpido, un compañero hizo justo eso. «¿Estás ahí todo atrincherado», quería saber, «porque estás trabajando en ese “bug” tan grande?» «Sí», respondí, con la sangre a punto de hervir, «Así que , ¿Qué quieres?» A lo que respondió, y no me lo invento, «Oh, nada. Solamente me preguntaba qué estabas tramando».

Nunca encontraron su cadaver.

En el cielo y bajo el mar

Ponerse los auriculares, bloquear la puerta del cubículo con cinta de embalar, aparentar molesto ante preguntas frívolas, estas claras señales no parecen desconcertar a la gente empeñada en interrumpirnos. De acuerdo, aceptemos el hecho de que este tipo de técnicas no funcionan. Cuando algo no funciona es el momento de intentar algo distinto. El truco, claro está, es descubrir ese prometedor «algo distinto» que intentar. Yo creo que hacer analogías es un poderoso método de descubrir e importar soluciones de otros dominio que luego puedo probar y ver si se pueden aplicar de forma útil.

Al intentar encontrar tal analogía al problema de las interrupciones de los «trabajadores del conocimiento» pensé en varios tipos de trabajadores que tienen éxito en no ser interrumpidos. Sí, esos trabajadores realmente existen. Consideremos alguno de ellos y veamos cómo llevan a cabo esta milagrosa hazaña. Así veremos si han ideado algún truco que nosotros, los pobres programadores, podamos tomar prestado.

El primer tipo de trabajador que viene a la mente es el soldador submarino (es decir, a mi mente; yo solía vivir en Hawaii). Si alguien le quiere pedir a un soldador submarino un informe de estado o que acuda a una reunión o que responda a una «pregunta rápida», más le vale que espere sentado. En ausencia de una línea de comunicación submarina, el interruptor (llamemos así al que interrumpe) tendrá que armarse de paciencia mientras espera a que el buzo descomprima, vuelva a la superficie y se deshaga del aparejo de buceo antes de obtener una respuesta a esa «pregunta rápida».

Otro ejemplo es el de un operador de grúa en un rascacielos. Aunque sea posible y hasta probable que el operadr tenga un walkie-talkie, imaginemos que el jefe quiera una reunión cara a cara (porque a los jefes les gustan esas cosas). Una vez más, el jefe tendría que esperar a que el operador pose lo que sea que esté moviendo, descienda a un lugar en el que haya un ascensor y descienda al suelo. Igual que antes, la persona que tiene la pregunta tiene que esperar un tiempo considerable antes de obtener lo que quiere.

Ahora comparemos estos ejemplos con el de un jefe que interrumpe a un «trabajador del pensamiento». Este es el escenario completo:

El jefe entra y empieza a hablar.

El jefe básicamente obtiene una gratificación instantánea a su deseo de comunicación. El trabajador del pensamiento está allí, frustrado, y se pasa los siguientes veinte minutos intentando recargar la caché de su cerebro con lo que estaba haciendo.

La ventaja del buzo y el operador de grúas es que que la carga del retardo se comparte entre ellos y la persona que tiene la pregunta. Sí, el trabajador pierde tiempo, pero también lo pierde el jefe que quiere hablar con él. Este jefe es consciente de que hace su pregunta le va a costar treinta minutos. Probablemente no sepa cuánto tiempo le va a costar al trabajador, pero tiene que saber que habrá un coste. Es de suponer que esto le hará pensar acerca de las interrupciones antes de perpetrarlas.

La gente que nos interrumpe normalmente no es consciente de eso. El coste de la interrupción para ellos es, de hecho, cero. No ven el tiempo de recuperación que debemos gastar, solo ven que interrumpirnos les ha salido gratis.

Compartir el dolor

La pregunta obvia es: ¿Cómo podemos hacer que esta gente se dé cuenta del coste que nos infligen? Aunque obvia, resulta que esta es la pregunta equivocada, por lo que las soluciones basadas en esta pregunta tienden a no funcionar. Una mejor pregunta sería: ¿Cómo podemos descargar parte de este coste sobre el interruptor de modo que la reducción del número de interrupciones redunde en su beneficio propio?

Una de las técnicas que usamos algunos, probablemente sin ser especialmente conscientes de por qué lo hacemos, es levantar una mano cuando la persona empieza a hablarnos, y seguir con nuestro trabajo durante un momento. Este gesto tan sencillo puede ser sorprendentemente efectivo. Cuando funciona estamos obligando a la persona a esperar unos segundos mientras terminamos una frase, trazamos una sentencia más o, en general, paginamos a memoria lo que estamos haciendo.

Resulta educativo observar la reacción de la gente a la que se detiene de este modo. Generalmente se ven sorprendidos por este giro inesperado de los acontecimientos. Es casi como si la mano los clavara en el sitio. No pueden seguir hablando ya que has solicitado de forma completamente razonable y civilizada un momento de espera. También comprenden que no pueden simplemente irse puesto que la conversación ya ha empezado.

(¿Sería muy malo si admitiera que a veces alargo este momento, regodeándome en la ligera incomodidad de la persona que me interrumpe? ¿Lo sería? Entonces no importa, dejémoslo.)

Imaginemos que esta técnica se formalizara y que fueramos tan lejos como para instalar un temporizador en la entrada de nuestro cubículo. Imaginemos que una persona que venga a preguntar tenga que mantener pulsado un botón durante treinta segundos, o un minuto, o dos minutos. Después de esta espera sonaría una campanilla y podría empezar a hablar. La regla social sería que podríamos ignorar a la persona hasta que sonara la campanilla, pero después habría que prestarles total atención. Habríamos cumplido el objetivo de compartir el dolor de la interrupción con el «interruptor».

Me puedo imaginar perfectamente algunos entornos de trabajo en los que un dispositivo y reglas así se podrían implementar con éxito. También puedo entender que hay entornos en los que esto nunca funcionaría. Pero aún en estos sitios una aplicación diferente del mismo principio podría funcionar.

¿Cuántas preguntas menos nos harían si la gente supiera que tienen que esperar un minuto antes de poder interrumpirnos? Estoy dispuesto a apostar que la cantidad de preguntas directas se reduciría dráscticamente mientras que la cantidad de preguntas por email o mensajería instantánea aumentaría, aunque no en el mismo número. Algunas preguntas nunca llegarían a ser preguntadas. El saber que se les someterá a una espera antes de poder preguntar podría animar a la gente a hacer una búsqueda rápida en Google antes de interrumpirte.

Esconderse

Hay otras maneras de compartir el dolor. Recientemente apliqué una moviendo mi cubículo a una zona inutilizada de nuestra oficina que está más o menos a una distancia de treinta segundos caminando de la mayoría de los demás desarrolladores. Este pequeño coste de treinta segundos para preguntarme algo ha reducido dramáticamente la cantidad de «preguntas rápidas» que recibo.

Una versión más drástica es desaparecer. Llegó un momento en el que mi jefe me sugirió que cogiera mi portátil y me buscara una sala de reuniones o algún sitio en el laboratorio en el que esconderme. Para mí esto no habría funcionado. Además de que sería admitir tácitamente que nuestra cultura de desarrollo estaba rota, me habría obligado a abandonar mi entorno de trabajo. He sido bendecido con dos pantallas LCD de 19 pulgadas conectadas a mi portátil (para leer especificaciones, JavaDocs, Google, etc.), además de otras dos pantallas LCD en mi máquina de desarrollo Linux para Eclipse/Mylyn. No quisiera tener que cambiar todo eso por sentarme en la esquina de un armario con una pantalla de portátil.

Sin embargo esconderse sí que funciona para algunos. El redactor de PragPub me cuenta que él tiene dos oficinas: una compartida con más gente en la que se sobreentiende que se le puede interrumpir y otra ,más alejada, en un edificio desocupado en la que hay conexión LAN e internet, pero no hay teléfono, a la que va a trabajar sin interrupciones.

A pesar de mi total falta de éxito con ellas, siempre puedes probar poner una señal en la puerta o bloquear tu cubículo con cinta de embalar o hasta la barrera de malla deslizante [U1].

Cada una de estas depende de la buena fé y el sentido común del interruptor. Esto significa que podrían funcionar en algunos casos, pero según mi experiencia solamente funcionan con la gente que de todos modos no preguntaría frivolidades .

Por supuesto debemos poder ser interrumpidos en algún momento. No soy antisocial: llevo un club de libros técnicos en mi grupo y , en general, se me considera un mentor para muchos desarrolladores. En realidad me encanta responde a preguntas, pero siempre después de que la persona se haya molestado un rato en intentar buscar la respuesta por sí misma.

Este es otro punto de vista que podría ser de utilidad. Piensa en las interrupciones en términos de negociación. Para mí, y probablemente para tí, el tiempo y la atención prestada son en realidad la moneda de cambio. Siempre que alguien quiera que le preste algo de mi limitado tiempo y atención, entramos en una negociación. Una interrupción es una declaración tácita de que mi tiempo es menos valioso que el del interruptor. Así que en general es un mal negocio, pero estoy mucho más dispuesto a aceptar interrupciones de quien me ha proporcionado información en el pasado. Las rutas de comercio están abiertas, por así decirlo. Le he dicho a un grupo selecto de compañeros de mi empresa que siempre me pueden interrumpir, aún cuando tenga puestos los auriculares y la puerta esté cerrada, simplemente porque me han sacado las castañas del fuego en alguna ocasión anterior.

Estas son algunas de las estrategias que he ideado para reducir las interrupciones. Tú conocerás otras. Asegúrate de compartirla con tus compañeros si encuentras una buena. Pero no les interrumpas.

Acerca del autor

Brian Tarbox es «Principal Staff Engineer» en Motorola donde diseña soluciones de servidor en el ámbito de «Video On Demand». Escribe un blog a medio camino entre el diseño de software design, la cognición y Tai Chi en briantarbox.blogspot.com.

Acerca del traductor

Lucas Vieites es ingeniero de sistemas y desarrollador web bajo plataformas libres («open source»). También realiza traducciones al español de software libre como aportación a la comunidad. En la actualidad vive en Galicia, España. www.codexion.com


Recursos externos referenciados en este artículo: