5 minute read
Competir con agilidad y seguridad
DevOps y DevSecOps En el entorno digital, las empresas están obligadas a ser tan ágiles como el ritmo de evolución actual de los negocios. Competir hoy implica un dinamismo a la altura de este nuevo entorno que, además de imprevisible, exige el trabajo colaborativo de TI y Negocio. DevOps y DevSecOps son el camino a esta nueva forma de hacer las cosas.
Alberto Anaya
Advertisement
Vicepresidente y Director del área de Soluciones Digitales
GRUPO CMC
grupocmc.es Las metodologías ágiles (Agile) para la gestión de proyectos están concebidas para aplicarse en cualquier área de una organización, pero ha sido en los departamentos de TI —encargados del desarrollo, mantenimiento y explotación del software— donde han sido acogidas con mayor profundidad y entusiasmo. Hay que retroceder en el tiempo para entender el cambio que supone Agile. Con anterioridad, y durante muchos años, la metodología dominante en las áreas de desarrollo y calidad de software (QA) era la denominada waterfall, en cascada, que, a pesar de sus bondades, con el tiempo reveló padecer muchas limitaciones. Por ejemplo, en las fases de análisis los usuarios de Negocio no siempre tenían muy claro qué querían y cómo esperaban que funcionase, lo que generaba la necesidad de cambios en las fases sucesivas. Además, los usuarios se involucraban al principio y no veían el resultado hasta pasado mucho tiempo, de forma que TI no contaba con su feedback hasta prácticamente finalizado el desarrollo. Ello provocaba que surgieran imprevistos que generaban un incremento de los costes y el incumplimiento de los plazos de entrega. Como consecuencia, existía cierta confrontación entre los departamentos de tecnología y los responsables de Negocio. Ante esta oportunidad de mejora surgieron las metodologías Agile, basadas en una filosofía cíclica y de alcances más pequeños, frente a una cascada de muchas iteraciones de pequeñas cosas. Se trata de romper barreras y eliminar las ineficiencias de un modelo de trabajo basado en etapas demasiado rígidas que crean silos de actividad y conocimiento. Entre sus ventajas, y así lo aprecian nuestros clientes, destaca la flexibilidad en la definición de requisitos, la posibilidad de contar con el feedback de Negocio en menos tiempo para así poder realizar cambios o ajustes de forma más rápida; y un tercer punto clave: se cuenta con un solo equipo en el que la comunicación es fluida. Se elimina la confrontación y se crea un círculo virtuoso en el que todos empujan en la misma dirección.
LOS CUATRO VALORES DEL CÍRCULO VIRTUOSO
Los primeros pasos de la puesta en marcha de metodologías Agile se dieron en los años 80. En 2001 se concretan en el Manifiesto Agile los cuatro valores que las definen y que hoy se aplican en la gran mayoría de las organizaciones, unos valores que ponen de relieve la transformación cultural que debe acompañar a la tecnológica. » Los individuos y las interacciones son más importantes que los procesos y las herramientas. Las organizaciones ágiles cuentan con equipos flexibles y escalables con capacidad para autogestionarse. Es clave establecer roles y priorizar tareas, así como eliminar las innecesarias. » Mejor las entregas por fases que una documentación excesiva. Estas metodologías se organizan por bloques de trabajo y se establecen entregas parciales. Los objetivos se cumplen poco a poco y existe un seguimiento continuo. » La colaboración con el cliente está por encima de la negociación contractual. El cliente puede intervenir durante cualquier fase y realizar sus aportaciones a medida que el proyecto avanza, lo que asegura que responde a sus expectativas y el resultado es el deseado. » Saber responder ante los cambios antes que seguir un plan establecido. Al supervisar todas las etapas del proceso es más fácil reaccionar si se produce un imprevisto o es imprescindible una modificación; no hay que esperar al final para corregir errores.
*Agile elimina la confrontación entre TI y Negocio y crea un círculo virtuoso en el que
todos empujan en la misma dirección
EL PARADIGMA DEVOPS
Generalizada la adopción de metodologías ágiles en los ámbitos de desarrollo y QA, se constató que, cuando el área de desarrollo entregaba modificaciones, era necesario instalar el software: había que extender esta agilidad al área de sistemas para no perder la velocidad adquirida en el desarrollo. Entonces surge DevOps. Básicamente, persigue que todo lo que se programa llegue a producción con la calidad adecuada, de manera que las áreas de desarrollo y sistemas contribuyan conjuntamente a la entrega de valor. De esta forma se agiliza mucho el desarrollo y es posible lanzar nuevos productos y servicios rápidamente. Nuestra experiencia en el desarrollo de proyectos y la prestación de servicios de acuerdo con estas metodologías demuestra que este imperativo de innovación ágil y continua es fundamental para todas las empresas, y muy especialmente en sectores con una operativa de rabioso online como el turismo, con las agencias de viajes online (OTA) en vanguardia. También destaca en banca y seguros, telecomunicaciones o retail, donde es necesario ser lo más rápido posible y poder medir prácticamente en tiempo real si una nueva aplicación, o cualquier modificación incorporada a las existentes, obtiene los resultados adecuados. Para implantar esta filosofía no basta un marco metodológico. Es necesario darle contenido y forma mediante la integración de tecnologías y herramientas que automaticen la transición de los componentes entre las diferentes etapas, desde el diseño hasta su puesta en servicio en un proceso orquestado de extremo a extremo. Actualmente los responsables de TI disponen de un enorme abanico de posibilidades para adaptar la organización y los servicios al nuevo paradigma. Existen herramientas avanzadas para la gestión de versiones, inspectores de calidad de código y gestores de ejecución de pruebas automatizadas, una de las tendencias más importantes en la evolución de DevOps. También hay que destacar el aprovisionamiento de infraestructuras en tiempo real, a través de cloud y redes LAN WAN definidas por software, así como, por supuesto, las plataformas para el registro y seguimiento de incidencias y defectos.
DEVSECOPS, LA PIEZA IMPRESCINDIBLE
En ese círculo virtuoso, en el que TI y Negocio comparten la misma mesa, hay una pieza que no puede faltar: la seguridad. Este factor ha de formar parte del ciclo desde el principio ya que abordarlo al final puede generar muchos quebraderos de cabeza, lastrar el proceso y arruinar el objetivo; especialmente en entornos cada vez más heterogéneos en los que la seguridad debe impregnarlos a todos. También contamos con tecnologías que, integradas en el ecosistema de herramientas DevOps, permiten analizar la seguridad del código que se construye, comprobar la seguridad de la aplicación al mismo tiempo que se realizan las pruebas funcionales o liberar aplicaciones web cuyas librerías protejan al programa frente a los ataques más habituales, incluidos cross scripting, sql injection, command injection y DDOS. Hoy en día la seguridad no es un elemento que pueda incluirse a posteriori. El contexto no lo permite. Para tener la figura completa es imprescindible que esté integrada dentro de los procesos de construcción de software desde el principio, adaptada al marco y a la filosofía Agile.