Actualidad y Tendencias Agile & DevOps Gestión de equipos

Dev(QA)Ops: el Monte Olimpo de la nueva civilización de entregas de software

Una civilización se define como un “estado avanzado de la sociedad, donde las personas viven con un grado razonable de organización y donde pueden pensar sobre cosas como el arte o la educación”.

DevOps es el Monte Olimpo de la nueva civilización de entregas de software: un estado avanzado de entregas de software donde los profesionales, diversificados y multi-tarea, son capaces de co-crear software con un grado sensato de organización –(pensamiento ágil, creación de pipelines, umbrales de calidad o herramientas integradas) con comodidad (métricas, aceleradores, automatización de tareas, procesos eficientes, trazabilidad…); y al mismo tiempo, ser capaces de pensar sobre aspectos esenciales como la experiencia de usuario y la calidad.

En este Olimpo DevOps, la calidad de software es un must. Por ello, actividades de calidad como el testing adoptan diversas formas (funcional, de rendimiento, de seguridad, de usabilidad…) y se abordan en distintos niveles (testing unitario, testing de integración, testing end-to-end). Este es el motivo por el que enfatizamos en Dev(QA)Ops con un objetivo principal: lograr entregas rápidas con un alto nivel de calidad, donde entendemos calidad como todo aquello que debe prevenir los defectos y potenciar la calidad en el momento de la entrega del software, desde las diferentes perspectivas que un usuario pueda percibir.

En este Monte Olimpo Dev(QA)Ops también tenemos 12 Dioses:

  1. Zeus. En DevOps necesitamos liderazgo (con foco en los procesos, personas y tecnología) y gobernabilidad. Las nuevas contribuciones necesitan ser gestionadas con sentido a través de flujos orquestados de manera que gestionen (con la mayor automatización posible) las nuevas contribuciones de software, y que comprueben que los umbrales de calidad son capaces de detectar los posibles defectos y los impulsen a progresar hacia el entorno de producción.
  2. Hera. Como los valores familiares son importantes, también los valores de equipo y la organización son críticos para DevOps. Por eso, el principal motor de DevOps es tener una mentalidad ágil (agile mindset) con una visión única dirigida a co-crear valor.
  3. Poseidón. Como el agua del mar fluye, las nuevas contribuciones de software en un espacio de trabajo de DevOps necesitan fluir desde el código hasta su puesta en producción a través de una pipeline que coordine, para cada nueva contribución o release, una secuencia de acciones (compilación, creación de entornos, gestión de datos de prueba…), umbrales de calidad (análisis de código, pruebas, métricas…) y, si a través de este flujo se valida que existe un nivel de calidad suficiente de acuerdo con el riesgo asumible, el despliegue en cada entorno. Este pipeline es el proceso tecnológico y basado en herramientas para apoyar la agilidad y la entrega continua.
  4. Apolo. Como la música y las bellas artes se basan en la creatividad, la mente abierta y la co-creación, los artefactos (historias de usuarios, contribuciones de código, etc.) en DevOps necesitan basarse en la co-creación realizada por diferentes roles especializados y multi tarea (negocios, desarrolladores, testers, expertos en UX, arquitectos, ingenieros de infraestructura, etc.) desde el principio de los proyectos. Además, la Integración Continua (CI, Continuous Integration) necesita ser aplicada a través de un enfoque sistemático de ramas de código, contribuciones y fusiones (merge) con políticas claras.
  5. Atenea. La sabiduría es la base de la eficiencia. Por ello es crucial incorporar la sabiduría y la inteligencia artificial a los flujos DevOps para facilitar y mejorar las decisiones (automáticamente basadas en el análisis y la predicción de datos), para aplicar umbrales de calidad autoadaptables y para progresar con mayor eficiencia y anticipación a través de la pipeline DevOps.
  6. Afrodita. La belleza y el deseo son experiencias humanas; y en DevOps deseamos alcanzar una mejor experiencia de usuario y buenas reacciones. Y esto es, en definitiva, es por lo que se impulsa la calidad del software. Por eso, más allá de ser ágiles, hay que cuidar la calidad desde todas las perspectivas que puedan afectar a la percepción de los usuarios en cada proyecto.
  7. Ares. El principal impulsor de la fuerza de un robusto entorno de trabajo de DevOps es la automatización. Analizar el proceso de creación de software y añadir estrategias de automatización con una visión integral es esencial.
  8. Dionisio. También son esenciales las ceremonias, con el fin de institucionalizar y formalizar los beneficios principales de las aproximaciones ágiles, junto con la pasión, la creatividad, el feedback y el impulso tecnológico necesitan encontrar su lugar en DevOps.
  9. Hermes. En DevOps, los profesionales necesitan comunicarse, pero también las herramientas que se integran en el pipeline, que notifican e interactúan con otras herramientas y profesionales. Por eso necesitamos un canal de comunicación centralizado con políticas de comunicación. El enfoque de ChatOps (utilizar un canal de chatbot para la interacción y comunicación de alto nivel para todos los profesionales y herramientas) está ganando popularidad para hacer frente a este desafío.
  10. Artemisa. El entorno de trabajo de un DevOps debe estar basado en datos. Necesitamos “cazar” y gestionar los datos que se generan durante las iteraciones siguiendo una visión de 360 grados y utilizarlos para evaluar la evolución de la calidad, iteración por iteración, a través de un cuadro de mando centralizado de las principales métricas de calidad que van a gobernar la evolución del desarrollo de software.
  11. Hefesto. Así como los artesanos y los herreros necesitan el fuego para dar forma al hierro, los profesionales de DevOps necesitan cultivar una gran pasión por la tecnología y las habilidades técnicas especializadas. Este es el llamado perfil en forma de T (T-Shaped), esencial para componer equipos en DevOps.
  12. Deméter. Como la fertilidad depende del paso del tiempo y de las estaciones; en DevOps el despliegue a los diferentes entornos y los despliegues finales a producción pueden ser automatizados (o al menos en algunos casos, semiautomatizados). Los enfoques Cloud y su arquitectura juegan un papel clave para facilitarlo.

El mito necesita inspirarnos para hacerlo realidad. Y Dev(QA)Ops es ahora una realidad en evolución que necesita ser aplicada progresivamente como se indica en la última edición del World Quality Report (*) Inspirémonos y hagámoslo realidad a través de nuestro enfoque pragmático en Sogeti. La era de la civilización del Dev(QA)Ops está aquí.

Acerca de Albert Tort

Albert Tort es CTO de Sogeti España (grupo Capgemini). Anteriormente fue investigador y profesor de la Universidad Politécnica de Cataluña, donde actualmente es también coordinador del posgrado en Software Quality Assurance. Es especialista en ingeniería de requisitos, modelización conceptual, calidad del software, testing e inteligencia artificial. Su tesis doctoral fue titulada "Testing and Test-Driven Development of Conceptual Schemas” y es autor de diversas publicaciones relacionadas con la ingeniería del software.

0 comments on “Dev(QA)Ops: el Monte Olimpo de la nueva civilización de entregas de software

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: