Skip to main content

Si bien DevOps es ampliamente reconocido por agilizar la entrega de software y mejorar la calidad, crear un equipo realmente eficaz va mucho más allá de implementar una sola herramienta. Es una combinación estratégica de los elementos adecuados: cultura, procesos, colaboración y tecnología. Este artículo explora los componentes críticos de un equipo DevOps de alto rendimiento y ofrece ideas sobre cómo las organizaciones pueden integrarlos para conseguir resultados óptimos.

Para este Preguntas y Respuestas, hemos hablado con David Brooks, Vicepresidente Senior de Evangelismo en Copado. Con 35 años de experiencia en Silicon Valley, se unió a Copado en 2018 para crear la práctica de Gestión de Producto y dirigió el equipo de producto durante cuatro años. Brooks se unió a Salesforce.com en 2005 para lanzar el AppExchange. Como Vicepresidente de Producto, lideró los equipos que construyeron la plataforma Force.com durante sus nueve años en Salesforce.

¡Muchas gracias por conversar con nosotros! Antes de entrar en detalle, ¿podría contarnos un poco su historia personal? 

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

Este campo es un campo de validación y debe quedar sin cambios.
Name*

Obtuve mi maestría en Ingeniería Eléctrica de la Universidad de Auburn en 1984. Mi tesis consistió en un sistema operativo tolerante a fallos para multiprocesadores, destinado a la defensa contra misiles balísticos. 

Me mudé a Silicon Valley, donde trabajé para ocho empresas emergentes, logrando salidas exitosas en tres de ellas hasta ahora. También me uní a Salesforce poco después de que se hicieran públicos en 2005. Lideré los equipos que lanzaron AppExchange y luego la plataforma de Salesforce. Mayormente he ocupado cargos de liderazgo senior en ingeniería y gestión de producto, aunque también fui fundador y CEO de dos compañías. 

Nadie puede alcanzar el éxito sin ayuda por el camino. ¿Hay alguna persona en especial que le ayudó a llegar hasta donde está?

Hay dos personas significativas. Chuck Comiso fue el CEO de Link Technologies, donde yo dirigía el desarrollo de producto. Era un gerente de la vieja escuela de HP. Chuck me enseñó mucho sobre cómo gestionar personas. Ted Elliott fue el CEO de JobScience y es el CEO de Copado actualmente. Ted me mostró cómo enfocarme en lo importante y lo que se necesita para hacer crecer una startup.

¿Cuáles son tres fortalezas, habilidades o características que le ayudaron a llegar a este punto en su carrera? ¿Cómo pueden otros desarrollar activamente esas áreas en sí mismos? 

Curiosidad, comunicación y creatividad. Soy naturalmente curioso y un estudiante de por vida, un don que valoro mucho. También tengo la capacidad de comunicarme con las personas de forma que puedan comprenderme. Hablo chino y he aprendido a ser paciente con quienes tienen el inglés como segundo idioma. Esto se traduce también en poder explicar ideas técnicas a personas no técnicas.

A menudo, las personas están tan ocupadas planeando lo que van a decir a continuación que pierden de vista el tema central de la conversación. Finalmente, debido a mi gran variedad de intereses, puedo unir ideas en formas novedosas. Así que mi creatividad es más una habilidad para sintetizar mucha información y convertirla en una nueva aplicación.

¿Qué habilidades sigue intentando desarrollar?

Tendría que ser la comunicación. Recientemente me mudé a un nuevo rol como Evangelista Técnico, que requiere que eleve mi nivel en comunicar las ideas clave que hacen diferente a Copado. También estoy liderando nuestro esfuerzo en China, así que mi chino será puesto a prueba.

Hablemos sobre cómo tener un equipo DevOps exitoso. ¿Qué objetivos clave puede identificar un equipo DevOps para una trayectoria de transformación digital?

Creo que la claridad y el respeto son fundamentales. Aclarar qué debe hacerse es cuestión de establecer prioridades y definir claramente las historias de usuario y características individuales. Un buen gestor de producto debe ser capaz de comunicar el “qué” y el “por qué”.

