¿Cuáles son algunos problemas en la comunicación del equipo de desarrollo de software?

Los iconos en la imagen de arriba son cortesía de Flaticon .

No hace mucho escuché a un desarrollador compartir esta joya de sabiduría: “Resolver problemas técnicos es mucho más fácil que los de naturaleza personal”.

Bueno, la razón principal de los conflictos en los equipos de desarrollo de software es la falta de comunicación. Cuando no nos entendemos y nuestras necesidades es realmente difícil trabajar y crear algo juntos.

Hace unos días tuve la oportunidad de leer un gran artículo sobre la resolución de conflictos en equipos que utilizan la Comunicación No Violenta , creado por Daniel Kaszuba, un Scrum Master en STX Next (también puede consultar nuestro blog para encontrar otros artículos interesantes).

Como puede ver, la imagen en la parte superior presenta un conflicto en un equipo Scrum, entre un propietario del producto y uno de los desarrolladores.

A diferencia del enfoque clásico, la Comunicación No Violenta define la mediación como un proceso que tiene como objetivo construir un consenso y no un compromiso entre las partes en conflicto.

El papel de un mediador es hacer que las personas realmente escuchen cuáles son las necesidades del otro lado. Marshall Rosenberg, el creador de NVC, dijo que si ambas partes entienden las necesidades de las personas que ven como rivales, es posible resolver todos los conflictos en el mundo en 20 minutos.

En este enfoque, el mediador no se enfoca en la solución final que puede presentar una de las partes. Se supone que deben facilitar la conversación y dirigirla para que las personas estén abiertas a escuchar y realmente escuchar lo que dicen los demás.

Vamos a ilustrar cómo funciona con un breve ejemplo:

Mediador: Hola John (PO)! ¿Podría decir qué es importante para usted en toda esta situación?

PO: claro. Lo importante para mí es hacer que este tipo llegue al Daily Scrum a tiempo. Regularmente llega tarde y pone nuestro horario en desorden.

M: Según tengo entendido, es importante para usted que la gente llegue a las reuniones a tiempo. ¿Está bien?

PO: Por supuesto, eso es lo que estoy diciendo.

M: Mark (desarrollador), ¿podría repetir lo que acaba de escuchar que es importante para John?

Desarrollador: Escuché que le gustaría que la gente fuera puntual en las reuniones.

M: John, ¿es eso lo que querías que te escucharan?

PO: Sí, eso es.

M: Mark, te toca a ti. ¿Podría decirnos qué es importante para usted en esta situación?

D: claro. Me gustaría que la gente entienda que tengo hijos que necesito llevar a la escuela por la mañana y no puedo predecir cómo el tráfico influirá en mi forma de trabajar. A veces es agradable y suave. Otros días es terrible y luego llego tarde al Daily Scrum. Me gustaría que la gente mostrara algo de empatía en lugar de estar enojada conmigo.

M: Mark, escuché que llevas a tus hijos a la escuela todas las mañanas y por eso es difícil predecir cuánto influirá el tráfico en la duración de tu viaje. También escuché que le gustaría que la gente entienda lo difícil que es para usted conciliar los deberes que tiene y darle algo de empatía. ¿Está bien?

D: Sí, eso es. Finalmente alguien escucha lo que digo.

M: John, ¿podrías repetir lo que es importante para Mark?

Como puede ver, ambos lados presentaron lo que es importante para ellos. De manera crucial, el mediador intenta mover la conversación al nivel de necesidades y piensa en las estrategias que las personas pueden tener. Esa es la clave para NVC, para mostrarnos nuestras expectativas.

Espero haberles mostrado un conflicto potencial en el equipo de desarrollo de software y la solución de una manera clara.

Si está interesado en este tema, también puede consultar el artículo completo.

Si tiene alguna otra pregunta, ¡no dude en enviarme un mensaje!

El mayor problema es la falta de equilibrio en los objetivos de desarrollo.

Hay cientos de miles de formas de resolver un problema. Como sabio, hay muchas maneras de llegar a Roma; no son solo caminos ahora. Puede tomar un avión, un barco, un helicóptero, quizás pronto un cohete o un avión no tripulado, todo lo ayudará a llegar a Roma.

“Todos los caminos conducen a Roma” – Un proverbio

