Cultura de microservicios – pilares fundamentales

Cómo enfocarse en la comunicación, los equipos y la innovación puede ayudarle a transformar su empresa.

El camino recorrido en grandes empresas y en este último tiempo desarrollando estrategias de micro servicios me ha demostrado una vez mas que el software y el hardware son sólo parte del rompecabezas cuando se trata de ensamblar una cultura exitosa de microservicios para su organización. Resulta que las empresas que son buenas en implementaciones de microservicio también pasan tiempo definiendo y orquestando su cultura empresaria y, en muchos aspectos…muchos, el código y los detalles del sistema operativo son menos importantes que los detalles de la cultura.

Estar enfocados y trabajar en la cultura y los valores, puede poner al mundo de TI un poco incómodo. El estereotipo de un ingeniero socialmente incómodo es una ficción práctica para las representaciones de televisión y películas de Silicon Valley, pero la realidad es muy diferente y en ella deberíamos trabajar muy intensamente. Tenemos grandes ejemplos en la actualidad, como las prácticas de recursos humanos, y trabajo en cultura empresaria  implementadas  de empresas como BBVA, Uber, Netflix y Spotify son excelentes ejemplos de los tipos de diseños organizativos que son una parte esencial de cualquier cultura exitosa de microservicio. Y, a pesar de que cada compañía se aproxima al reto de crear una cultura de microservicio de manera ligeramente diferente, hay tres aspectos del diseño organizacional que identificamos como claves para el éxito: la comunicación, los equipos y la innovación.

Comunicación

El papel de la comunicación se ilustra mejor mediante la Ley de Conway, que puede resumirse como “la comunicación dicta el diseño”. Básicamente, la forma en que los equipos se comunican tanto dentro del equipo como con otros equipos se refleja directamente en el código que producen. Por ejemplo, en el artículo “Arquitecturas, coordinación y distancia: la ley de Conway y más allá”, los investigadores de Bell Labs mostraron que  algunos issues como las dependencias ocultas pueden dar lugar a “respuestas inesperadas” se introducen en el equipo, mucho antes de que se escriba el código . Esto significa que diseñar modos de comunicación puede ser tan valioso como diseñar los módulos de código. La gente de ThoughtWorks incluso acuñó la frase “Inverse Conway Manoeuvre” para enfatizar la noción de que las empresas pueden evolucionar activamente y gestionar la estructura organizativa para lograr los resultados deseados.

Que puede hacer para mejorar la calidad y la inmediatez de las comunicaciones para sus equipos?

  • Diseñe límites, no combata la Ley de Conway: Participe en un diseño inicial para producir límites claros y estables en sus módulos de código y asigne equipos a lo largo de esos mismos límites. Reconozca la separación física existente como un “límite natural” tanto para los equipos como para el código. Puedes hacer que la ley de Conway funcione para ti. Trate de mantener equipos estables, incluso si la membresía fluctúa con el tiempo. Hoy puede reconocer las competencias naturales e impulsores de cada recurso y de un equipo en particular para generar una reducción muy considerable de la rotación y generar equipos felices. Como?
  • Herramientas de comunicación: Proporcionar un montón de herramientas de comunicación (video, chat, lista de correo, wikis, Workplace, Slack ) para que sea más fácil para los equipos llegar a la persona adecuada tan pronto como sea posible. Lo más importante es tratar de hacerlo lo más fácil posible para crear conexiones entre equipos.
  • Procesos de decisión: Inicie procesos que requieren que todas las decisiones sean registradas y publicadas por cualquiera que vea. Esto ayuda a los trabajadores remotos a mantenerse al día cuando no pueden estar presentes y crea un “syslog” de las acciones del equipo y las decisiones para la revisión histórica.

Todas las empresas con las logramos éxito mencionaron la importancia de la Ley de Conway en su dinámica de equipo.

Equipos

Eso lleva al segundo pilar de la cultura de microservicios: los equipos mismos. Aunque la historia de cómo Jeff Bezos utilizó “Dos equipos de pizza” (nunca se debería tener una reunión en la que dos pizzas sean insuficientes para alimentar a todo el grupo.)  para ayudar a minimizar el pensamiento en grupo es bien conocida, sólo un puñado de las empresas con las que trabajamos eran conscientes de la ciencia social / neurociencia detrás de esta idea. La investigación del antropólogo social británico Robin Dunbar en grupos de primates identificó la importancia del tamaño de grupo como un factor en el manejo de la cooperación dentro del grupo. A medida que los grupos crecen, la cantidad de “gastos generales” necesarios para mantener la cohesión aumenta.