Comienza por comprender profundamente el “por qué” y después asegurarse de que los equipos de desarrollo y pruebas también lo entiendan. Debe haber un respeto mutuo entre los miembros del equipo, donde cada uno sienta que sus opiniones son valoradas y que sus inquietudes son escuchadas. Sin embargo, cada miembro del equipo debe cumplir con sus responsabilidades y ganarse esa confianza en cada sprint. 

¿Existen desafíos o errores comunes que deberían considerar los equipos DevOps?

Con demasiada frecuencia, un responsable del producto hace un mal trabajo para entender las necesidades de los usuarios: no lo que pidieron, sino lo que realmente necesitan. Siempre me enseñaron a preguntar “¿por qué?” cinco veces. Así comprenderás lo que realmente se necesita y podrás comunicarlo al resto del equipo.

Otro desafío ocurre cuando los miembros del equipo no son sinceros respecto a los desacuerdos. He visto a desarrolladores decirle a un PM que algo no era técnicamente posible sólo porque creían que no era la decisión correcta. Todo miembro del equipo debe sentir que su opinión es valorada y expresarse cuando no esté de acuerdo. Al final, el líder del equipo debe tomar una decisión, y el resto del equipo debe respaldarla.

¿Cómo pueden la colaboración y comunicación efectivas entre los miembros del equipo potenciar la productividad y el éxito de un equipo DevOps, y qué prácticas pueden facilitarlo?

La comunicación abierta y sincera, donde se valoran las opiniones de todos y todos tienen la oportunidad de ser escuchados, es fundamental. Comprender el "por qué" también es importante. Si algún miembro del equipo ve una mejor manera de cumplir con el requisito, el equipo debe estar abierto a esa idea. Esto a menudo da como resultado una solución mejor entregada en menos tiempo.

¿Qué papel juega CI/CD en DevOps y cuáles son las mejores prácticas para implementar pipelines de CI/CD que aseguren un proceso de entrega de software ágil y confiable?

CI/CD consiste en lanzar muchos cambios pequeños. Comienza definiendo las historias de usuario de manera que puedan realizarse en horas, no en días, y lanzarse a la siguiente fase sin romper nada. También son fundamentales las pruebas automatizadas funcionales y de seguridad.

Los equipos deben adoptar el desarrollo guiado por pruebas para que la funcionalidad fluya rápidamente a través del pipeline. Se deben establecer puertas de calidad en cada etapa para asegurar que un cambio no pueda avanzar a menos que esté completo. El CI/CD real hasta producción no es práctico en algunas industrias altamente reguladas, pero eso no debería impedir la práctica en todas las fases previas a producción.

¿Cómo contribuyen la promoción de una cultura y mentalidad DevOps al éxito general de un equipo, y qué estrategias pueden emplear las organizaciones para fomentar esta cultura entre sus equipos de desarrollo y operaciones?

Una mentalidad DevOps implica que todos los miembros del equipo tienen el objetivo común de entregar trabajo de calidad hasta producción. Los desarrolladores no pueden pensar que su trabajo termina cuando suben los cambios al repositorio. La calidad no es responsabilidad de una sola persona; es responsabilidad de todos los miembros del equipo. Esto, combinado con la confianza y la apertura a la mejora continua, hace que el equipo tenga éxito.

¿Cuáles son los componentes esenciales de un equipo DevOps exitoso? 

1. Confianza mutua—Al principio de mi carrera, trabajé en un equipo en el que los miembros no confiaban completamente entre sí. Constantemente dudaban de las decisiones de los demás y hacían cambios en secreto para “corregir” problemas. Esto ralentizaba el desarrollo y hacía que trabajar en el equipo fuera verdaderamente desagradable. 

2. Compromiso con los objetivos del equipo - El trabajo en equipo efectivo se basa en objetivos compartidos. En mi experiencia, los equipos más exitosos van más allá de los logros individuales. He visto líderes de desarrollo que, tras terminar rápidamente sus tareas, ofrecen orientación y apoyo a los programadores junior. Este espíritu colaborativo se extendía aún más, ya que los desarrolladores ayudaban a los ingenieros de pruebas a completar la automatización de pruebas. Como resultado, este equipo cumplía sistemáticamente con sus compromisos y mantenía un ambiente laboral positivo.