Muchos equipos de desarrollo están “centrados en los resultados”, lo que significa:

  • entrega
  • funcionalidad
  • mensurabilidad

Estos son geniales, excepto si hiper optimiza estos rasgos. Es como el levantamiento de pesas hiperoptimización mientras se salta el día de las piernas. Salto de saldo problemático:

  • Mantenibilidad
  • Legibilidad
  • Futuro listo
  • Escalable

Aquí hay una metáfora de cómo se ve su producto de software si hiper optimiza solo un número limitado de ideales:

En la cultura de desarrollo de software actual, tiene muchas metodologías que se toman al pie de la letra y se ejecutan de manera asimétrica. Aquí hay algunos populares:

  • MVP: producto mínimo viable
  • Ágil: un tipo de gestión de proyectos
  • Siempre envío / implementación: el proverbio de un desarrollador
  • Innovate innovate innovate: un proverbio comercial robado renombrado para el desarrollo.

Cuando observa estas metodologías, le recuerdan un rasgo específico o un beneficio específico para adoptarlo.

  • MVP: rápido al mercado, rápido al fracaso, rápido para aprender, iterar
  • Ágil: reactivo a las necesidades del mercado, mantener a los equipos enfocados, girar como el infierno.
  • Envíe siempre: sea competitivo, ofrezca más valor, mantenga a los usuarios con nuevas funciones
  • Innovate innovate innovate: abofetea a tus inversores con palabras de moda hasta que saluden y te pidan dinero.

Cada uno de estos métodos es apropiado cuando se ejecuta correctamente con una mente equilibrada. Teniendo en cuenta todos los objetivos de comunicación:

Entrega, Funcionalidad, Medibilidad, Mantenibilidad, Readiabilidad, Preparado para el futuro, Escalable

Cuando no se ejecutan correctamente y de forma asimétrica, obtiene lo siguiente:

  • MVP: código tan sucio que debe vender a la compañía por su valiosa lista de clientes y esperar reescribir el producto utilizando los fondos que adquirió.
  • Ágil: el personal de ventas está impulsando el diseño de productos y hay mucho menos respeto por el mantenimiento y la escalabilidad, lo que resulta en muchas reescrituras y rediseños para nuevas características “ágiles” a pedido.
  • Envío siempre: su negocio y producto en realidad no es un conjunto de características monopolizadas donde puede obligar a su población de usuarios a ser usuarios leales, sus errores y problemas de software causan un éxodo masivo al producto de su competencia.
  • Innovate innovate innovate: inversores expertos y bien informados que realmente pueden ayudarte y conectarte con el dominio adecuado, los especialistas expertos lo verifican a través de ti y te ignoran.

El núcleo de los problemas en la comunicación para el desarrollo de software es una visión, objetivos y prioridades claramente definidos: un equilibrio de lo que están construyendo exactamente, dónde quieren estar en 3 a 5 años (no 3 a 5 meses) y cómo llegar allí .

Esta es solo una lista limitada de lo que cada equipo debe discutir durante las reuniones de diseño:

  • Entrega: cumplir con los hitos, coordinar con otros departamentos de manera adecuada.
  • Funcionalidad: necesita funcionar y trabajar por diseño.
  • Medibilidad: ser capaz de cuantificar los esfuerzos con indicadores de desempeño.
  • Mantenibilidad: asegúrese de no crear una necesidad de horas hombre adicionales.
  • Legibilidad: ningún ingeniero individual se convierte en una responsabilidad y nunca se le permite tomar vacaciones
  • Preparado para el futuro: de modo que las características de desarrollo futuro no sean extremadamente caras
  • Escalable: requiere una expansión del costo del revestimiento al hacer crecer el negocio.

Cuando tiene un objetivo equilibrado compartido en la mente de cada miembro del equipo de desarrollo, tiene una visión compartida que permite que el equipo se ejecute de manera más fluida, rápida y tenga en cuenta los objetivos a largo plazo y los hitos comerciales.

Descargo de responsabilidad: trabajo con Usersnap , una excelente herramienta de comunicación visual para desarrolladores de software.

Algunos podrían decir que la comunicación entre los desarrolladores se resume mejor en la siguiente broma:

¿Cómo se distingue un desarrollador introvertido de un desarrollador extrovertido?

El desarrollador introvertido mira sus programas cuando habla con usted, el desarrollador extrovertido mira sus programas.

Esto es, por supuesto, una generalización, pero dado que la comunicación es una fuerza clave para todos en estos días, no está de más pensar en mejorarla.

En lugar de pensar en los “problemas” que existen, quiero ver 5 formas de mejorar la comunicación en su equipo de desarrollo.

5 formas de mejorar la comunicación para tu equipo de desarrollo

  1. Aprende a aclarar tus pensamientos

Todos vivimos en nuestras propias cabezas. Llegamos a una conversación con nuestras propias cosmovisiones y perspectivas, lo que puede dificultar la comunicación entre nosotros.

Cuando te estás comunicando con tu equipo de desarrollo, estás transmitiendo información. Por ejemplo, le está diciendo a su colega que cambie el color de un botón específico. Lo que sucede es esencialmente un proceso de tres pasos que es una traducción de tus pensamientos a palabras y luego a acciones.

Palabras – Pensamientos – Acciones

Si tiene una reunión de equipo o está explicando algo a su colega, pregúntese: ¿Qué está tratando de decir? Y como lo dices? ¿Cuál es la reacción al final de su colega (expresión facial, gesto, retroalimentación verbal)? ¿Qué acciones quieres sacar de esto?

En resumen: ¿qué estás buscando en esta conversación?

¿Está dando retroalimentación sobre una nueva característica, está haciendo una sugerencia, está señalando un error o está tratando de alentar a un colega cuando se pierde?

Aprenda a aclarar sus pensamientos e intente concentrarse en las acciones que desea inspirar.

2. Pase tiempo entendiendo el problema

La mayoría de las conversaciones profesionales giran en torno a la búsqueda de soluciones. Sin embargo, puede ser útil enfocarse primero en comprender un problema que podamos tener. ¿Para qué necesitamos encontrar una solución? ¿Cómo podemos definir el problema? ¿Podemos dividirlo en partes más pequeñas? Lo que podría parecer un desvío es en realidad la ruta más rápida para encontrar una solución que se mantenga.

En su libro “Mejora tus habilidades de comunicación” de Alan Barker, el autor divide las conversaciones en un proceso de dos pasos que llama “pensamiento de primera etapa” y “pensamiento de segunda etapa”:

“Pensar en la primera etapa es pensar en un problema; pensar en la segunda etapa es pensar en una solución “.

Ambas etapas existen co-dependientes. Obsesionarse con un problema no ayuda, pero tratar de encontrar una solución sin comprender el problema tampoco ayuda.

En términos de producto, esto significa que está desarrollando una solución que se ajusta lo más posible al problema que tienen sus clientes. ¿Qué es exactamente lo que necesitan? ¿Qué puede hacer para comprenderlos mejor a ellos / sus problemas? Al centrarse primero en el problema, está dando el primer paso esencial para encontrar una solución.

3. Comunicarse visualmente

“De todos nuestros inventos para la comunicación masiva, las imágenes aún hablan el idioma más universalmente entendido”. – Walt Disney

Las formas en que nos comunicamos están cambiando significativamente. Gunther Kress ha acuñado el término “edad visual” para sugerir que la comunicación visual se está apoderando. La comunicación visual no es solo una tendencia, sino un desarrollo, que configura cómo nos comunicamos ahora y cómo lo haremos en el futuro.

En resumen: la comunicación visual ayudó a nuestros ancestros a comunicarse y nos está ayudando hoy. ¿Cómo afecta la comunicación visual a la comunicación empresarial? ¿Cuál es la consecuencia de los malentendidos? ¿Y cómo la comunicación más rápida ayuda a los equipos de desarrollo a lograr más y a preocuparse menos?

La comunicación visual es muy efectiva, ya que puede procesarse mucho más rápido. Tanto cognitiva como emocionalmente.

De hecho, procesamos imágenes 60,000 veces más rápido que el texto.

Sé que soy parcial, pero en Usersnap desarrollamos una solución de comunicación visual que utilizan los equipos de Google, Microsoft y Facebook. Nuestra solución ayuda a los equipos de desarrollo a comunicarse visualmente y hacer anotaciones directamente en el navegador. No solo es mucho más rápido intercambiar ideas, también es mucho más divertido.

Ofrecemos una prueba gratuita de nuestro producto para que pueda ver por sí mismo cómo es eso. Registrate aquí.