En equipos de 150 personas, la investigación de Dunbar estima que casi el 40% del tiempo se gasta manteniendo al grupo en sincronía.

Pero en los equipos de alrededor de cinco, casi no se necesita sobrecarga para mantenerse en la tarea.

¿Qué puede hacer para aumentar la eficacia de sus equipos?

  • Objetivo para los equipos Dunbar de nivel 1 o 2: Las observaciones del equipo de Dunbar (equipos de 5, 15, 50 y 150) muestran que hay menos sobrecarga y mejor comunicación en grupos pequeños. Trabaje para organizar equipos en el extremo inferior de esta serie y, si necesita trabajar con grupos más grandes, divídalos en sub-equipos pequeños para reducir la sobrecarga.
  • Autonomía dentro de los equipos: Dar a cada equipo la mayor autonomía posible. Permitirles decidir cómo funcionan las cosas dentro del equipo, siempre y cuando no afecte adversamente a otros equipos. Y, con autonomía viene la responsabilidad. Asegúrese de que los equipos posean (se adueñen) su producto y se responsabilicen de todo su ciclo de vida, incluido el soporte posterior a la publicación.
  • Confíe en la interoperabilidad del equipo, elimine las dependencias: Si bien los equipos tienen autonomía dentro de su propio grupo, es importante que interoperen bien con otros equipos de la empresa. La interoperación stateless, no la interoperación apretada, es la meta. Los equipos no deben permitir que se rompa el código de otros equipos, y los equipos no deben tener que esperar uno al otro con el fin de hacer un lanzamiento de producción.

Las empresas que generar un resultado mas ágil son aquellas de equipo de entre 5 y 12 personas dentro de las predicciones de eficiencia de Dunbar.

Innovación

Por último, la razón por la que la comunicación y la dinámica de equipo son tan importantes para las empresas de estilo microservicio es que estos elementos pueden afectar en gran medida el ambiente de innovación en una organización. Los pequeños equipos reducen el pensamiento grupal poco saludable y hacen posible comunicarse con la reducción de gastos generales y la ceremonia. Esto, a su vez, facilita la aparición de ideas no convencionales y su implementación y su  prueba más rápidamente.

Y las ideas pequeñas, ejecutadas rápidamente, son un elemento importante para establecer una dinámica de innovación en su empresa.

Como Ron Ashkenas y Markus Spiegel señalan en su artículo de Harvard Business Review, “su equipo no debe funcionar como una máquina bien engrasada”, los equipos pequeños que trabajan independientemente muestran un mayor índice de éxito en la innovación que los equipos grandes y bien manejados. Y nuestra experiencia nos demuestra que aquellas que lograron con éxito en la implementación de microservicios contaron una historia similar.

Entonces, ¿cuáles son las claves para fomentar la innovación?

  • Misión central, estructura suelta: La innovación ocurre cuando los objetivos empresariales son bien comprendidos y “la forma en que hacemos las cosas hoy” no es altamente valorada. Proporcione a sus equipos objetivos claros y hágales saber que están libres para explorar caminos inusuales para alcanzar esos objetivos. No es probable que la defensa del status quo produzca ideas nuevas y creativas.
  • Maximizar el aprendizaje: Las organizaciones con culturas innovadoras valoran el aprendizaje. Varias empresas entrevistadas pusieron un gran esfuerzo en sesiones de “almuerzo y aprendizaje”, charlas invitadas y talleres – por lo general en el tiempo de la empresa. Además, anime a sus empleados a estudiar no sólo dentro de su campo de especialización, sino también en campos nuevos o relacionados.
  • El fracaso es una opción: el camino hacia el éxito no es una línea recta. Hay muchos intentos fallidos antes de descubrir algo nuevo. Elon Musk dice a sus empleados que “el fracaso es una opción aquí”. Los errores son una oportunidad de aprendizaje. Si castigas a las personas cuando fracasan, matas la innovación.

Más que código fuente y contenedores

Los microservicios son más que código fuente y contenedores. Las compañías que hacen bien la transición a una comunidad de equipos independientes y poco acoplados, pasan mucho tiempo diseñando y manejando su dinámica organizacional y promoviendo un espíritu de innovación en toda la organización. Por supuesto, la evolución de la cultura de su empresa no sucede durante la noche. Como cualquier trabajo importante de refactorización, debe realizarse en pequeños incrementos verificables con el tiempo. Cuando se hace bien, esto dará como resultado un sistema saludable y sostenible que será más fácil de mantener con el tiempo. Y esa es la forma de microservicio.

Nosotros podemos ayudarte a generar una fuerte cultura de micro servicios. Nuestro equipo es muy fuerte en experiencia para lograr tu transición y éxito. !