3. Comunicación clara - Se puede perder mucho tiempo y energía cuando el equipo no se comunica bien. Todo comienza con una correcta comprensión de los objetivos. Cuando comencé con la metodología ágil en 2006, sentía que las reuniones de planificación de sprint eran demasiado largas y que los daily standups no tenían sentido. No ayudaba que tuviera que llevar puesta una foto de un gallo durante la reunión para recordarme que era un observador y no podía hablar.

En retrospectiva, entiendo la importancia de mantener esas reuniones breves, pero se perdieron oportunidades para aclarar dudas. Más adelante en mi carrera, usábamos los daily standups para aclarar preguntas. No quieres llegar al final del sprint solo para darte cuenta de que construiste algo incorrecto.

4. Mejora continua - No hay dos equipos iguales, y ningún proceso único funcionará para todos los equipos. El movimiento Lean Manufacturing empoderó a los trabajadores de la línea de montaje para cambiar el proceso y hacerlo más eficiente. Realizaban experimentos y determinaban si los cambios mejoraban o empeoraban las cosas. Lo mismo aplica a los procesos de desarrollo de software. El equipo debe medir los resultados usando herramientas como el mapeo de flujo de valor para entender los problemas reales, y luego estar dispuesto a cambiar el proceso a uno que tenga sentido y aún cumpla con las normas de cumplimiento de la compañía.

5. Espacio seguro para nuevas ideas - La única forma de que todos los miembros compartan sus ideas es que se sientan seguros haciéndolo. No existen preguntas o ideas tontas. A menudo, una idea parecerá imposible de implementar, pero si cuestionas las prácticas de siempre descubrirás que nadie sabe por qué se implementaron. La peor respuesta que escuché fue: "Porque siempre lo hacemos así". La necesidad de mejora continua significa que debes estar abierto a nuevas formas de pensar. Puede que rechaces el 90% de las ideas nuevas, pero ese 10% puede tener un impacto significativo.

¿Qué tendencias emergentes prevés en el panorama de DevOps que podrían impactar significativamente las estrategias de transformación digital en el futuro?

La Inteligencia Artificial Generativa, sin duda. El uso de productos como Copilot para generar código y scripts de prueba aumentará significativamente la productividad. Pero tienes que partir de unos buenos requisitos, así que verás mejoras considerables en las herramientas que ayudan en la planificación.

La mayoría de nuestros esfuerzos futuros se centrarán en asegurar que hacemos lo correcto y comprendemos el impacto y las dependencias. GenAI facilitará la documentación de una versión, y mejorará nuestra capacidad para apoyar a los usuarios finales creando servicios de ayuda en tiempo real y actualizados con el estado actual de las aplicaciones.

Si pudieras inspirar un movimiento que generara el mayor bien para el mayor número de personas, ¿cuál sería?

¡Vaya! Creo que todo se reduce a unos principios bastante básicos. Trata a los demás como quieres que te traten, es decir, respétalos. Asume la responsabilidad de tus compromisos y cumple lo que prometes, es decir, integridad. Concéntrate en el éxito de tus partes interesadas; haz que tengan éxito y gana su confianza.

Conclusiones

Construir un equipo DevOps de alto rendimiento requiere un esfuerzo deliberado y constante. Al priorizar los componentes clave—cultura, procesos, colaboración y tecnología—las organizaciones pueden desbloquear todo el potencial de DevOps.

  • Evalúa tu estado actual e identifica áreas de mejora.
  • Invierte en capacitación y talleres para fomentar una cultura colaborativa de DevOps.
  • Implementa herramientas y automatiza procesos para agilizar los flujos de trabajo.
  • Mide constantemente el progreso y adapta tu enfoque en función de los resultados.

Para más entrevistas e información sobre DevOps, suscríbete al boletín de The CTO Club.