Una guía para desarrolladores para tratar el crecimiento, el agotamiento y el síndrome del impostor

Cómo (y por qué) debes eliminar la jerarquía de tu equipo de desarrollo

Este artículo fue publicado originalmente en .culto por Dirk Ziegener. .cult es una plataforma de medios para historias de desarrolladores no contadas, donde los desarrolladores pueden leer contenido en el lado más suave del desarrollo y ver documentales sobre la tecnología que aman. Puedes leer esta pieza original aquí.

Cuando buscas un trabajo en tecnología, todo se trata de trabajo en equipo, métodos ágiles, jerarquías planas y cerveza pong, al menos eso es lo que cada empresa reclama para sí misma. Tuve que aprender que hay compañías que se toman esto realmente en serio. Bien, tal vez no sea el pong de cerveza, ¡pero ciertamente todo lo demás! La compañía de la que estoy hablando es Studitemps, una agencia tentadora para estudiantes con sede en Colonia, Alemania. Ayudamos a los estudiantes a conseguir un trabajo mientras estudian en la universidad, y lo hacemos con una fuerte presencia en todas las ciudades universitarias más importantes de Alemania y, por supuesto, con una sólida plataforma digital que facilita el proceso detrás de escena.

En febrero de 2018 me uní a Studitemps como Jefe de Desarrollo. Después de años en el mundo de las agencias de marketing y proyectos de desarrollo de alta presión, estaba muy emocionado de tener la oportunidad de volver a trabajar con equipos de productos. Asumí la responsabilidad de tres equipos de desarrollo que trabajaban de forma autónoma en diferentes partes de nuestro producto.

Nuestra misión principal era modernizar la plataforma de software que ejecuta todo nuestro negocio desde cero. Naturalmente, enfrentamos muchos desafíos técnicos cuando dividimos nuestro monolito de software en microservicios, pero preferiría compartir sobre la forma en que nuestro departamento está organizado y lo que significa ser el gerente de equipos autoorganizados con la menor jerarquía posible.

¿Cómo es un mundo de desarrollo (casi) sin jerarquías?

Para ser honesto, todavía tenemos algún tipo de jerarquía. Es muy plano y tiene solo un nivel. Hay miembros del equipo y está el Jefe de Desarrollo, sin nadie en el medio.

El Jefe de Desarrollo es oficialmente responsable de la gestión profesional y disciplinaria de todos los miembros de los Equipos de Desarrollo, los Ingenieros de Datos y los Maestros Scrum del departamento. Por lo tanto, estoy a cargo de la estrategia técnica a largo plazo, la estabilidad y el rendimiento, así como el funcionamiento de todas nuestras aplicaciones. Soy responsable del crecimiento del departamento, el proceso de contratación y contratación de personal, la marca de nuestro empleador, el patrocinio, la gestión de eventos y, por supuesto, todo el proceso de desarrollo y entrega de software. Hablo con más de 35 informes directos en siete equipos en uno contra uno regular. Y si la mierda golpea al ventilador, soy la única garganta que se ahoga. La única forma de manejar esto es confiar en su gente y entregarle la responsabilidad. Es por eso que nuestros equipos son autoorganizados y se encargan de muchas de las cosas enumeradas anteriormente.

Cuando comencé en Studitemps, esto no era tan obvio para mí. El departamento que asumí ya estaba autoorganizado. Así que estaba en mí aprender a manejar esto. Me tomó un tiempo entender cómo abordar las cosas y todavía estoy aprendiendo y ajustándome todos los días. Esto comienza con cosas simples como la planificación de vacaciones. En mi antiguo trabajo, estaba acostumbrado a aprobar cada solicitud de vacaciones para asegurarme de que no todos se vayan de vacaciones al mismo tiempo para que los equipos se mantengan productivos. Se sintió incómodo cuando esto ya no estaba bajo mi control. Todo lo que pude hacer fue confiar en los equipos, pero no me llevó mucho tiempo entender que podía relajarme y confiar en ellos. Manejaron esto tan responsablemente como lo habría hecho yo.

Entonces, ¿qué significa exactamente la autoorganización?

¿Qué es la autoorganización?

En el contexto de una organización, la autoorganización significa la delegación de liderazgo en los equipos. Los miembros del equipo se hacen cargo de las tareas y responsabilidades del gerente. Se administran a sí mismos, organizan su jornada laboral juntos, asumen la responsabilidad y la propiedad y actúan con mucha libertad para tomar decisiones.

Al hacer eso, el rol del gerente cambia de ser la única persona que le dice a todos los demás qué hacer, o peor aún: cómo hacerlo, a la persona que brinda orientación y apoyo, para que los equipos sepan en qué dirección cabeza. Puede comparar equipos autoorganizados con un equipo de fútbol. Sus jugadores deben comprender el propósito del juego (lanzar la pelota hacia este objetivo), así como las reglas (no rompa los huesos de otros jugadores) y los límites del campo de juego (la pelota debe permanecer dentro de los límites). Dentro de este sistema, con sus límites dados, pueden moverse libremente y tomar sus propias decisiones para alcanzar su objetivo.

