Skip to Content

Metodología DevOps ¿Llegó para quedarse?

Metodología DevOps ¿Llegó para quedarse?

Con el objetivo de conseguir una mayor eficiencia en el desarrollo de software, y de ofrecer una entrega continua de valor a los clientes, cada vez más empresas optan por el enfoque DevOps, que consiste en la unión de la parte de desarrollo y la de operaciones. ¿Cómo evolucionará este enfoque?

¿Qué es DevOps?

DevOps es una metodología para la creación de software que se basa en la integración entre desarrolladores software y administradores de sistemas. El término DevOps está compuesto por dev (desarrolladores) y ops (operaciones). De este modo, se trata de la integración de la parte de desarrollo y la de operaciones, teniendo también mucho protagonismo los procesos. El objetivo de esta metodología es desarrollar software más rápidamente, con mayor calidad, menor coste y una altísima frecuencia de entregas. A través de la automatización de tareas se consigue mantener un flujo continuado de mejoras tecnológicas, así como agilizar la relación entre cliente y compañía.

Estamos hablando, por lo tanto, de una metodología que aboga por un entorno de trabajo totalmente colaborativo, y en constante comunicación, un enfoque que demanda de un cambio de cultura de la plantilla, por lo que su aplicación en la empresa requiere de tiempo.

Análisis de metodología DevOps en las empresas

Recientemente GitLab, servicio web de control de versiones y desarrollo de software colaborativo basado en Git, ha realizado un estudio sobre el desarrollo de la metodología DevOps en 2018. El objetivo de dicha investigación era conocer cómo las personas que están detrás del software se enfrentan a un panorama tecnológico en rápida evolución. De la investigación se destaca que los profesionales de software reconocen colectivamente el valor de trabajar en entornos altamente colaborativos y han experimentado los beneficios de hacerlo.

La investigación se realizó sobre más de 5.200 profesionales de software de todo el mundo. La mayoría de los encuestados se identifica como desarrollador o ingeniero de software y trabaja para pequeñas y medianas empresas (PYMES) en las industrias de hardware, servicios y SaaS. Encabezan la lista de continentes con un mayor número de profesionales software, Europa con el 46,41% y Norte America, con un 36,67%.

DevOps

La investigación de GitLab arroja luz sobre varios aspectos del enfoque DevOps:

  • Si bien casi todos los encuestados están de acuerdo en que es importante trabajar en un entorno de colaboración y una gran mayoría (81%) dice que es fácil colaborar con su equipo y con otros dentro de su organización, la visibilidad y la transparencia continúan rezagadas, con casi la mitad de los desarrolladores (42%) reportando la dirección poco clara como su principal desafío para hacer el trabajo.

DevOps

  • Las organizaciones que han adoptado DevOps tienen más probabilidades de desplegarse a pedido y priorizar la automatización que las que practican Agile.

DevOps

  • Los equipos de alto rendimiento tienen acceso a mejores herramientas, pasan menos tiempo cambiando de contexto y tienen más probabilidades de trabajar de forma remota que sus contrapartes de menor rendimiento.

DevOps

  • En general, los equipos remotos reportan niveles más altos de satisfacción que aquellos que trabajan en la oficina, incluidos niveles más altos de visibilidad, una mejor comprensión del proceso de implementación y una sólida cultura de DevOps.
  • Los líderes de TI planean invertir lo más posible en integración, entrega y despliegue continuos en 2018, y citan la selección de la tecnología adecuada como su mayor desafío.

Generalmente, los desarrolladores y la alta gerencia están alineados, lo que da un gran valor a la colaboración y la comunicación. Los administradores son más optimistas sobre el ahorro de tiempo de practicar DevOps, con un 81% de acuerdo en que DevOps ahorra tiempo en el proceso de desarrollo, mientras que solo el 65% de los desarrolladores está de acuerdo.

Se destaca también el énfasis y la preferencia por las herramientas de código abierto en todos los segmentos. Independientemente del nivel, la cultura o el flujo de trabajo, el código abierto resulta crítico para los equipos de desarrollo de software, y el 92% de los encuestados está de acuerdo en que las herramientas de código abierto son importantes para la innovación del software.

Los encuestados valoran mucho el trabajo en un entorno de colaboración, donde sienten que se escuchan sus voces y tienen la capacidad de tomar decisiones sobre su trabajo. Una gran mayoría sugiere que les resulta fácil colaborar con los miembros de su equipo y otros miembros de su organización. Las políticas flexibles en el lugar de trabajo y el seguimiento del tiempo son comunes, con la productividad medida por los resultados en lugar del tiempo empleado.

