Habilidades sociales en el desarrollo de productos: Insights de los líderes de ingeniería de DEPT®
Una de las mayores ventajas de trabajar en una agencia especializada en desarrollo de productos digitales como DEPT® es la posibilidad de participar en una amplia gama de proyectos que, de otro modo, se tardaría varios años en conseguir.
Trabajamos en cientos de proyectos de desarrollo en diversos ámbitos empresariales, escritos en diferentes pilas tecnológicas, con diferentes composiciones de equipo y diferentes tipos de partes interesadas.
Tenemos la suerte de poder hacer una pausa después de los proyectos y reflexionar sobre lo que ha ido bien, lo que cambiaríamos y cómo podemos influir mejor en futuros proyectos.
Esta introspección nos lleva a menudo a preguntarnos: ¿Qué hace que un proyecto de desarrollo de productos tenga éxito?
Las tecnologías de vanguardia, los equipos con talento y objetivos claros desempeñan un papel fundamental. Sin embargo, creemos que la receta secreta a menudo reside en las habilidades interpersonales más que en la competencia técnica y la gestión.
Para profundizar en la base de los proyectos de éxito, hemos preguntado a varios responsables de ingeniería de DEPT® su punto de vista sobre lo que hace que un proyecto de producto tenga éxito.
Jon Principe, Managing Director en DEPT®/Digital Products
La táctica que descubrí como mayor indicador de éxito es sentirse cómodo diciendo: “No lo sé”.
No se puede saber todo, y pretender que se sabe a veces conduce a la pérdida de tiempo, a la creación de expectativas pobres y a la frustración de los clientes y los miembros del equipo. Combinar el “no lo sé” con la capacidad de hacer buenas preguntas ayudará a ganarse la confianza de todas las partes de un proyecto y establecerá el tono de trabajo en colaboración.
Fingir ser omnisciente sólo sirve para enturbiar las relaciones de equipo, fomentar la desconfianza y crear un entorno en el que una persona se erige en el único responsable de la toma de decisiones que lo sabe todo. El éxito de un proyecto depende de que todos los miembros del equipo se sientan cómodos y confíen en su comunicación, tanto interna como con las partes interesadas. Tener la seguridad de que no es necesario ser una fuente infalible de sabiduría demuestra a los demás que está bien tomarse un tiempo para investigar y formarse una opinión distinta de la primera.
Jake Rainis, Arquitecto de Software
Cada proyecto es demasiado único y lleno de matices como para aplicar una estructura rígida que garantice el éxito. Un proyecto de éxito es, en realidad, un equipo de personas que triunfan juntas.
Cuando participo en un proyecto de cualquier tipo, ya sea como colaborador individual o como director de arquitectura, las siguientes prácticas me han resultado increíblemente útiles en todas las situaciones en las que las he empleado:
- Intenta comprender los estilos de comunicación de todas las partes implicadas y adáptate a ellos de forma que te permitan trabajar mejor juntos. Establecer el tono adecuado es una buena manera de crear armonía en un equipo de personalidades únicas.
- Cuando haya un vacío, llénalo, aunque esté fuera de tu ámbito de responsabilidad… siempre que sea sostenible. Si no lo es, ten una conversación con el equipo y pónganse de acuerdo sobre un buen enfoque para remediarlo. Si todo lo demás falla, y el problema es lo suficientemente grande, deja que los platos caigan y recógelos en equipo. A veces, las cosas tienen que empeorar antes de mejorar.
- Intenta no morir en ninguna colina. La tecnología es el equivalente a los castillos de arena. Construimos cosas y luego se desvanecen. Todos tenemos opiniones, y a veces tenemos razón. En esos casos, educa objetivamente y haz partícipe al equipo. Pero, a menos que sea crucial, dar la razón a los demás tiende a tener más éxito que hacer siempre las cosas a tu manera.
Joaquin Gatti, Managing Director DEPT® Argentina
Un proyecto exitoso es el resultado de un equipo que trabaja intensamente para hacer que las cosas sucedan con un objetivo compartido. Además, no creo que haya una receta mágica para que un proyecto tenga éxito. Basta con implicarse en los objetivos fijados desde el principio o en los que surgieron cuando los primeros no funcionaron. El dilema es cómo conseguirlo.
Un par de cosas pueden facilitar la vida del ejecutivo de cuentas, el jefe de producto, el cliente o el equipo. Estas son las principales:
- Tener una comunicación buena, frecuente y honesta con todos los integrantes del equipo.
- Establecer expectativas claras sobre lo que hay que entregar y cuándo. Esto es fundamental para evitar situaciones incómodas cuando las expectativas difieren de los resultados.
- No pongas el ego o la tecnología por delante de los objetivos de la empresa. Sí, todo el mundo quiere utilizar lo último en tecnología, pero eso no siempre es lo mejor para el proyecto. Siempre puedes mejorar las cosas si el negocio sigue vivo.
- Las personas involucradas deben participar activamente. Pueden mantener al equipo motivado compartiendo la repercusión del trabajo en la empresa, lo que, al final, mantiene a todo el mundo alineado con el objetivo final.
Jorge Castellanos, Partner en DEPT®/Digital Products
La alineación es fundamental. Cuando todo el equipo está en la misma onda, en la misma fase, todo lo demás encaja. Pero para conseguirlo hace falta un equipo dispuesto y capaz que tenga algo en lo que alinearse.
Después, es cuestión de encontrar el nivel adecuado de comunicación para mantener la alineación en un proyecto determinado. Esto será diferente para los distintos proyectos, pero como un rápido empujón inicial, un diseño de una semana o sprint de arquitectura puede hacer maravillas.
Joey Eggers, Managing Director en DEPT® APAC
¿Qué hace que un proyecto tenga éxito? En mi opinión, se reduce a tres elementos fundamentales:
- Comunicación – La comunicación es el elemento más importante para el éxito de cualquier proyecto. Casi todos los problemas tienen su origen en la comunicación. La comunicación tiene que ver con la honestidad, la transparencia y la garantía de que todo el mundo tiene contexto. No es sólo verbal, sino también la forma en que utilizamos eficazmente nuestras herramientas, procesos y cadencias semanales de proyectos. En última instancia, estos elementos garantizan que todos los miembros del equipo y el equipo del cliente compartan la misma “fuente de verdad”, visión y objetivo final.
- Confianza – Una comunicación clara y abierta genera confianza. La confianza anima a los miembros del equipo y a los clientes a plantear problemas, hacer sugerencias o admitir errores sin temor a un juicio negativo. Esto conduce a una comunicación y colaboración más abiertas y a mejores resultados del proyecto.
- Propósito – Algo mágico sucede cuando tu equipo trabaja en un proyecto que les apasiona. Los valores personales y los objetivos del proyecto se alinearán para inspirar a los miembros del equipo a unirse. Esta alineación motiva instintivamente a todo el mundo a ir más allá, lo que conduce a un resultado de mayor calidad y a superar las expectativas.
Tim Davison, Principal Software Engineer
Una de las cosas que puede hacer o deshacer un esfuerzo de desarrollo es lo definido que esté el objetivo del software. Puede ser tentador precipitarse en la construcción, sobre todo cuando los plazos y las prioridades empresariales se ciernen sobre el equipo, pero tomarse el tiempo necesario para definir claramente el estado final del desarrollo puede ser una oportunidad inestimable para alinear a las partes interesadas y evitar sorpresas en el camino.
Mientras que algunos ingenieros pueden sentir la emoción de la caza en un proyecto exploratorio, la mayoría se verá impulsada a construir código a nivel de producción, lo que puede ser el enfoque equivocado en una situación de “fallo rápido”. Incluso los proyectos que utilizan una estrategia ágil pueden venirse abajo si el backlog está lleno de picos que bloquean los tickets procesables, con un resultado desconocido que podría dejar a la empresa con un progreso lento o nulo hacia la solución de su punto de dolor original.
Centrarse en el estado final permite al equipo planificar características incrementales y puntos de decisión como un plan, no como una ocurrencia tardía.
Jonah Jolley, Director de Ingeniería
La naturaleza de la consultoría de software a medida es que no hay una talla única. El alcance técnico, la complejidad temporal y el tamaño del equipo pueden contribuir a experiencias muy diferentes.
Sin embargo, todas comparten algunos rasgos comunes en torno a los cuales intentamos aplicar algunas expectativas.
- Comunicación y alineación transparentes. A menos que hayamos hecho un trabajo previo en un sprint de arquitectura, los objetivos pueden moverse bastante a lo largo de un proyecto. Garantizar una comunicación constante con los equipos externos e internos para alinear los requisitos empresariales y la definición del éxito del proyecto es fundamental.
- Tener dos conjuntos de plazos. Una parte de la colaboración con un equipo externo es que a menudo tienen que hacer frente a sus propias limitaciones de recursos y presiones. Queremos ser los mejores socios posibles. Una parte de ello consiste en establecer expectativas claras, comprometernos con nuestros resultados y generar confianza mediante la ejecución. Cuando dependemos de un equipo externo. Al fijar un plazo interno, nuestros equipos necesitan la dependencia para poder cumplir y comunicar un plazo externo que necesitamos de ellos. Esto nos permite disponer de cierto margen para entregas tardías y reduce las conversaciones difíciles en torno a la entrega.
- Miembros del equipo que no tienen miedo a escalar pronto. Los problemas pueden resolverse rápidamente si se conocen pronto. Pero los equipos deben sentirse cómodos planteando problemas y tener un umbral interno de lo que debe tratarse dentro del equipo y lo que debe escalarse. Mantener una conversación en una fase avanzada del proyecto no sienta bien a nadie.
Nat Ring, Director de Ingeniería
Una de las mejores formas de garantizar el éxito de un proyecto de desarrollo es la comunicación clara y la flexibilidad en torno al proceso del equipo. No importa si el equipo sigue una metodología Agile estricta o si adopta un enfoque más relajado al estilo Kanban.
Averiguar qué funciona (o no) en el proceso de un equipo y estar abierto a cambiar partes de ese proceso puede afectar enormemente a la productividad, las expectativas y la felicidad del equipo.
Mantenga una línea de comunicación abierta entre el equipo para que todos estén de acuerdo con los cambios de proceso propuestos. Una vez que se haya introducido un cambio, comprueba con todos al cabo de una semana o dos cómo está funcionando. Puede que sea más eficaz hacer un standup diario en Slack en lugar de una reunión. Aumentar las aprobaciones necesarias antes de fusionar un RP podría crear más estrés del que merece la pena.
Al igual que los requisitos de los proyectos cambian a menudo, también debemos ser flexibles en nuestros procesos y estilos de comunicación. Escuche a su equipo y descubra qué es lo más eficaz para ellos, en lugar de ceñirse a un conjunto prescrito de directrices establecidas desde el principio.
Phil Gonzalez, Director de Ingeniería
A veces, el dinero y los grandes objetivos llaman a la puerta de los líderes que quieren tener un impacto positivo. Pero el problema es el siguiente: incluso los mejores equipos se topan con obstáculos si las reglas del proyecto no son claras como el cristal. ¿Esos proyectos masivos? Necesitan planos detallados.
Ahora bien, el enfoque ágil te da margen para construir incluso cuando no estás 100% seguro de todo. Pero a medida que pasa el tiempo, esas ideas “quizás” pueden convertirse en problemas obstinados.
Por ejemplo, imagina a un ejecutivo que cree que su equipo de datos actualizará un archivo concreto para una aplicación. Esperan que funcione de una determinada manera. Pero si la brigada de datos decide cambiar las cosas, la aplicación necesita ajustes. Si esto ocurre demasiadas veces, es un quebradero de cabeza.
Por otro lado, las aplicaciones de éxito están bien pensadas, probadas y ajustadas a lo largo del tiempo. Empiezan con objetivos pequeños y alcanzables y van creciendo a partir de ahí. Si un equipo interno no puede cumplir un requisito, no pasa nada: tenemos un plan. Podemos ajustar nuestros objetivos y reorganizar nuestra lista de tareas. Controlamos los plazos, sabemos qué funciones añadimos y hablamos mucho.
En lugar de precipitarnos con un gran “lanzamiento”, preferimos un viaje suave desde una versión básica hasta un producto pulido. Y decidimos qué es lo siguiente basándonos en hechos concretos, como las opiniones de los usuarios y los datos.
Los equipos que trabajan al más alto nivel se centran tanto en las habilidades interpersonales y la interacción de calidad como en la aptitud técnica.
Si tuviste la suerte de experimentar proyectos de éxito, no te sorprenderá ver que nuestros líderes más experimentados se centran en la comunicación, la alineación de objetivos y la confianza.
Los equipos que trabajan al más alto nivel se centran tanto en las habilidades interpersonales y la interacción de calidad como en la aptitud técnica. La flexibilidad en los procesos y la adaptabilidad son igualmente esenciales. Unas expectativas claras, la participación de las partes interesadas y la comprensión del panorama general pueden influir significativamente en el resultado de un proyecto.
Cuando puedes centrarte en tu trabajo con un proceso de baja fricción, puedes encontrar mejor un estado de flujo en el que puedes construir un gran producto y entender hacia dónde puede ir el producto a continuación.
Unas sólidas habilidades técnicas son esenciales para la entrega de productos. Sin embargo, cuando se está acostumbrado a trabajar con miembros del equipo técnicamente expertos, se puede mirar más allá de un ingeniero de Javascript sólido con una pizca de experiencia en AWS y encontrar líderes de ingeniería capaces de fomentar estas habilidades interpersonales para beneficiar a todo el equipo.
Esto, por ende, beneficia al proyecto, a las partes interesadas y a los clientes. Estos jefes de proyecto no aparecen, escriben código y se desconectan. Tutelan a otros miembros del equipo. Facilitarán la comunicación tanto interna como con las partes interesadas no técnicas. Pueden establecer los procesos más eficaces para el resto del equipo, el cliente y ellos mismos para que todos puedan hacer su mejor trabajo. Esto ayuda a tender puentes entre el equipo de desarrollo, los clientes, las partes interesadas y los consumidores, lo que inevitablemente conduce a un producto mejor que el que podrían conseguir unas simples habilidades de ingeniería.