Exploración de la cultura de DevOps

Completado

La cultura es un pilar de DevOps porque exige una mentalidad de crecimiento y aprendizaje continuo para lograr el éxito. El respaldo de la dirección es uno de los elementos críticos para su éxito.

Antes de debatir sobre el aspecto de una cultura de DevOps, vamos a pensar en el rol de la cultura en la capacidad de una organización de adoptar DevOps. Según Gartner:

La resistencia cultural y los bajos niveles de disciplina de proceso generan considerables tasas de errores en las iniciativas de DevOps.

Gene Kim, autor de Phoenix Project y DevOps Handbook, dice:

DevOps es un recorrido plagado de desafíos que rara vez se deben a la tecnología equivocada o a los procesos erróneos. De hecho, los obstáculos mayores y más difíciles tienden a ser culturales. Además, si la cultura no está bien, aunque todo lo demás sí lo esté, serán inevitables la frustración, los costos adicionales y el riesgo de cometer errores.

Definición de cultura

En este contexto, la cultura es la herencia social de un grupo. Es un patrón de respuestas detectadas, desarrolladas o inventadas durante la historia de solución problemas del grupo que surgen de las interacciones entre sus miembros y entre ellos y su entorno.

La cultura determina:

  • Lo que es aceptable y lo que no.
  • Lo que es importante y lo que no.
  • Lo que es correcto o incorrecto.
  • Lo que es factible o no.
  • A quién se contrata, se despide y se asciende.

Motivos de problemas en las iniciativas de DevOps

Gartner Research muestra que, hasta el final de 2023, el 90 % de las iniciativas de DevOps no serán satisfactorias debido a las limitaciones de los enfoques de administración usados por la dirección.

Importante

La principal responsabilidad de la dirección es la creación de un entorno que permita tener una cultura de DevOps exitosa.

Las personas que trabajan en esfuerzos creativos no necesitan "cerveza en la sala de descanso" para motivarse, sino que necesitan dominio, autonomía y propósito.

Cuando algunas personas le preguntaron cuál es el componente más importante del éxito de Microsoft, su visión, su estrategia o su ejecución, el CEO de Microsoft Satya Nadella dijo que todos son importantes, pero que, en última instancia, era su mentalidad centrada en el crecimiento y en los propósitos.

Los doce ejemplos de una mentalidad de DevOps

Aquí se ofrecen doce ejemplos de una mentalidad de DevOps: mentalidad de liderazgo, enfoque en el cliente, pensamiento ajustado, pensamiento en el sistema, eliminación del desperdicio, teoría de las restricciones, alineación y autonomía, pruebas de desplazamiento a la izquierda, mentalidad de seguridad, desarrollo controlado por hipótesis, sitio activo y mentalidad de medición de resultados, no de la actividad.

Mentalidad de liderazgo

Gartner realiza las siguientes recomendaciones:

  • Priorice las características de comportamiento específicas necesarias para dirigir una iniciativa de DevOps, con menos énfasis en los conjuntos de aptitudes técnicas, para identificar a los líderes con un espíritu transformador.
  • Acepte el error como oportunidad de aprendizaje para desarrollar líderes con un espíritu transformador.
  • Permita a los líderes con un espíritu transformador tomar decisiones libres de segundas opiniones y proporcióneles objetivos claros y métricas clave para administrar a estos líderes.

Dado que DevOps es transformador, los líderes de infraestructura y operaciones (I&O) deben identificar a los candidatos que son visionarios, adaptables, motivadores, inspiradores y responsables.

Mentalidad centrada en el cliente

¿Qué significa estar centrado en el cliente?

  • Escuchar a los clientes y comunicarse con ellos
  • Medir lo que es importante
  • Aceptar el rojo en producción
  • Crear, medir y aprender
  • Usar la alternancia de características para una implementación airosa
  • Recopilar datos amplia, pero cuidadosamente

Mentalidad de pensamiento ajustado

Valor: la mentalidad de pensamiento ajustado comienza con una comprensión detallada del valor que el cliente asigna a los productos y servicios. La organización se centra en acabar con el desperdicio para entregar el valor que el cliente espera al más alto nivel de rentabilidad.

El flujo de valor abarca todo el ciclo de vida del producto, desde las materias primas hasta el uso por parte del cliente, y la eventual eliminación del producto. Para acabar con el desperdicio, el objetivo último del ajuste, debe existir una comprensión precisa y completa del flujo de valor.

Flujo: la comprensión del flujo es esencial para acabar con el desperdicio. Si el flujo de valor deja de avanzar en algún momento, el desperdicio es un efecto secundario inevitable. El principio de producción ajustada de flujo consiste en crear una cadena de valor sin interrupciones del proceso de producción en la que cada actividad vaya acompasada con las siguientes.

