Agile & DevOps: Mejorando la experiencia del cliente en IoT

Cuando hablamos de Agile se nos vienen a la cabeza soluciones como Asaja,  Jira, Scrum y cuando hablamos de DevOps se nos vienen a la cabeza Docker, Kubernetes, Terraform y un largo etc. No obstante Agile y DevOps no son únicamente metodologías y tecnologías, me atrevería a decir que son un cambio cultural dentro de una organización poniendo el foco en el cliente y su satisfacción, gracias a la entrega de valor continuo al usuario y mercado.

¿Qué es DevOps?

El Agile resuelve organizacionalmente como un equipo entrega de manera iterativa e incremental nuevas características, fomentando la colaboración con equipos auto-organizados y multidisciplinarios. Mientras el DevOps resuelve la planificación, el desarrollo, la entrega y las operaciones  mediante la automatización de procesos y un cambio cultural basado en la toma de requerimientos, seguimiento de bugs, evolución visual del proyecto, TDD, testing, integración continua de cambios y un largo etc.

¿Por qué DevOps?

La finalidad es reducir el tiempo de llegada al mercado, o time to market, y una prueba con el mercado de esas características, obteniendo las siguientes ventajas en los clientes:

  • Feedback continuo y validación de que las “features” que se le ofreció están cumpliendo con las expectativas.
  • Reducción de los esfuerzos en el soporte a los clientes.
  • Reducción de fallos en las entregas.
  • Mayor agilidad de respuesta a cambios.

por qué devops

Ejemplo práctico de beneficios para el proyecto y el cliente

Como se puede ver tanto el Agile como el DevOps ponen foco en el cliente, usuario y en que nuestro producto software se ajuste a necesidades reales de ellos mediante la entrega de valor continuo.

Me gustaría hablar de un caso práctico y en evolución. Desde el departamento de IoT de Integra se tomó el riesgo de empezar a aplicar está cambio cultural. La manera en la que se ha conseguido ha sido atacando desde varios puntos.

  • Formación en buenas prácticas de software, arquitecturas de sistemas, Clean Code, QA Automation, diseño guiado por el dominio(DDD), Scrum, etc.
  • Automatización de los procesos de desarrollo gracias a Azure DevOps ya que nos permite organizarnos y llevar la trazabilidad de cada cambio desde su toma de requisitos hasta su llegada a los cloud. No obstante, la inclusión de está herramienta es un mero instrumento más como los que he nombrado antes.
  • Introducción de Scrum como metodología de organización.
  • Cambio en el enfoque que se le da a los productos de software IoT.
  • Cambio cultural de cada uno de los integrantes del departamento.

Como resultado se obtuvo la mejora en la coordinación entre equipos, entrega diaria de evolutivos y correctivos, feedback continuo, detección de fallos, descubrimiento de características que no se habían tenido en cuenta en las fases iniciales del proyecto, reacción a los cambios, mantenimiento del cliente y usuario en el centro y satisfacción de las necesidades que él nos plantea en su acompañamiento.

El crecimiento de esta metodología de trabajo para desarrollar nuevo software debe hacernos reflexionar sobre la importancia de acercar entre sí la labor de técnicos de Desarrollo y de Sistemas. Hacer más eficiente su interacción repercute en la agilidad y calidad de los proyectos. Contacta con nosotros si quieres una dosis de productividad extra para tu equipo.

 

Leave a Reply