En cuanto a la metodología más utilizada, el 69% de los encuestados afirma que se trata de la metodología Agile, siguiendo la DevOps con un 23%. Aún así, la mayoría de los encuestados afirman que el uso de un flujo de trabajo DevOps ahorra tiempo durante el proceso de desarrollo; un sentimiento también expresado a una tasa aún mayor entre los gerentes, con un 81% de acuerdo.

DevOps

Para acceder al estudio completo de GitLab, haz click aquí.

Al observar el 2018 y más allá, las organizaciones de TI que adoptan con éxito las prácticas de mejora continua y la automatización sin interrupciones a lo largo de su ciclo de vida de desarrollo de software, tendrán equipos más felices, más colaborativos y con mejor funcionamiento que están mejor posicionados para cumplir sus metas y objetivos.

El futuro del testing: satisfacción del usuario, bots e Inteligencia Artificial.

La décima edición del World Quality Report 2018, conducida por Capgemini, MicroFocus y Sogeti, desvela las últimas tendencias del testing de calidad de software, cada vez más orientado a conseguir la satisfacción del usuario, a través de la automatización mediante bots e Inteligencia Artificial.

La rapidez en los tiempos de entrega de software, y la creación de constantes nuevas versiones de producto, pueden comprometer la calidad final del mismo. Por ello es tan importante establecer un mecanismo de testing que permita detectar posibles errores antes de presentar la versión definitiva del software.

El testing de calidad de producto (QA) consiste en una serie de pruebas que se realizan para comprobar determinados aspectos de un software. Su objetivo es descubrir defectos durante el desarrollo de un software y poder anticiparse a ellos con la mayor brevedad posible.

Sin embargo, los resultados del World Quality Report de 2018, desvelan que, por primera vez, las organizaciones perciben como principal objetivo del testing, la satisfacción del usuario final, con el 42% de los encuestados afirmándolo. Este resultado ratifica la creciente orientación al cliente que impulsa las principales tendencias de TI.

testing de calidad QA

Automatización de testing: bots e Inteligencia Artificial

La automatización de testing es una práctica cada vez más utilizada, pues permite que las empresas den una respuesta efectiva y rápida al aumento de las entregas de versiones de software, sin perder por ello calidad en las mismas. La automatización aporta tranquilidad. pues permite ajustar y mejorar las funcionalidades, brindando información rápida sobre el impacto de los cambios que se realizan antes de entregar la versión final del producto.

Esta encuesta reveló también el aumento del uso de bots para actividades de testing. Hasta el 79% los encuestados afirmaron que actualmente estaban usando o planeando usar bots para la configuración de entornos de testing y/o para la automatización de testing.

testing de calidad QA

La encuesta también revela la importancia que están adquiriendo la Inteligencia Artificial y el Machine Learning en cuanto a testing de software. En promedio, las organizaciones están dedicando el 22% de su presupuesto de TI a proyectos de IA y el 57% de los encuestados afirmaron estar inmersos en proyectos de IA para el aseguramiento de la calidad, ya implementados o planificados para los próximos 12 meses.

testing de calidad QA

Desafíos: Metodologías Ágiles y DevOps

La adopción de Metodologías ágiles y DevOps continúa creciendo impulsada por la “necesidad de velocidad”, la agilidad y la flexibilidad. Según la encuesta, un 99% afirmó estar usando DevOps en al menos una parte de su negocio. A pesar de este crecimiento en adopción, las organizaciones aún no pueden aprovechar todos los beneficios prometidos por estos enfoques, principalmente debido a los bajos niveles de automatización y los desafíos con los datos de y entornos de testing.

El mayor desafío percibido por los encuestados es “la falta de un entorno adecuado de testing y datos”, seguido de “la incapacidad de aplicar la automatización de pruebas a los niveles adecuados”. Además, cuando se les preguntó sobre los desafíos técnicos en el desarrollo de aplicaciones, los encuestados dieron mayor importancia a la “falta de automatización de extremo a extremo desde la compilación hasta la implementación”, con un 55% de ellos indicando esto como un desafío.

testing de calidad QA

La automatización de testing también se ve frenada por los desafíos en el campo de los datos. Estos problemas relacionados con los datos de testing y los entornos son el resultado de varios factores, incluida la mayor frecuencia de los lanzamientos, la mayor complejidad de los datos, los nuevos tipos de datos, los desafíos con la integración y la estandarización de los datos provenientes de diferentes fuentes, y la normativa relacionada con los datos como el Reglamento General de Protección de Datos (GDPR) y la Norma Internacional de Información Financiera 9 (NIIF 9).

