2. ¿Desarrollo y Operaciones divididos?
Desarrollo Operaciones
Entrega frecuente de funcionalidad Pocos despliegues. Miedo a
desestabilizar
Un proceso definido para desarrollo Otro proceso para administrar las
plataformas
Herramientas especificas para
desarrollo
Herramientas especificas para
operaciones.
Especializados en desarrollo Especializados en infraestructura
Los miden por la cantidad de
funcionalidades creadas
Los miden por el tiempo que el servicio
esta disponible y los tiempos de
respuesta de las aplicaciones
3. ¿Y la división que problemas trae?
Guerra de culpables
• Cultura de súper héroes
• Énfasis en los títulos (Desarrollador, tester, Arquitecto)
• Se favorece al plan sobre planear
• Equipos separados buscando metas e intereses propios
• Lenguaje no común
• Miedo a que el actuar de otro afecte mi trabajo
• Miedo a perder influencia y reputación
5. ¿Qué es DevOps?
Conjunto de patrones para incrementar la
colaboración entre desarrollo y operaciones.
Promueve metas, procesos y herramientas
compartidas.
Promueve la comunicación entre desarrollo.
Ayuda a superar el miedo al cambio y
despliegues riesgosos.
Proceso integrado desde el inicio del desarrollo
hasta su despliegue en producción y
mantenimiento.
6. ¿Qué es DevOps?
Equipo de proyecto compuesto por
programadores, testers, QA y expertos en
operaciones.
Único objetivo: Desarrollar software de valor y
entregarlo al usuario final.
7. El camino hacia DevOps
Procesos
Métricas
Que permitan tener
objetivos compartidos.
Cultura.
Personas sobre procesos y herramientas
Personas compartiendo herramientas,
conocimiento y procesos
Herramientas
Automatización
Esencial para tener
retroalimentación
temprana.
8. Cultura de colaboración
Respeto entre las personas
Compromisos y metas compartidas
Practicas y herramientas compartidas
Planes construido entre todos y planeación frecuente
Habilidades y tareas complementarias (No súper héroes)
Conocimiento compartido
Propiedad colectiva
Valores compartidos
9. Ambiente de colaboración
Alcances y restricciones claros
Slack time para mejorar continuamente. No a la
asignación full time.
Celebrar el triunfo juntos (DevOps)
10. Ambiente de colaboración
Permitir la auto organización , evitar el micro
management.
Rotar los roles para promover la colaboración
Desarrollo y operaciones en el mismo espacio físico
Daily meetings DevOps
Retrospectivas compartidas DevOps
11. El camino hacia DevOps
Procesos
Métricas
Que permitan tener
objetivos compartidos.
Cultura.
Personas sobre procesos y herramientas
Personas compartiendo herramientas,
conocimiento y procesos
Herramientas
Automatización
Esencial para tener
retroalimentación
temprana.
12. Procesos
Un solo proceso de entrega de producto en producción
Alinear las responsabilidades con entregable no con
roles
Utilizar frameworks como kanban para operaciones.
14. Métricas útiles
Software de valor en producción.
AVANCE
Objetivos compartidos
Funcionalidades construidas y no puestas
en producción. NO AVANCE
Cambio como indicador valioso.
No distinguir entre BUGS,
Mejoras, Requisitos
Un solo indicador de cambio
para Dev – Ops. Software,
hardware, middleware
No se mide a operaciones por la
estabilidad del ambiente
16. Métricas inútiles
Test pass/fail ratios. Tan
pronto como falla lo
corregimos.
Número de defectos creado
o corregidos: Solo
promueven la cultura de
culpables. Si hay Bugs no
hay valor.
Velocidad personal: Solo
logra que cada quien busque
lograr sus objetivos.
17. El camino hacia DevOps
Procesos
Métricas
Que permitan tener
objetivos compartidos.
Cultura.
Personas sobre procesos y herramientas
Personas compartiendo herramientas,
conocimiento y procesos
Herramientas
Automatización
Esencial para tener
retroalimentación
temprana.
18. Herramientas
Release automático
Incrementa la eficiencia
Garantiza procesos exitosos repetibles
Se puede automatizar la creación de maquinas
virtuales, aprovisionamientos, build, ejecución de
tests, despliegue de aplicación.
22. Herramientas Pitfalls
Los procesos automatizados requieren
mantenimiento.
Paradoja de la automatización: Mientras mas eficiente
sea un sistema automatizado,es mas esencial la
contribuación humana para que el sistema
permanezca en ejecución.
Ironia de la automatización: A mayor nivel de
automatización, menos habilidad tendrán las personas
para hacerlo por si mismos o arreglar el sistema.