4. Abraza la retroalimentación

Una conversación es un proceso bilateral. Generalmente hay una persona hablando y otra escuchando, una fuente y un receptor, como se le llama en la mayoría de las teorías de comunicación.

La complejidad surge porque todos conversan con sus prejuicios y su percepción preconcebida. Es por eso que resumir las ideas de otra persona es tan útil para una comunicación exitosa.

La idea es básicamente preguntar: “¿Te entendí correctamente?”

El modelo “Feedback” de Claude E. Shannon es famoso en los estudios de comunicación y uno de los modelos de comunicación más populares en la actualidad. Shannon creó un modelo diseñado para facilitar la transmisión de información a través de líneas telefónicas. Más tarde fue complementado por Warren Weaver, quien agregó la idea de retroalimentación, convirtiéndola en un bucle.

Modelo de comentarios de Shannon / Weaver

Este modelo técnico también se aplica a la comunicación personal. De esa manera, el modelo ya no se usa para describir la transmisión técnica de la comunicación (con el “canal” como el cable y el receptor como el auricular físico del teléfono).

En cambio, el modelo describe la comunicación personal en la que fuente y receptor son dos seres humanos que se hablan entre sí.

Interesante aún es la noción de comentarios aquí. La idea es que es casi imposible no dar retroalimentación. Si está recibiendo un mensaje, está reaccionando de una forma u otra (verbalmente, no verbal, con lenguaje, expresión facial o su postura).

La fuente, una persona, envía una idea que está codificada en palabras. Es decodificado y recibido por otra persona que escucha y envía sus comentarios a la fuente.

¿Qué puedes aprender de esto para comunicarte con tu equipo de desarrollo?

La retroalimentación ocurre todo el tiempo. Pero para mejorar nuestras habilidades de comunicación, también debemos pensar en cómo podemos comunicar los comentarios que estamos enviando de manera no verbal de manera verbal. Esto significa, en primer lugar, reconocer y conocer nuestras propias opiniones sobre un tema determinado. Y luego tratando de ponerlos en palabras para que puedan volver a entrar en la conversación.

5. Intenta escuchar lo que no se dice

“El mayor problema en la comunicación es la ilusión que ha tenido lugar”. – George Bernard Shaw

La comunicación verbal (ya sea escrita u oral) es solo una de las tres formas principales de comunicación junto a la comunicación no verbal y visual. Las excelentes comunicaciones del equipo significan que las personas escuchan lo que no se dice y abordan las brechas de comunicación.

Esto es lo que puede hacer para evitar que las brechas de comunicación perjudiquen su productividad:

  • Revise cada reunión y piense qué preguntas han quedado sin respuesta o qué preguntas puede pensar personalmente que no se han formulado.
  • Piense en cada miembro del equipo y su papel en su proyecto. ¿Tienen todos la información necesaria para proceder?
  • Pregúntese: ¿Cuál fue su mensaje principal y se transmitió? ¿Qué preguntas podrían tener otros miembros del equipo y por qué podrían no haberlas hecho (todavía)?
  • Cree un ambiente de trabajo seguro que permita a las personas hablar en cualquier momento y hacer preguntas sin importar cuáles sean. Hemos escrito sobre la importancia de la seguridad psicológica antes, así que si quieres profundizar en este tema, aquí está nuestro artículo.

Envolviendolo.

Mejorar la comunicación es un proceso continuo. No es una de estas cosas hechas.

Algunos podrían decir que la capacidad de comunicación de un desarrollador se ilustra mejor en el siguiente chiste:

¿Cómo se distingue un desarrollador introvertido de un desarrollador extrovertido?

El introvertido mira sus shows cuando habla contigo, el extrovertido mira tus shows.

Sin embargo, mejorar la comunicación en su equipo de desarrollo no es una tarea imposible. Lo más importante es asegurarse de que todos estén bien informados, se sientan seguros de hacer cualquier pregunta que puedan tener y puedan perfeccionar sus habilidades de comunicación en la comunicación verbal y visual.

Encuentre mi artículo completo aquí: ¿Su equipo de desarrollo se pierde en la comunicación? – Usersnap

Descargo de responsabilidad: ¡trabajo con Flock , una gran herramienta de colaboración para el desarrollo de software!