Obviamente no es posible simplemente entregar todas las tareas y responsabilidades posibles de un gerente a los equipos. La transición de una organización clásica de arriba hacia abajo a equipos autoorganizados es un proceso continuo y debe comenzar lentamente y delegar más y más decisiones a sus equipos con el tiempo.

¿Cómo es la autoorganización en Studitemps?

Nuestros equipos ya son bastante maduros en cuanto a su nivel de responsabilidad y propiedad. Cada equipo desarrolla, mantiene y posee uno o más servicios y aplicaciones de software de nuestra plataforma general de productos. Deciden quién se convierte en miembro del equipo y organizan el proceso de reclutamiento, realizan las entrevistas de trabajo y organizan un día para conocerte con cada candidato que llegó tan lejos.

Cada equipo decide qué tecnología usar para resolver el problema específico de ellos o de sus usuarios. Tenemos equipos que escriben sus aplicaciones en Elixir y Phoenix, mientras que otros usan Ruby con Hanami o Rails, Flutter o React, Gatsby o Python. Cualquiera sea la herramienta o plataforma que se necesite, el equipo puede decidir qué usar.

Si los equipos se dan cuenta de que tienen que mejorar sus habilidades en una determinada tecnología o método, deciden qué capacitación o conferencia necesitan visitar. El equipo se asegura de que constantemente entreguen software, así como soporte y mantenimiento de sus aplicaciones. Dentro de este acuerdo, administran su tiempo de trabajo, sus reglas de trabajo remotas o su horario de vacaciones por su cuenta. Ningún gerente debe aceptar nunca más una solicitud de licencia. El equipo organiza su trabajo por su cuenta.

Hablando de reglas y acuerdos: como en el fútbol o en cualquier otro deporte, es crucial que todos entiendan y acepten las reglas comunes. Debes asegurarte de que nadie los olvide o simplemente no los conozca. Por lo tanto, debe escribirlos y hacerlos transparentes. Una excelente herramienta para negociar los niveles de delegación para ciertas decisiones y darles visibilidad es la maravillosa Junta de Delegación de Jurgen Appelo. Cuando me uní a la empresa, fue uno de mis primeros desafíos descubrir y comprender lo que ya se delegaba a los equipos y cuál era mi responsabilidad. Es bastante fácil poner el pie en él cuando no conoce estas reglas. Por lo tanto, anótelos y hágalos visibles, por ejemplo, creando un tablero de delegación.

Entonces, si bien ya hemos delegado muchas decisiones en los equipos, todavía hay muchos temas que aún no hemos abordado. Hasta ahora, estas responsabilidades permanecen bajo el control del gerente. El mayor ejemplo aquí serían los salarios. Por mucho que a la gerencia le encantaría delegar la responsabilidad de los salarios individuales de cada miembro del equipo en el mismo equipo, esto significaría un cambio muy grande para todos los involucrados; tanto para la organización como para los propios miembros del equipo.

De repente, usted, como equipo, tendría que encontrar formas de medir el desempeño de sus compañeros de equipo y negociar un salario justo basado en habilidades, competencia o experiencia. Tenemos que preguntarnos: ¿cada miembro del equipo quiere tener tanto poder y responsabilidad? ¿Y esto podría incluso dañar la salud y la cultura del equipo?

¿Qué deben controlar los equipos?

Permitir que los equipos tomen estas decisiones resolvería tantos problemas actuales. El modelo de tener un solo gerente que habla con cada miembro del equipo sobre el desempeño, el desarrollo personal y el salario no se adapta muy bien. En cierto tamaño, debe agregar más gerentes y, por lo tanto, aumentar los niveles de jerarquía, o delegarlos en los equipos.

Para averiguar si y bajo qué circunstancias esto podría funcionar, estamos realizando un experimento con salarios autoorganizados en nuestro departamento interno de TI. ¡Los resultados hasta ahora son muy prometedores! Un efecto interesante de los equipos que asumen más responsabilidad es que se vuelven más independientes y seguros con el tiempo. Si tiene varios equipos que necesitan cooperar mucho, esto podría resultar en una falta de comunicación y, finalmente, una menor cooperación entre estos equipos. Esto puede empeorar si los equipos deciden horarios de trabajo completamente diferentes, acuerdos de trabajo remotos o ritmos de Scrum Sprint que no están sincronizados. Los eventos que mejoran la colaboración, como la Comunidad de Prácticas, las reuniones regulares de Scrum of Scrum o las retrospectivas de todo el departamento con la participación de todos los equipos, pueden ayudar a contrarrestar este efecto.

El futuro de la gerencia.

¿Significa esto que los gerentes se vuelven obsoletos en el futuro cercano? ¡Tal vez! Pero no muy pronto. Para el gerente, este mundo sin jerarquías obviamente significa un gran cambio, pero aún existe la necesidad de liderazgo en este mundo, no tanto como una posición de poder dentro de un sistema jerárquico como solía ser, sino como un servicio a los empleados para apoyarlos en su trabajo. Los gerentes pueden proporcionar objetivos y orientación a los equipos, comunicarles los valores y visiones de la empresa, eliminar obstáculos y procesos moderados. Tal vez, algún día, el gerente delegue estas tareas de liderazgo en un equipo mismo. Y entonces el mundo realmente estará sin jerarquías.

Deja un comentario