2. FUNDAMENTOS DEVOPS
• Realizar avances en corto tiempo.
• El software como servicio debe entregarse de manera continua
agregando valor al cliente.
• El grupo de desarrolladores debe trabajar como un equipo
conjunto, es decir, dejar de desarrollar en serie.
3. CULTURA DEVOPS
• Visión compartida del negocio y los clientes, para todos los
equipos del proyecto.
• Se elimina la responsabilidad unitaria, debido a que todos los
equipos son responsables del resultado.
• Los ciclos constantes permiten entregas rápidas con una alta
capacidad de corrección y estabilidad del producto.
• Liderazgo capaz de crear valores y comportamientos colectivos.
4. PRODUCTOS SOBRE DIRECTIVOS
• No existía una comunicación e interacción continua. Los
cambios eran mayores pero menos frecuentes, por lo que
requerían de mayor tiempo para ser aprobados.
• Los DevOps requieren un servicio colectivo, capaz de generar
mejorías en cada ciclo. Los líderes impulsan una comunicación
abierta, con métricas compartidas, mecanismos de
automatización y retroalimentación dentro y fuera de cada
equipo.
5. CONFIANZA Y RESPETO
• Cada miembro del equipo es importante, sus aportes son
respetados y dialogados.
• Los líderes deben fomentar en cada ciclo, la confianza para
informar de posibles agresiones a cualquiera de los miembros.
• La confianza debe brindarse a cada miembro aceptando sus
capacidades para lograr el trabajo conjunto.
6. EMPATÍA
• Estrechar los lasos entre los miembros del equipo para una
colaboración abierta.
• Cuando se desarrolla un producto o una característica nueva,
se debe colocar en la posición del cliente y la dificultad de
manejo.
7. CANALES DE COMUNICACIÓN ABIERTOS
• Los equipos deben tener medios de comunicación lograr los
objetivos de rendimiento.
• Se podría solucionar encargando partes del proyecto a cada
equipo y un equipo de operaciones TI, que se encargue de
solventar todo lo necesario para lograr los objetivos.
• Aplicar modelos de inteligencia de negocios donde se integre
las ventas y la retroalimentación directa con la parte de
producción.
8. • El ambiente de trabajo es un punto clave. Deben existir áreas
de trabajo y salas de estar compartidas, equipo necesario y
pizarras de pared.
• Participación de los miembros de TI en charlas de metodologías
ágiles e implementación, que agreguen valor a su trabajo.
• Capacitaciones para la solución problemas por desempeño o
software inseguro.
• Los desarrolladores deben tener acceso al área de soporte para
entender los problemas a los que se enfrentan lo clientes.
9. FACTORES ADICIONALES
• Dirigir la empresa generando eficiencia, desde la parte
organizacional y logística.
• Hacer crecer el negocio experimentado nuevos mercados y
llevando el producto en diferentes presentaciones para que se
acomoden al cliente.
• Transformar el negocio, aunque es un mercado inestable la
compañía debe ser capaz de moverse en los diferentes campos
y adecuar sus procesos y productos para ir a la vanguardia.
10. REDUCIR LOS RESIDUOS
• Los problemas entre el desarrollo y el funcionamiento generan
retrasos, cada proceso tiene sus pruebas y defectos que al
sumarlos representan un gasto significativo de recursos y
tiempo en cada ciclo de vida dentro del desarrollo del software.
11. APOYO Y CREACIÓN DE VALOR
• Los clientes tienen la última palabra y las empresas deben ser
capaces de responder a sus comportamientos y deseos.
• Se debe examinar constantemente la herramienta desde la
perspectiva del cliente, se debe corregir cualquier interferencia
o residuo que impida el flujo de valor hacia el cliente.
12. Tipo de residuo Ejemplo Resultado en el negocio
Defectos
Mal diseñado y código de mala calidad,
actualizaciones no funcionales.
Pérdida de clientes e ingresos;
impacto negativo de la marca
Superproducción
Entrega de características que los
clientes no necesitan o quieren,
adquisición de capacidad adicional
debido al rendimiento imprevisto
requisitos.
Retrasos, sobrecargas de costos
y problemas presupuestarios.
Esperando
Excesos retrasos en la liberación y
Cuellos de botella Infraestructura y
datos no disponibles para las pruebas
Cambiar revisiones; Seguridad y
Auditorías de cumplimiento
Lento lanzamiento al mercado y
aumento de valor;
oportunidades perdidas.
Proceso agregado
sin valor
Longa resolución de problemas y lucha
contra incendios.
Problemas de moral; alto
personal en el volumen de
negocios.
Transporte
Rebotes de liberación frecuentes. Retrasos de lanzamiento de
aplicaciones; tiempos de ciclo
incrementados.
Exceso de
inventario
Recursos subutilizados, trabajo
parcialmente terminado y trabajo
excesivo en marcha.
Aumento de capital y costos
operativos.
Movimiento
Los desarrolladores cambian
constantemente, a demás de
Productividad perdida.
13. ESTRATEGIAS DE ELIMINACIÓN DE
RESIDUOS
• Evaluar a los clientes basados en niveles extremadamente altos
de capacidad funcional y calidad.
• Latencia o rendimiento de servicio en la nube puede erosionar
rápidamente el valor.
• Cruzar los equipos puede ayudar a identificar y eliminar los
residuos.
14. • Falta de acceso a las dependencias. En promedio un usuario
necesita acceso a 52 elementos, sin embargo, solo tienen
acceso a 23 de éstos.
• Incorporar la virtualización de servicios en desarrollo paralelo y
las actividades de prueba.
EVITAR LOS DEFECTOS ELIMINANDO LAS
RESTRICCIONES
15. CENTRARSE EN EL VALOR PARA PREVENIR
LAS SOBREPRODUCCIÓN
• Incorporación de aplicaciones de análisis de experiencia, para
identificar funciones y prestaciones del aplicativo que no se
usan.
• Pruebas de Split o A/B y análisis de embudos.
• Rediseñar elementos de código para reducir la complejidad,
teniendo presente que los elementos más baratos y confiables
son los que no existen.
16. REDUCIR EL TIEMPO DE ESPERA
• El 81% de las personas encuestadas identifica retrasos en el
desarrollo, reproducción o arreglo de un software.
• El 84% identifica un retraso en el control de calidad en las
pruebas o para verificar un defecto.
• Hay que tener en cuenta el acceso a los datos de prueba, el 20%
del ciclo de vida se pierde tratando de obtener la información
necesaria.
• La rapidez de la implementación del software determina su
valor.
17. • Asegurarse que todos los actores clave poseen el conocimiento
para cumplir con el ciclo de vida.
• Los lotes de entrega deben ser pequeños para que los
intervalos sean regulares.
• Desarrollo y automatización de procesos reutilizables y
repetibles, simplificar y agilizar las versiones de las
aplicaciones.
18. LIMITAR EL PROCESAMIENTO SIN VALOR
AGREGADO A TRAVÉS DE DATOS INSIGHTS
• Aprovechar las herramientas para trabajar sobre información
compartida.
• Incluir herramientas de análisis de impacto al cambio, para
facilitar la identificación de código adverso.
19. REDUCIR EL COSTO DE TRANSPORTE
MEDIANTE LA AUTOMATIZACIÓN DE
DESPLIEGUES
• Reducir el número de transferencias mediante la
automatización estándar tareas y actividades.
• Usar herramientas de automatización de acción y plugin al
mismo tiempo que integra procesos.
• Construir más conocimiento con notas de progreso.
20. ELIMINAR EXCESO DE INVENTARIO A
TRAVÉS DE LA FÁBRICA DE SOFTWARE
• El desarrollo parcialmente terminado puede volverse obsoleto
antes de su producción y se debe asegurar la integridad del
código base.
• Establecer un monitoreo pre-producción para evitar la
infraestructura a prueba de fallos en los servidores.
• Se incrementan los costos cuando los equipos ágiles adquieren
herramientas especializadas. Es necesario evaluar si el costo
adicional (capacitación o apoyo) compensa el valor entregado a
un equipo.
21. EVITAR MOVIMIENTO INNECESARIO CON
DESARROLLO PARALELO
• Virtualizar todas las dependencias para que los equipos puedan
desarrollar y probar en paralelo.
• Para evitar perder el 50% de las pruebas, se recomienda
implementar estrategias de eliminación de restricciones.
• Terminar trabajo, reuniones o interrupciones que no agregan
valor.
22. INCORPORAR EL CONOCIMIENTO DEL
EMPLEADO CON BUCLES DE
RETROALIMENTACIÓN
• Se deben incluir los pupitres de servicio y call-center como
mecanismos de información obtenida de los clientes para la
adaptación de un cambio funcionalidad nueva.
• Las redes sociales son un mecanismo de medida para la
detección de problemas en el software.
23. MÉTRICAS DEVOPS
• Eficiencia status quo, acelerar el tiempo de salida al mercado y
reducir los plazos de entrega.
• Salidas sobre los resultados, número de características
entregadas o servidores, este trabajo equilibrado con
indicadores de resultados logrados frente a la calidad deseada
por niveles.
• Fruta baja, medir los comportamientos y valores a nivel
organizacional que impactan las implementaciones DevOps.
24. Clase de métrica Ejemplos Efectos adversos
Vanity Metrics Líneas de código
producido, puntos de
función creado
Es contraproducente
porque recompensa
comportamientos erróneos.
Implementar funciones sin
validación inhibe la
simplificación del diseño.
Intra-Team Metrics Tablas de clasificación,
implementaciones/cambios
Compartir código,
exámenes por pares y
tutorías. Calificación
operacional, efectividad en
prevenir liberaciones e
implementaciones.
Traditional Metrics Tiempo entre fracaso Con las entregas rápidas
vendrán los fallos. Mejorar
la respuesta a fallos es más
importante que evitarlos.
25. LISTA DE COMPROBACIÓN DE IDONEIDAD
• Obtenible, tasas de retención del personal o transferencias
como indicadores de la moral del equipo de trabajo.
• Revisable, número de líneas producidas por cada desarrollador.
• Sin cambios, buscar los fallos que trabajen en contra de los
cultivos DevOps como los bonos SLA que inhiben los cambios.
• Accionable, toda métrica debe ser para una mejor decisión de
fabricación y determinar la eficacia de una nueva funcionalidad.
26. MÉTRICAS QUE IMPORTAN
• Personal, tasas de retención de personal, formación y
generación de conocimiento.
• Proceso, las prácticas existentes deben ayudar a lograr los
nuevos objetivos.
• Tecnología, porcentaje de lanzamientos fallidos y de ellos
cuantos fueron por código o por procesamiento manual o por
configuración de errores.
27. BIBLIOGRAFÍA
• Ravichandran, A; Taylor, K; Waterhouse, P. (2016). DevOps for
digital leaders. New York: Springer Science Business Media LLC.