Estos desafíos en torno a la automatización crean una situación en la que las organizaciones no pueden seguir el ritmo del volumen y la frecuencia de las pruebas requeridas, derrotando así uno de los principales objetivos de la adopción de marcos como Agile y DevOps. Esto también se refleja en los resultados de la encuesta, cuando el 43% de los encuestados dijo que el “proceso de prueba demasiado lento” era un desafío cuando se trataba de desarrollar aplicaciones hoy en día.

testing de calidad QA

La automatización de testing es fundamental para las empresas que quieran seguir ofreciendo los mejores productos software a sus clientes. Las organizaciones deben contar con una estrategia y una hoja de ruta que les permitan alcanzar todos los beneficios que aporta un óptimo testing de producto, nutriéndose del análisis de datos, la inteligencia artificial y todas las herramientas que la tecnología pone a su alcance. Ese es el único camino para conseguir una total satisfacción del consumidor final. 

Personalized Costumer Experience: la gestión de la experiencia de usuario a través de la tecnología

Podríamos definir Personalized Customer Experience como la experiencia digital que nace a partir de procesos personalizados creados en base a los datos sobre clientes o potenciales clientes de los que dispone una compañía.

La experiencia de cliente, definida como la interacción de extremo a extremo de un cliente con una empresa o producto, ha alcanzado un nivel de importancia primordial para las empresas de todos los sectores.  La implicación es clara: si se busca mantener la lealtad entre los clientes y a la vez aumentarlos, es necesario construir una experiencia personalizada para ellos, y utilizarla como un diferenciador competitivo.

Hoy, las nuevas aplicaciones digitales y los avances en la analítica predictiva hacen posible que una compañía interprete los datos que ya tiene sobre un individuo (leads, interacciones con su producto o servicio, compras directas y otras fuentes) y los transforme en información predictiva, útil y personalmente relevante.

¿Pero…cómo asegurar que los datos sean precisos y estén disponibles en tiempo real? ¿Cómo extraer valor de éstos para ofrecer experiencias personalizadas a sus clientes? ¿Cómo se analizan grandes cantidades de datos para identificar esas mejoras clave que tendrán un impacto duradero en la mayoría de su base de clientes?

Los datos en sí no son suficientes. Habitualmente, los datos provienen de fuentes dispares (desde dentro y fuera de las empresas), y además, las personas adecuadas pueden no tener acceso a los datos o puede no existir un mecanismo formalizado para aprovecharlos. En muchos casos, llegados a este punto, solo queda dar un último paso: encontrar e implementar una tecnología adecuada que sea capaz de analizar y procesar todos los datos a través de procesos basados en el comportamiento del cliente.

¿Qué consigue una compañía integrando los datos y convirtiéndolos en procesos?

  • Maximizar el retorno de la inversión.
  • Conseguir una mayor visibilidad.
  • Alinear los objetivos empresariales con la realidad del usuario digital.
  • Aumentar el volumen de datos que obtiene de los canales online.
  • Girar definitivamente hacia una visión user-centric.

Para lograrlo, las organizaciones deben crear un ecosistema de información centrado en el cliente.

 

Reformulando el concepto de experiencia de cliente

Cabe destacar dos puntos clave que cualquier empresa que apueste por esa nueva experiencia digital debe tener en cuenta: 

  • Permitir a los clientes definir sus métodos de interacción: utilizar tecnologías como los sistemas de gestión de relaciones con los clientes (CRM) para desarrollar y mantener enfoques a medida de las interacciones con los clientes.
  • Satisfacer las necesidades no expresadas de los clientes: aquello que los clientes dicen que prefieren y lo que realmente prefieren a menudo no están alineados. En este aspecto, el análisis avanzado de datos y la creación de procesos personalizados en base al comportamiento del cliente permitirá ofrecer una respuesta cada vez más personalizada, y efectivamente, dar respuesta a todas sus necesidades. 

¿Entonces, por dónde empezamos?

  • Un modelo de datos que sea capaz de analizar y registrar gran cantidad de datos (big data).
  • Un equipo preparado para la gestión de las necesidades (redacción de copy, creación de piezas publicitarias, actualización de contenidos, …).
  • Una prueba de concepto sobre una parte manejable de la información para determinar el nivel de confiabilidad del sistema.

Así pues, estas tendencias tecnológicas crean una oportunidad para que las compañías conozcan a sus clientes, atrayendo a futuros consumidores y reteniendo a los existentes a través de experiencias digitales personalizadas que responden a sus necesidades en todo momento.

 

Política de Privacidad

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su aceptación a nuestra política de privacidad. ACEPTAR

Aviso de cookies