Desarrollar software es una de las cosas que están basadas completamente en el conocimiento que tenemos sobre lo que estamos programando.
La charla “Eloquent Explanations” de Russ Olsen. En ella se proponen 5 puntos para darnos a entender cuando compartimos conocimiento con nuestro equipo u otras personas. Aquí te resumo lo que aprendí.
La motivación
Primeramente hablemos de la motivación para explicar mejor las cosas: lo que nos limita para construir software es conocimiento. Conocimiento sobre el dominio, el negocio o el sistema. Es por eso que compartirlo es una muy buena forma de ayudar al equipo a avanzar. La principal forma de compartirlo es con explicaciones.
Tómatelo en serio
Debemos tener un plan o una estructura para compartir el conocimiento, lo primero es no sacar tus pensamientos sin estructura. Russ propone algunas estructuras, como las siguientes:
-
Zoom In: Empieza en el contexto más amplio y termina en los detalles. Por ejemplo: Queremos vender zapatos -> Por eso estamos construyendo un eCommerce -> Por eso necesitamos este botón de “Pagar”.
-
Zoom Out: Empieza en el detalle y termina en el contexto más amplio. Por ejemplo: Necesitamos mejorar la retención de esta pantalla -> Porque es fundamental para terminar la compra -> Por que necesitamos acabar con el stock de este trimestre.
-
De los simple a lo complejo: Empieza explicando lo más básico, sin saltarte nada. Este método puede implicar ocultar información intencionalmente o explicarla en términos inexactos, pero que cuando llegue el momento se tendrán que aclarar y expandir.
-
Explica el proceso: Este tipo de explicaciones se adapta bien a escenarios en dónde tienes que describir una transformación progresiva. Por ejemplo, cuando hablamos de cómo se transforma una petición web en un respuesta en cualquier framework web.
Lo más importante es encontrar la estructura que más se adapte a tu situación.
Sé Agil
Tus explicaciones debe seguir el mismo ciclo que el desarrollo de software:
- Explica: ejecuta siguiendo el plan que trazaste
- Mide: tienes que leer a la audiencia y darte cuenta de si tu explicación está funcionando. Busca señales como si las preguntas van cambiando, no te miran raro y no hay un silencio mortal.
- Ajusta: si tu explicación no está logrando transmitir lo que quieres, cambia de estrategia, simplifica o busca nuevos ejemplos.
- Repite: vuelve a iniciar el proceso con nuevo conocimiento aplicando lo que aprendiste.
Empieza en lo más básico
Esto viene de un aprendizaje del autor de la plática mientras daba una taller en el quería enseñar Ruby on Rails. Había algunas personas en el auditorio que preguntaban una y otra vez lo mismo (señal de que no está funcionando tu explicación), hasta que comprendieron que Ruby es el lenguaje y Rails es el framework, cosa que Russ no había pensado siquiera en explicar.
Cuando explicamos algo que conocemos muy bien, puede que nos saltemos información que no tenemos presente que necesitamos saber, justo por el dominio tan amplio que tenemos del problema. Tenemos que ser cuidadosos en esto e intentar dar la mayor cantidad de información posible, incluso la que pueda ser muy básica.
A veces parece que lo que estamos diciendo es obvio, pero aquí menciona una frase muy interesante:
“Nadie en esta sala nació con ese conocimiento codificado en su ADN” - Russ Olsen (cuando el público se rio de la explicación tan básica que tuvo que dar)
Esto nos debe recordar que a nosotros también nos tienen que explicar cosas que para otros son obvias.
Haz cortas tus explicaciones
Explicar es un deporte con límite de tiempo. Tenemos un tiempo limitado para explicar lo que queremos antes de perder la atención de la persona, por lo que comprimir la información y decir primero lo más importante es buena idea.
Uno de los consejos que Russ da es evitar la jerga técnica. La terminología es un obstáculo para los que están empezando, y sólo quitará tiempo a tu explicación, aburriendo o comunicando muy poco en un espacio grande de tiempo, mientras la puedas evitar hazlo.
Una buena noticia: puedes resetear el reloj y comprarte más tiempo si logras que las personas a las que les estás explicando tengan pequeñas victorias, entendiendo progresivamente el tema en cuestión.
Usa la repetición
Repite para énfasis y para dar contexto. El “Don’t repeat yourself” es para las máquinas, los humanos necesitamos repetición para entender que algo es importante o para recordar el contexto de algo.
Así que usa la repetición para resaltar las ideas más importantes de tu explicación.
Muéstrate como humano
Muéstrate humano. Las explicaciones que causan una reacción emocional en los que escuchan, como las que incluyen humor, las que demuestran sentimientos o conectan en un nivel humano con las personas son las que dejan las cosas grabadas. Russ cuenta la experiencia de la portada de un libro que lo hizo reír y por eso se ha acordado de él toda la vida.
Hazles saber por qué importa lo que estás diciendo, muestra el interés o el amor que tienes por el tema. Una buena explicación puede cambiar tu compañía, tu equipo o incluso el mundo.
Conclusión
Explicar algo de manera que otros comprendan no es algo sencillo. Necesitas práctica, intención y esfuerzo para lograrlo. Si lo dominas, sin duda serás un componente muy valioso de cualquier equipo en el que participes en el desarrollo de software.
Puedes ver la charla completa aquí:
Comentar