Cuando hablamos de desarrollo de software, hablamos no solo de definir una lógica para generar un producto, sino además del seguimiento del desarrollo, de las pruebas, las correcciones, las puestas en producción. Incluye también los grupos de personas comprometidas en ese proyecto, así como los procesos de comunicación y cooperación entre ellos.

Aunque con objetivos en común, los departamentos trabajan de forma independiente y aislada: los desarrolladores enfocados en innovación, creando productos en poco tiempo guiados por una tendencia al cambio, los gerentes de proyecto centrados en costos y tiempos de entrega y por su parte, los profesionales de TI enfocan sus actividades en Implementar, optimizar el código desarrollado y buscar la estabilidad.

Para minimizar los problemas de comunicación y ralentización de las entregas que las desincronizaciones entre los diferentes equipos de trabajo pueden ocasionar, nace el concepto de DevOps.

DevOps es un acrónimo de Development y Operations, se refiere a una práctica o un movimiento profesional centrado en: comunicación, colaboración e integración entre desarrolladores de software y profesionales de las operaciones de TI. Permite derribar el muro entre los departamentos:

  1. Implementando la comunicación a través de reuniones periódicas
  2. Poniendo en común sus activos
  3. Automatizando procesos
  4. Fomentando la integración y retroalimentación continua

 

Azure DevOps, forma parte de las soluciones integrales de la nube de Microsoft y participa en el ciclo de vida de las aplicaciones a lo largo de las fases de planeamiento, desarrollo, entrega y uso. Cada fase depende de las demás y las fases no son específicas de un rol.

 

En una auténtica cultura de DevOps, todos los roles están implicados de algún modo en todas las fases.

Azure DevOps comprende una gama de servicios que cubren el ciclo de vida completo del desarrollo. Al momento de escribir este blog, estos son:

Azure Boards

Herramienta ágil de planificación, seguimiento de elementos de trabajo, visualización e informes

Azure Pipelines

CI/CD (Continuous Integration and Continuous Delivery). Se trata de una forma automatizada para disponibilizar nuevas funcionalidades de un software a los distintos interesados, que pueden ser usuarios finales o usuarios de prueba.

Azure Repos

Proporciona repositorios privados de git alojados en la nube.

Azure Artifacts

Proporciona administración de paquetes integrada con soporte para fuentes de paquetes Maven, npm, Python y NuGet de fuentes públicas o privadas.

Azure DevTest Labs

Permite crear entornos con artefactos y plantillas reutilizables.

Azure Monitor

Visualización total de aplicaciones, infraestructura y red.

Azure Test Plans

Proporciona una solución integrada de pruebas planificadas y exploratorias.

 

Azure DevOps puede también ser utilizado para orquestar herramientas de terceros.

El uso de DevOps apoya a la entrega de valor a los clientes de forma constante. Los resultados de la adopción de DevOps deben valorarse en relación con los objetivos de negocio. Los equipos de DevOps se alinean en torno a estos objetivos y los consiguen usando ciclos de lanzamiento de versiones cortos. Estos ciclos permiten responder con agilidad al mercado y aprender continuamente con los comentarios de los clientes.

  • Si quieres comenzar a probar Azure DevOps:
    https://azure.microsoft.com/en-gb/services/devops/

 

  • Puedes probar gratis o iniciar sesión con tu cuenta Microsoft365

 

  • Lo primero es crear un proyecto:

  • Puedes seleccionar como harás el control de versiones y la documentación de los procesos:
    • Para control de versiones: Git, Team Foundation Version Control
    • Para procesar los elementos de trabajo: Agile, Basic, CMMI, Scrum.

 

 

  • Una vez creado el proyecto ya tenemos acceso a los servicios:

 

Implementar DevOps, permiten obtener amplios beneficios empresariales:

  • Mayor flexibilidad
  • Mayor calidad en el código y su implementación
  • Incrementa la productividad
  • Disminución de costos
  • Alta frecuencia de lanzamientos

 

En una próxima entrega, les comento como nos apoya Azure DevOps cuando usamos Scrum como marco, para trabajar colaborativamente en el desarrollo de aplicaciones