Extracción: el principio de producción ajustada de extracción ayuda a garantizar el flujo al asegurarse de que no se haga nada antes de tiempo, algo que crea un inventario de trabajo en curso y detiene el flujo sincronizado. En lugar de usar el enfoque tradicional estadounidense de producción de inserción del trabajo en función de una previsión y programación, el enfoque de extracción dicta que no se haga nada hasta que el cliente lo ordene.

Perfección: los profesionales de la producción ajustada se esfuerzan por lograr la perfección. La marcha en pos del proceso perfecto tiene lugar a medida que las mejoras continuas solucionan las causas principales de los problemas de calidad y el desperdicio de producción. La búsqueda sin descanso de la perfección es lo que impulsa a los usuarios del enfoque a profundizar más, medir más y cambiar más a menudo que sus competidores.

Mentalidad de pensamiento en el sistema

Una mentalidad de pensamiento en el sistema resalta el rendimiento de todo el sistema, no el de un determinado silo de trabajo o departamento.

Se centra en todos los flujos de valor empresarial habilitados por TI. Es decir, comienza cuando el negocio o TI identifica los requisitos, se integra en el desarrollo y luego se pasa a operaciones de TI, donde el valor se entrega al cliente como servicio.

Mentalidad de eliminación del desperdicio

Una mentalidad ajustada se centra en identificar y eliminar los siete residuos letales que no son de valor para el cliente:

  • Trabajo realizado parcialmente
  • Proceso extra
  • Características extra
  • Cambio de tareas
  • En espera
  • Movimiento
  • Defectos

Teoría de pensamiento de las restricciones

La teoría de las restricciones es una metodología para identificar y quitar restricciones (también denominadas cuellos de botella) que limitan el rendimiento. En la práctica, comienza por identificar el factor más importante que bloquea la consecución de un objetivo. Trabaje para minimizar ese factor hasta que ya no sea una limitación.

Diagram depicts the Theory of constraints: identify the constraint, exploit it, subordinate & synchronize to it, elevate the performance of the constraint, repeat the process

Equilibrio entre las mentalidades de alineación y autonomía

Es necesario conseguir un equilibrio entre alineación y autonomía. Un exceso de alineación genera menos innovación, menos motivación y menos colaboración. Demasiada autonomía conduce a más caos, confusión y conflicto, y también a menos coherencia.

Diagram explains aligned autonomy: if you get the organization, roles, teams, cadence, and architecture in alignment, then the plans and practices can function autonomously.

Mentalidad de pruebas de desplazamiento a la izquierda

Las pruebas de desplazamiento a la izquierda son un enfoque que se usa para acelerar las pruebas de software y facilitar el desarrollo al mover el proceso de pruebas a un punto anterior del ciclo de desarrollo. El desplazamiento a la izquierda es una referencia para mover las pruebas a la izquierda en una escala de tiempo. Ayuda a generar calidad y a identificar los problemas antes a fin de reducir el desperdicio de la reelaboración.

Las pruebas de desplazamiento a la izquierda están diseñadas para ser un modelo mejor para el desarrollo rápido, ya que los modelos de pruebas tradicionales que esperan hasta más adelante en el ciclo de desarrollo pueden crear cuellos de botella en este.

Mentalidad de seguridad

Para lograr una mentalidad de seguridad, los equipos deben:

  • Fomentar el reconocimiento.
  • Definir sus principios.
  • Actuar conforme a sus principios.

Mentalidad de desarrollo controlado por hipótesis

El uso de un enfoque de producto ajustado para desarrollar en ciclos más breves y el uso del desarrollo controlado por hipótesis ayudan a crear pequeños experimentos para obtener reacciones de los clientes y tomar decisiones controladas por datos.

El enfoque de desarrollo controlado por hipótesis:

  • Comienza a partir de una hipótesis: algo aceptado como verdadero sin prueba alguna
  • Articula la hipótesis que se va a probar
  • Realiza experimentos y pruebas
  • Examina la evidencia: un indicador del resultado

Mentalidad de sitio activo

En un equipo de DevOps no hay ningún lugar como producción. Todo lo que se hace va encaminado a mejorar la experiencia de los clientes.

Para crear un sitio estable de alto rendimiento, aplique los procedimientos recomendados de las operaciones continuas de forma disciplinada y continuada para mantener el sitio en buen estado.

Los factores clave de la cultura de sitio activo incluyen:

  • Detectar antes de que los clientes noten el problema
  • Controlar mediante datos
  • La causa principal es la clave
  • Configurar como código
  • Automatizar para sobrevivir
  • Tener una disposición abierta y aprender

Mentalidad de medición de resultados, no la actividad

La forma en que se mide a las personas conforma el modo en que estas se comportan. Debe medir el uso, la velocidad y el estado del sitio activo, no las líneas de código, el agotamiento del equipo ni el número de errores detectados.

Sugerencia

Tenga cuidado con la medición para lograr un resultado óptimo.