Dev-Ops

Derribando muros

@yamitcar

artesano de software

AGILe Coach

lA CRISIS DEL SOFTWARE

Standish group -The chaos report - 1994

¡Agilidad!

Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre seguir un plan

Derribando muros

Scrum flacido

Artesania del software

Es decir, en la búsqueda de los elementos de la izquierda, hemos encontrado indispensables los elementos de la derecha.

No sólo software que funciona, sino también software bien construido

No sólo colaboración de clientes, sino también asociaciones productivas

No sólo responder al cambio, sino también agregar valor constantemente

No sólo individuos e interacciones, sino también una comunidad de profesionales

Derribando muros

Scrum + Calidad

Optimización local

Operaciones

cuellos de botella

¿y para hacer release?

  • aplicaciones e infraestructura compleja
  • workarounds de ultimo momento constantes
  • comunicación débil entre las áreas.
  • jugamos el juego de las culpas

¡¡¡Tardamos meses para poner

algo en producción!!!

knight capital group

Imaginen un mundo donde...

Imaginen un mundo donde...

Negocio, desarrolladores, QA, operaciones y seguridad trabajaran juntos con un único objetivo en común.

En este mundo:

Existen equipos multifuncionales que validan y priorizan cuales características harán que el negocio realmente avance a sus objetivos.

En este mundo:

los desarrolladores aseguran que el trabajo fluye sin problemas a través de toda la cadena de valor sin causar caos e interrupciones con operaciones u otros clientes.

En este mundo:

las personas de QA, operaciones y seguridad siempre están trabajando en formas para reducir la fricción del equipo

En este mundo:

No existen los UNDONE teams

Wikipedia dice:

DevOps es un acrónimo inglés de development (desarrollo) y operations (operaciones), que se refiere a una cultura o movimiento que se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales de operaciones en las tecnologías de la información (IT).

 

 Su objetivo es ayudar a una organización a producir productos y servicios software rápidamente.

DevOps

DevOps no es

un puesto de trabajo

usar herramientas cool

DevOps no es

solo para startups

DevOps no es

el remplazo de la agilidad

DevOps no es

incompatible con los procesos y seguridad

DevOps no es

Eliminar operaciones (No-ops)

DevOps no es

 no solo un mindset ni solo usar herramientas

DevOps es

flickr - 10 Deploys per day

john Allspaw, paul hammond, 2009

Amazon libera cambios a producción cada:

11.6 Segundos

Organizaciones de alto desempeño

Amazon, google, netflix, etsy hacen

mas de 100 deploys al día

 

Organizaciones de alto desempeño

  • Desplegan 46x mas frecuentemente
  • Tienen un lead time 2555x mas rápido
  • 85x menos incidentes al poner en producción
  • tiempos de recuperación de 2406x mas rápidos

Organizaciones de alto desempeño

Patológicas Burocraticas Generativas
Orientadas al poder Orientadas a las reglas Orientadas a la entrega de valor
Baja colaboración Colaboración moderada Alta colaboración
Evadimos responsabilidades Solo hago mi parte... Responsabilidad compartida
Fallar conduce al culpable Fallar conduce a la justicia Fallar conduce al aprendizaje

Reinventar las organizaciones

Comunicación, Integración, Cooperación

APRENDIZAJE RÁPIDO Y CONSTANTE

DevOps - CALMS

¿y cómo hacemos esto?

piramide de maslow

Respiración, alimentación, descanso, sexo, homeostasis
Seguridad física, de empleo, de recursos, moral, familiar, de salud, de propiedad privada
Amistad, afecto, intimidad sexual
Autoreconocimiento, confianza, respeto, éxito
Moralidad, creatividad, falta de prejuicios, aceptación de hechos, resolución de problemas

Auto realización

Reconocimiento

Afiliación

Seguridad

Fisiología

IC, CD, CD+

¿qué tenemos cubierto?

Dev-Ops Anti-types

Dev

Ops

Silos

Dev-Ops Anti-types

Dev

Ops

DevOps Equipo Silo

DevOps

Dev-Ops Anti-types

Dev

Ops

Dev no necesita Ops

DevOps

Dev-Ops Anti-types

Dev

Ops

DevOps, equipo de herramientas

DevOps

Dev-Ops Anti-types

Dev

Ops

DevOps, Sysadmin renombrado

DevOps

Dev-Ops types

Dev

Ops

Dev y Ops colaborando

Dev-Ops types

Dev

Ops

Dev y Ops responsabilidades completamente compartidas

Dev-Ops types

Dev

Ops

DevOps, Equipo con fecha de expiración

DevOps

Dev-Ops types

Dev

Ops

DevOps, Equipo evangelizador

DevOps

The phoenix project

The three ways

THE FIRST WAY

FLOW

LEAN SOFTWARE DEVELOPMENT

  1. Eliminar el desperdicio

  2. Asegurar la calidad

  3. Crear conocimiento

  4. Aplazar los compromisos

  5. Entregar rápido

  6. Respetar a las personas

  7. Optimizar el todo

Desperdicio

 

  • Código o funcionalidad innecesaria

  • Empezar mas de lo que podemos terminar

  • requerimientos poco claros

  • Burocracia

  • Comunicación lenta o poco efectiva

  • Trabajo entregado parcialmente

  • Bugs e issues

  • Multitasking

Value Stream map

Lead time:       44 S.

Process time:   15 S.

 

Eficiencia: 

15/44 = 0.34

 

34%

T. efectivo En cola
Pedido del usuario interno      1 semana 1 semana
Análisis y requerimientos 1 semana 12 semanas
Selección y priorización 0 semanas 4 semanas
diseño y arquitectura 1 semana 1 semana
programación 6 semanas 2 semanas
pruebas 3 semanas 2 semanas
despliegue 1 semana 4 semana
Capacitación y feedback 2 semanas 3 semanas

¿Qué deberiamos medir?

  • Frecuencia de despliegue
  • Lead Time
  • Tiempo medio de recuperación después de una falla
  • Tasa de fallo de los cambios.

Software Delivery performance

The First way - flow

Trabajo de Izquierda a derecha.

Encontrar desperdicios

Analizar el sistema y optimizar globalmente

Limitar el trabajo en progreso

Hacer cambios en pequeño

Mejorar el time to market

The second way

feedback

The Second way - Feedback

Trabajo de derecha a izquierda

Monitorear

Construir ciclos de feedback transparentes

Corregir defectos rapidamente

Identificar elementos de adaptación

The Third way

Experimentación y Aprendizaje continuo

The Third way - Experimentación y aprendizaje continuo

Fallar rápido, Parar y levantar la mirada, Integrar el aprendizaje en la cultura

Experimentación continua, Repetición y práctica

¿Preguntas?

¿y seguridad?

¡¡Muchas Gracias!!

Referencias

DevOps

By Yamit Cardenas M

DevOps

una historia de colaboración

  • 2,363