Comunicacion Asincrona Efectiva¶
Proposito¶
Como comunicar ideas, problemas, y decisiones de forma escrita en equipos distribuidos o remotos. La comunicacion asincrona bien hecha reduce reuniones, mejora la documentacion, y respeta el tiempo de todos.
1. Principios¶
- Escribe como si nadie va a responder en las proximas 4 horas. Incluye todo el contexto necesario en tu primer mensaje.
- Bias hacia la sobreexplicacion. Es mejor explicar de mas que tener 5 mensajes de ida y vuelta pidiendo contexto.
- Separa urgente de importante. No todo necesita respuesta inmediata.
- Documenta las decisiones donde viven. La decision tomada en Slack debe terminar en un ADR o en la spec, no perderse en el historial del chat.
2. Estructura de un Buen Mensaje Asincrono¶
El formato BLUF (Bottom Line Up Front)¶
Pon la conclusion o pedido al inicio, no al final.
MAL (hay que leer todo para entender que necesitas):
"Estuve investigando el problema de performance en el endpoint de
disponibilidad. Probe varias cosas: agregar un indice, cachear
la query, optimizar el join. Al final descubri que el problema
es que estamos generando slots para 365 dias cuando el usuario
solo ve 30. Necesito feedback sobre si deberia limitar la query
o cachear el resultado completo."
BIEN (BLUF):
"Necesito feedback: debemos limitar la query de disponibilidad a 30
dias o cachear los 365?
Contexto: El endpoint de disponibilidad es lento (p95: 2s) porque
genera slots para todo el ano. El usuario solo ve 30 dias.
Opciones:
1. Limitar query a 30 dias (simple, resuelve el caso comun)
2. Cachear resultado completo en Redis (mas complejo, cubre edge cases)
Mi recomendacion: Opcion 1 por simplicidad. Opcion 2 si necesitamos
analytics sobre disponibilidad historica.
Necesito respuesta antes del jueves para incluirlo en el sprint."
3. Patrones por Situacion¶
Pedir Feedback¶
**Necesito feedback sobre:** [tema en una oracion]
**Deadline:** [cuando necesitas la respuesta]
**Contexto:** [background necesario]
**Opciones:** [si aplica, listar opciones con pros/cons]
**Mi recomendacion:** [tu opinion, para que el otro no empiece de cero]
**Que necesito de ti:** [especifico: aprobacion? opinion? alternativa?]
Reportar un Problema¶
**Problema:** [que esta pasando, en una oracion]
**Impacto:** [a quien afecta y cuanto]
**Causa (si la sabes):** [que lo esta causando]
**Lo que ya intente:** [para que no te sugieran cosas que ya probaste]
**Lo que necesito:** [ayuda especifica, o solo informar]
**Urgencia:** [bloqueante ahora / puede esperar / solo informativo]
Anunciar una Decision¶
**Decision:** [que se decidio, en una oracion]
**Contexto:** [por que surgio esta decision]
**Opciones evaluadas:** [resumen breve]
**Por que esta opcion:** [razonamiento]
**Impacto en el equipo:** [que cambia para los demas]
**Documentacion:** [link al ADR o spec actualizada]
**Preguntas?** Respondo en este hilo. Deadline para objeciones: [fecha].
Compartir un Aprendizaje¶
**TIL (Today I Learned):** [el aprendizaje en una oracion]
**Contexto:** [como lo descubriste]
**Detalle:** [explicacion tecnica]
**Donde aplicarlo:** [en que parte del proyecto es relevante]
4. Reglas para Canales¶
| Canal | Usar para | NO usar para |
|---|---|---|
| Slack #general | Anuncios del equipo, celebraciones | Preguntas tecnicas, debugging |
| Slack #engineering | Decisiones tecnicas, RFCs, TILs | Chat social, memes |
| Slack #incidents | Problemas en produccion, status updates | Discusiones tecnicas largas |
| GitHub PR comments | Feedback de codigo, preguntas de implementacion | Decisiones arquitectonicas (usar ADR) |
| Documento (Notion/MD) | Specs, ADRs, RFCs, documentacion | Preguntas rapidas |
| Reunion (sync) | Brainstorming, temas emocionales, conflictos | Informacion que puede ser un mensaje |
5. Anti-patrones¶
| Anti-patron | Problema | Solucion |
|---|---|---|
| "Hola, estas?" | Obliga a responder antes de saber que necesitas | Escribe el mensaje completo de una vez |
| Mensaje de una linea sin contexto | Genera 5 preguntas de vuelta | Incluye contexto, impacto, y pedido |
| Decision en DM | Nadie mas se entera | Postealo en el canal del equipo |
| Reunion para leer un documento | Desperdicia tiempo sincronico | Manda el doc, da 24h para leer, reuni solo para discutir |
| "URGENTE" en todo | Nadie sabe que es realmente urgente | Reserva urgente para produccion caida |
Checklist de Completitud¶
- Principios de comunicacion asincrona
- Formato BLUF explicado
- Patrones por situacion con ejemplos
- Reglas para canales
- Anti-patrones documentados
- Revisada por otro ingeniero
Archivos relacionados¶
- technical-writing-guide.md - Escritura tecnica
- engineering-decisions.md - Toma de decisiones