El mayor problema que conozco es la falta de una plataforma adecuada donde pueda tener lugar la comunicación del equipo en tiempo real. La mayoría de los equipos usan correos electrónicos, que carecen de inmediatez real ; o mensajeros personales como WhatsApp, que eventualmente se vuelven demasiado ruidosos y desordenados para ser productivos.

Flock te permite chatear con personas de tu equipo directamente para conversaciones individuales o crear canales bajo tu equipo para minimizar el ruido y asegurarte de que solo la comunicación relevante llegue a la persona que necesita.

Flock incluso viene con su propia aplicación Code Snippet . La aplicación es sensible a la sintaxis y detecta automáticamente más de 100 lenguajes de programación. Colaboración y depuración, simplificada.

Flock también proporciona a los equipos de desarrollo integraciones en algunos repositorios populares como GitHub y Bitbucket . Incluso tenemos una integración con Visual Studio que notifica a los equipos de Flock acerca de las finalizaciones de compilación, la inserción de códigos, las solicitudes de extracción, los mensajes de la sala de equipos y los elementos de trabajo. Lo bueno es que se puede acceder a ellos directamente desde la barra lateral (no es necesaria una integración externa).

¡También hay una gran cantidad de integraciones! Puede configurar todas las integraciones que desee en todos los planes, incluido el Plan gratuito, que permanece gratuito todo el tiempo que desee. Incluso puede encontrarse jugando con nuestra plataforma: FlockOS.

Con FlockOS, puede crear sus propias aplicaciones desde cero para ejecutarlas en Flock. Las aplicaciones Flock pueden integrarse profundamente en la interfaz de usuario utilizando widgets, botones y modales , ¡súper divertido para los equipos de desarrollo! Aquí está la API en acción:

Además, Flock es su asequibilidad. El Plan Pro de Flock tiene un precio tan bajo como $ 3 por usuario por mes ; pero ahora lo regalamos gratis , ¡así que pruébalo!

Hay dos tipos principales de problemas de comunicación:

Manera poco profesional de hablar. La persona no escucha a los demás, no respeta sus diferencias / esfuerzos personales, se apresura a sacar conclusiones antes de comprender completamente la situación.

La ignorancia de las reglas de convivencia. La persona hace ruido (innecesario), hace desorden en la cocina, abusa del aire acondicionado.

Tenga en cuenta que la mayoría de los especialistas en software son introvertidos (no tan capaces de expresar sus pensamientos) y muchos de ellos tienen un ego elevado. La estrategia de “evitar conflictos” y la estrategia de “ser diplomático” no traen buenos resultados con estas personas.

Ambos tipos de problemas de comunicación son fáciles de resolver a nivel de gestión.

More Interesting

¿Los gerentes de producto tienen menos demanda que los ingenieros de software o más demanda?

¿Cómo encuentra un nuevo programador todas las API para el idioma que está aprendiendo?

¿Cuál es el mejor software para las relaciones de alumnos y alumnos?

¿Qué problemas de ingeniería de software de la vida real sobresale Haskell?

¿Cómo se crean las historias de usuario como siempre independientes?

¿Qué es un ciclo de memoria?

¿Es una mala práctica pedir a las empresas tecnológicas una extensión de oferta?

¿Qué ciudad tiene mejores perspectivas laborales y ofrece una mejor calidad de vida para los ingenieros de software: San Francisco o Munich, Alemania?

¿Cuáles son las mejores universidades en Alemania para la ingeniería de software? ¿Cuáles son las mejores universidades en Alemania que enseñan en inglés y tienen buenas oportunidades de colocación para estudiantes internacionales?

¿Cómo puedo convertirme en un mejor ingeniero de software, dada una sólida formación en informática?

Software de la mesa de ayuda de TI: ¿Alguien puede comparar ServiceNow con Remedy / RemedyForce de BMC? Estoy tratando de comprender mejor los pros y los contras de cada uno.

¿Cómo debería un equipo de desarrollo de software elegir una estrategia de ramificación git?

¿Cuál podría ser la mejor característica de servicio que una agencia de desarrollo de software puede brindar a su cliente?

¿Cuáles son los datos interesantes sobre Linux?

¿Es posible entrenar una red neuronal para convertir imágenes de rostros humanos (selfies) en dibujos animados de estilo moderno?