Creando sinergia efectiva para lograr una verdadera transformación tecnológica.
Hoy en día, las empresas de todas las industrias se están convirtiendo en empresas de software. La presión es alta y las empresas están tratando de ser lo más competitivas posible para satisfacerla. Y la clave del éxito como empresa de software es la entrega continua.
La tecnología y el desarrollo de software son elementos clave para brindar valor a los clientes y partes interesadas, ya que ayudan a aumentar la velocidad del proceso. Sin embargo, no pueden entregar valor por sí mismos, se requiere algo más.
DevOps es un muy buen enfoque para mejorar el valor de la entrega a través del desarrollo de software.
Estas son algunas métricas de las empresas que implementaron DevOps durante 2017 y pueden considerarse como de alto rendimiento.*
- Implementaciones de código 46 veces más frecuentes (múltiples implementaciones por día)
- Tiempo de entrega 440 veces más rápido desde la confirmación hasta el despliegue (menos de 1 hora)
- Tiempo medio de recuperación 96 veces más rápido (menos de 1 hora)
- Tasa de fallos de cambio 5 veces menor (0-15%)
* Tomado del reporte de State of Devops, creado por Puppet.
Las compañías de alto rendimiento tienen la mejor evaluación comparativa, pero funciona incluso mejor cuando se compara con otras categorías. Según un estudio de 2 años mencionado en el libro Accelerate, estos son números de 3 categorías diferentes:
*Los de bajo rendimiento fueron más bajos en promedio, pero tenían la misma mediana que los de rendimiento medio.
La fórmula secreta que usaron estas compañías de alto rendimiento para diferenciarse de las de mediano y bajo rendimiento fue la sinergia efectiva entre los principios de Devops y Lean UX para desarrollar una cultura DevOps dentro de la organización.
Cultura Organizacional
Según Torben Rick, '"la cultura organizacional se refiere a las filosofías, actitudes, creencias, comportamientos y prácticas que definen una organización"
Ron Westrum, profesor de sociólogos en Eastern Michigan university, ha definido una tipología con 3 modelos culturales diferentes:
Patológico (orientado al poder): Todo se hace por miedo y amenazas. Hay una falta de transparencia sobre lo que dicen y hacen los empleados.
Burocrático (orientado a la regla): Los empleados protegen sus departamentos dentro de la empresa; Todos siguen las reglas de su propio departamento; no existe cooperación.
Generativo (orientado al rendimiento): Toda la compañía está unida y enfocada en la misión final y los objetivos.
Westrum también muestra cómo fluye la información a través de la compañía y proporciona tres características de buena información:
- Proporciona respuestas a las preguntas que el receptor necesita respuesta.
- Es oportuno.
- Se presenta de tal manera que puede ser utilizado efectivamente por el receptor.
Ahora, veamos cómo las organizaciones de diferentes culturas procesan la información:
Se requiere confianza y cooperación entre las personas en toda la organización para que la información fluya, pero según la teoría de Westrum, estos son algunos de los beneficios clave:
- Una organización que trabaja más efectivamente.
- Una mejor cultura organizacional puede llevar a una toma de decisiones de mayor calidad porque las decisiones son más fáciles de revertir si resultan ser erróneas.
- Las personas hacen un mejor trabajo ya que los problemas se descubren y se abordan más rápidamente.
Una Cultura Generativa reúne todos los aspectos necesarios para lograr el flujo de información, según lo declarado por Westrum.Tener este tipo de cultura permite que el desempeño de la entrega de software mejore continuamente, ya que hay un impacto directo en la cooperación, la creatividad y la mejora de procesos.
Otros autores bien conocidos, como Jez Humble y Gene Kim, predijeron que la aplicación de los principios de Lean UX fomentan la transformación de la cultura organizacional.
Lean UX
En la 2ª edición del libro Lean UX, se define el concepto de Lean UX como:
“Inspirándose en el Startup Lean y en el desarrollo Agile, es la práctica de hacer que la verdadera naturaleza de un producto se ilumine más rápido, de manera colaborativa y multifuncional”
Lean UX está guiado por algunos principios básicos fáciles de seguir para la organización del equipo:
- Equipos multifuncionales: Los equipos se componen de varias disciplinas involucradas en la creación de un producto: desarrolladores, ingenieros de control de calidad, diseñadores de UX, etc. Los equipos diversos crean mejores soluciones, porque cada problema se considera desde muchos puntos de vista diferentes.
- Pequeños,dedicados y concentrados: No más de 10 personas dedicadas a un proyecto y trabajando en el mismo lugar. Los equipos más pequeños son más fáciles de mantener actualizados sobre el estado del proyecto, los cambios y el nuevo aprendizaje.
- Autosuficiente y empoderado: Elimine dependencias externas del equipo. Déles las herramientas que necesitan y permiso para resolver problemas con usuarios y clientes a través del contacto directo, aumentando su eficiencia.
- Equipo enfocado en el problema: Un equipo debe estar organizado alrededor de un resultado.
Lean UX también puede ayudarle a adoptar una cultura de aprendizaje y curiosidad, basada en los siguientes principios que pueden ayudar a lograr una cultura generativa.
- Pasando de la duda a la certeza: El desarrollo de software es complejo y lleno de incertidumbre. Tenemos que empezar con un supuesto. A medida que trabajamos, ganamos claridad al validar sus suposiciones y reducir así el riesgo.
- Resultados, no salidas: Las características son salidas y la meta es crear resultados, eso significa crear un cambio significativo y medible en el comportamiento del cliente.Sobre esta base, podemos decidir si una característica lanzada debe conservarse, cambiarse o reemplazarse.
- Eliminación de desperdicio: El objetivo final es mejorar los resultados.Todo lo que no contribuya a crear un resultado debe eliminarse. Al hacer esto, puede aumentar la productividad y tener equipos más efectivos.
- Entendimiento compartido: Compartir conocimientos es un factor clave para reducir el tiempo requerido para resolver un problema.
- No hay estrellas de rock, gurús or ninjas: Lean busca una visión centrada en el equipo, en lugar de centrarse en una sola persona.
- Permiso a fallar: Necesitamos probar nuestras suposiciones e ideas, la mayoría de las cuales pueden fallar. Buscamos crear un entorno seguro donde podamos experimentar, de una manera que podamos fomentar la creatividad.
Una buena manera de habilitar algunos de estos comportamientos es implementar un proceso de Integración / Entrega Continua. Este tipo de práctica te permitirá:
- Trabajar en pequeños lotes.
- Crear una gestión de configuración integral.
- Aplicar la gestión de datos de prueba
- Aplicar el concepto de “Todos somos responsables”.
- Adoptar la automatización de prueba (TDD, Calidad de código, Trabajo en pares)
Estas prácticas comenzarán a transformar la forma en que funciona su organización y la forma en que los equipos invierten el tiempo.
Conclusión
Se debe buscar trabajar hacia una cultura generativa que mejorará el rendimiento de nuestros equipos, aumentará la creatividad y brindará valor agregado a nuestros clientes a través de una mejor calidad. La clave es no solo adoptar DevOps, sino complementarlo con impulsores de la cultura como los principios de Lean UX que impulsarán la transformación cultural de su organización