Formación escrita en DevOps
¿Cuáles son las funciones en su organización DevOps?
Generalista de DevOps
La función principal de un generalista de DevOps es facilitar la implantación fluida, el progreso eficiente y saludable y la mejora continua de las prácticas de DevOps en la organización y sus equipos. Por ello, la competencia y la perspectiva de cada persona para trabajar con equipos de DevOps son determinantes para el éxito y la continuidad de estas organizaciones.
Tanto si forma parte de una organización DevOps como si colabora con otros equipos de DevOps, es muy importante entender qué hace que DevOps sea mucho más eficaz, eficiente y agradable de aplicar que otras metodologías de desarrollo y entrega de software, y cómo lo consigue. Por eso, en la era digital, en la que el software y todo lo que lo rodea tienen un papel central, se recomienda encarecidamente a todos los profesionales convertirse en generalistas de DevOps, con independencia de que sean especialistas, líderes o responsables de TI, software o tecnología.
Directivo de DevOps
Los directivos de DevOps se encargan de que los conocimientos de DevOps se utilicen y apliquen con éxito en sus organizaciones. Son figuras clave para que los equipos cambien su forma de pensar y trabajar de acuerdo con la cultura DevOps. Han demostrado que pueden influir de manera constructiva en los equipos y la dirección para sacar adelante el trabajo. Ayudan a alinear a los equipos de DevOps con las estrategias empresariales y se encargan de identificar, seleccionar, delimitar, priorizar y, en última instancia, gestionar la implantación de DevOps en sus organizaciones.
Los directivos de DevOps seleccionan a los miembros clave de sus organizaciones y se aseguran de que todos los profesionales de DevOps estén debidamente formados y se les asignen tareas y proyectos acordes con sus habilidades y experiencia. Se esfuerzan por orientar y asesorar a los equipos, apoyan la planificación de recursos y resuelven problemas y obstáculos para que toda la organización DevOps tenga éxito.
Los directivos de DevOps informan a la dirección ejecutiva sobre los objetivos establecidos en la misión de negocio de DevOps y las métricas definidas de rendimiento del negocio. Difunden las soluciones basadas en buenas prácticas, las mejoras logradas y los casos de éxito, y los aprovechan en toda la organización. Trabajan estrechamente con todos los equipos de DevOps, en especial con los responsables de proyectos, los Product Owners, los responsables de publicación de versiones, los formadores y los coaches de DevOps, dada la misión particular que tienen en la organización.
Responsable de proyectos de DevOps
El responsable de un proyecto de DevOps se encarga de alcanzar los objetivos establecidos. Entre sus responsabilidades principales están definir objetivos claros y alcanzables, elaborar los requisitos y gestionar las restricciones del triángulo de la gestión de proyectos, que son el coste, el cronograma, el alcance y la calidad.
El responsable de proyectos de DevOps suele representar al cliente y debe determinar y satisfacer sus necesidades concretas a partir de su conocimiento de la empresa que representa. Sirve de enlace entre el equipo de desarrollo y entrega y el cliente. Por ello, debe conocer bien su sector para comprender los problemas y tratarlos con ambos. Adaptarse a los distintos procedimientos internos de la parte contratante y establecer vínculos estrechos con los representantes designados es esencial para resolver con eficiencia las cuestiones de coste, cronograma, alcance y calidad y, sobre todo, lograr la satisfacción del cliente.
El título «DevOps Project Manager» designa a quien recibe el encargo de completar un proyecto. Esta persona asume toda la responsabilidad y tiene la autoridad y el nivel de rendición de cuentas necesarios para alcanzar los objetivos del proyecto dentro del presupuesto, a tiempo y con la mayor calidad posible.
Product Owner de DevOps
El Product Owner de DevOps desempeña una función singular y amplia que reúne todos los aspectos complejos de los puestos tradicionales de responsable de proyectos y responsable de producto. Además, representa al cliente en el equipo de DevOps y se asegura de que se haga el trabajo adecuado en el momento oportuno. Debe integrarse estrechamente con los equipos y procesos de desarrollo y entrega de software de DevOps para aportar el máximo valor añadido en cada versión del producto.
Los Product Owners de DevOps tienen varias responsabilidades clave. Entre ellas se incluyen:
- Gestionar la lista de trabajo pendiente del producto de DevOps.
- Apoyar la elaboración de hojas de ruta y planes de publicación del producto.
- Identificar dependencias del producto y priorizarlas de forma adecuada según la misión de la organización.
- Gestionar la relación y la comunicación con las partes interesadas.
Si trabaja directamente con clientes, entender la función del Product Owner de DevOps es fundamental para prestarles la mejor ayuda y aportarles el máximo valor añadido, ocupe o no ese puesto en su equipo.
Arquitecto de DevOps
Un arquitecto de DevOps es responsable de la arquitectura, el diseño y el desarrollo de las herramientas y los procesos de despliegue del producto. En este puesto se espera que diseñe y desarrolle soluciones innovadoras para crear y mantener la arquitectura del producto, así como las herramientas y procesos de la canalización de integración y despliegue continuos.
Los arquitectos de DevOps definen un conjunto de servicios débilmente acoplados para que sus consumidores se vean lo menos afectados posible por cambios en los servicios o sus entornos. Cierto acoplamiento es inevitable, ya que el consumidor debe utilizar el servicio. Los arquitectos reducen esas dependencias separando la interfaz de la implementación y utilizando políticas de versionado, contratos en tiempo de ejecución, independencia de plataforma y transparencia de ubicación.
La labor de los arquitectos es fundamental para el éxito de los equipos y las organizaciones DevOps. Además de crear una arquitectura óptima y débilmente acoplada para sus productos y servicios, estas organizaciones necesitan un entorno sumamente fiable, totalmente automatizado y sin obstáculos. Con el modelo en cascada, todo el mundo necesitaba un vehículo 4x4 para circular por terrenos difíciles. Al arquitecto de DevOps le corresponde construir la autopista para que los demás podamos usar vehículos más rápidos.
Desarrollador de DevOps
Como desarrollador de DevOps, transforma los objetivos de negocio de sus clientes en soluciones y sistemas de software. Lo que distingue a un desarrollador de DevOps es que tiene presentes los objetivos y las necesidades de negocio de sus clientes en todo momento. Entiende perfectamente por qué lo contrató su empresa y qué necesitan y esperan de usted sus clientes.
Además, como desarrollador de DevOps, es el socio tecnológico de confianza de sus clientes. Da a su empresa y a sus clientes plena confianza y motivos para seguir contando con usted. Es quien conecta los objetivos y requisitos de negocio con los diseños de software y las líneas de código ejecutable. Su labor va más allá del diseño y la programación. Asume de principio a fin el ciclo de vida de la ingeniería del software, desde el análisis de requisitos, la visión arquitectónica y la automatización de pruebas hasta la experiencia de usuario, las ampliaciones, las operaciones, el mantenimiento y el fin de vida.
Como desarrollador de DevOps, se encarga de desplegar soluciones de software que funcionan en iteraciones pequeñas y frecuentes. Domina la entrega continua de diseños y software a sus clientes y la garantiza para aportar valor rápido e ininterrumpido al negocio de sus clientes y al suyo. Recuerde que su misión es conseguir clientes satisfechos mientras desarrolla software que tanto usted como ellos disfruten.
Si le apasiona el desarrollo y se dedica a la ingeniería de software con DevOps para crear sistemas eficientes, de primer nivel y de alta calidad, le recomendamos encarecidamente convertirse en desarrollador de DevOps.
Ingeniero de operaciones de DevOps
Los ingenieros de operaciones de DevOps monitorizan, mantienen y despliegan el software y la infraestructura de vanguardia que sustentan sus productos. Despliegan y mantienen redes y servidores en centros de datos. Participan también en las instalaciones con los equipos de entrega y despliegue de DevOps y elaboran planes de contingencia para la entrega y el despliegue de productos.
Sus tareas abarcan desde el despliegue físico de tecnología en centros de datos hasta la colaboración estrecha con diversas partes interesadas, en particular con los desarrolladores de DevOps, para integrar en los productos la disponibilidad, la facilidad de mantenimiento, la capacidad de monitorización y la analítica.
Detrás de todo lo que ven los clientes de su organización está la arquitectura que crean los ingenieros de operaciones de DevOps, que también se encargan de mantener estos sistemas en funcionamiento. Desde desarrollar y mantener productos y servicios hasta construir la próxima generación de plataformas, hacen posible la cartera de productos de su organización.
Se enorgullecen de ser ingenieros al servicio de otros ingenieros y disfrutan desmontando cosas para volver a montarlas, aunque anulen la garantía. Están siempre preparados para ponerse de guardia y mantener operativos sus sistemas y redes, a fin de ofrecer a sus clientes la mejor experiencia y la mayor rapidez posibles.
Ingeniero de aseguramiento de la calidad de DevOps
Los ingenieros de aseguramiento de la calidad de DevOps analizan de forma proactiva las ventajas diferenciales del producto, los requisitos, los casos de uso, la arquitectura y otros materiales de diseño para determinar qué pruebas conviene realizar para validar la calidad del producto. Trabajan con desarrolladores y responsables de proyectos de DevOps para definir las metodologías de implementación y las herramientas para ejecutar y gestionar las pruebas.
Elaboran listas de casos de prueba creativos con una clara voluntad de buscar fallos. También clasifican sus casos por prioridad y dificultad. Preparan y revisan documentación detallada para que el resto del equipo de DevOps entienda bien cada caso.
Siguen y revisan continuamente la ejecución de las pruebas para comprobar que los casos implementados cumplen sus objetivos. Actúan como especialistas seguros y fiables al explicar los objetivos y la importancia de sus pruebas. Registran y revisan defectos y se aseguran de que se respeten todas las funcionalidades previstas del producto.
Además, animan a todo el equipo a revisar el diseño de las pruebas y aprovechan sus comentarios para añadir casos creativos y reducir redundancias. Dedican una parte importante de su tiempo a automatizar, ejecutar y volver a ejecutar pruebas para validar las correcciones que aportan los equipos de desarrollo.
Ingeniero de seguridad de la información de DevOps
En las estructuras tradicionales de TI, la seguridad de la información suele tratarse al final. Es otro requisito no funcional que a menudo se aborda cuando resulta más difícil, costoso y complicado detectar y corregir problemas.
Los ingenieros de seguridad de la información de DevOps diseñan la estrategia general de seguridad de la organización y detallan su plan de implantación. Entienden que hay que equilibrar constantemente las ventajas de las mejoras graduales de seguridad con la carga que pueden suponer para el negocio. Buscan y corrigen de forma proactiva los problemas de seguridad tanto en los diseños, desde las primeras etapas de ingeniería del producto, como en los sistemas de software en funcionamiento. Monitorizan las redes y la telemetría del software y priorizan los esfuerzos en función del riesgo.
En las organizaciones DevOps, los ingenieros de seguridad de la información trabajan codo con codo con los desarrolladores y los ingenieros de operaciones. Incorporan sus recomendaciones y conocimientos especializados mucho antes en el proceso de desarrollo y entrega de software. Ayudan a integrar la seguridad en el producto durante todo el ciclo de entrega.
Responsable de publicación de versiones de DevOps
Los responsables de publicación de versiones de DevOps gestionan y coordinan el producto desde el desarrollo hasta la producción. Suelen abordar detalles y obstáculos técnicos en los que un responsable de proyectos tradicional no puede intervenir. Supervisan la coordinación, la integración y el flujo de desarrollo, pruebas y despliegue para facilitar la entrega continua. Se encargan tanto de crear como de mantener la cadena completa de herramientas de entrega de aplicaciones.
Trabajan estrechamente con los responsables de proyectos y los Product Owners de DevOps para elaborar hojas de ruta y planes de publicación del producto, identificar dependencias y hacerlas visibles, procurar que los equipos prioricen las tareas dependientes, apoyar la gestión de la lista de trabajo pendiente del producto y facilitar la gestión de las partes interesadas y la comunicación con ellas.
Formador de DevOps
Como ocurre con otras tendencias de rápido crecimiento en TI, la adopción de DevOps puede dar lugar a malentendidos e ideas equivocadas. Un número considerable de equipos y empresas comete errores de organización, comportamiento y operación que perjudican el rendimiento de los equipos de DevOps y su encaje en el conjunto de la organización, que por lo general aún no trabaja con verdadera agilidad. Por desgracia, estas incoherencias a veces llevan a las organizaciones a abandonar las prácticas de DevOps, lo que perjudica a nuestro sector y a quienes impulsan DevOps.
Los formadores de DevOps son personas con talento que, como usted, promueven DevOps y velan por que las organizaciones aprendan y se formen correctamente en sus prácticas.
Los formadores pueden trabajar de manera independiente de los equipos de DevOps y contar con el respaldo directo de los directivos para impartir formación en toda la organización, de arriba abajo. También pueden formar parte de un equipo de DevOps y trabajar con los directivos para obtener el apoyo necesario y formar de manera continua a otras áreas para que puedan trabajar con esos equipos. Si quiere ayudar a sus equipos de DevOps, equipos de negocio y patrocinadores ejecutivos a aprender e implantar correctamente estas prácticas, le recomendamos encarecidamente convertirse en formador de DevOps.
Los formadores suelen enseñar DevOps a clientes externos en un entorno educativo. Los coaches suelen orientar a integrantes de equipos de DevOps dentro de las organizaciones de sus clientes, asegurándose de que entienden DevOps y lo aplican correctamente. Dan consejos y sugerencias a los equipos mientras realizan su trabajo en su entorno habitual.
Coach de DevOps
Como ocurre con otras tendencias de rápido crecimiento en TI, la adopción de DevOps puede dar lugar a malentendidos e ideas equivocadas. Un número considerable de equipos y empresas comete errores de organización, comportamiento y operación que perjudican el rendimiento de los equipos de DevOps y su encaje en el conjunto de la organización, que por lo general aún no trabaja con verdadera agilidad. Por desgracia, estas incoherencias a veces llevan a las organizaciones a abandonar las prácticas de DevOps, lo que perjudica a nuestro sector y a quienes impulsan DevOps.
Al igual que los formadores, los coaches de DevOps son personas con talento que, como usted, promueven DevOps y velan por que las organizaciones entiendan, implanten y adopten correctamente sus prácticas.
Los coaches pueden trabajar de manera independiente de los equipos de DevOps y contar con el respaldo directo de los directivos para fomentar la adopción organizativa y cultural de DevOps de arriba abajo. También pueden formar parte de un equipo de DevOps y trabajar con los directivos para obtener el apoyo necesario y ayudar de forma continua a que otras áreas se adapten a la forma de trabajar de esos equipos. Si quiere ayudar a sus equipos de DevOps, equipos de negocio y patrocinadores ejecutivos a entender, adoptar e implantar correctamente estas prácticas, le recomendamos encarecidamente convertirse en coach de DevOps.
CONCLUSIÓN
En este capítulo hemos repasado las funciones más habituales en una organización DevOps. Tenga en cuenta que cada equipo no tiene por qué incluir a una persona para cada una de estas funciones. Menos es más. Procure que su equipo se centre en lo importante y elimine lo accesorio para lograr el rendimiento de TI y del negocio al que aspira su organización.
Como regla general, su equipo debe reunir las funciones y habilidades necesarias para conseguir el mejor flujo de trabajo continuo posible. Empezaremos a tratar este tema en el próximo capítulo.
