Buenas prácticas en Azure DevOps
Tags: dotnet, devops, azuredevops, microsoft
Published: 2021-03-29 06:52:22

---
title: Buenas prácticas en Azure DevOps
published: true
description: Consejos que te harán mejorar día a día usando Azure DevOps
tags: dotnet, devops, azuredevops, microsoft
cover_image: https://geekstorming.files.wordpress.com/2020/11/84c61-vsts-to-azure-devops-redirection.jpg
canonical_url: https://geekstorming.wordpress.com/2020/11/23/buenas-practicas-en-azure-devops/
---

Si no conoces Azure DevOps, es un servicio de Microsoft que nos permite implementar de forma más sencilla la cultura DevOps en nuestros proyectos de desarrollo.

Puedes crear una organización y hasta 300 proyectos de forma gratuita, por lo que puedes dividir todo tu trabajo en diferentes proyectos.

No existen reglas estrictas sobre buenas prácticas, pues cada proyecto es un mundo y tiene sus propias necesidades, pero sí que voy a escribir lo que considero algunos consejos útiles después de bastante tiempo trabajando con esta herramienta.

¡Comenzamos!

#### Metodología de equipo

Lo primero y más importante es definir reglas, convenciones, para trabajar en equipo.

Mientras tu equipo y tú tengáis una metodología común y clara a seguir, todo debería estar bien. Pero Azure DevOps te ofrece plantillas de metodologías orientadas a la gestión de tareas como Agile, SCRUM... para que te sirvan de apoyo en tus procesos de trabajo.

Tienes [la documentación de Microsoft para saber todos los procesos entre los que puedes elegir](https://docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/choose-process?view=azure-devops&tabs=basic-process#basic-agile-scrum-and-cmmi). Aunque, si tienes dudas o no tienes claro cuál deberías elegir, siempre puedes elegir el proceso Basic.

#### Despeja la vista

Azure DevOps te ofrece, por defecto, los siguientes servicios: Dashboards, Repos, Boards, Pipelines, Artifacts y Test Plans.

Como cada proyecto es un mundo, puede que solo necesites cuatro, dos o solo uno de los servicios que acabo de listar. Así que, en ese caso, puedes desactivar aquellos servicios que no uses. ¿Cómo puedo hacerlo? Aquí tienes una [guía, en la documentación oficial de Microsoft](https://docs.microsoft.com/en-us/azure/devops/organizations/settings/set-services?view=azure-devops), donde muestra lo sencillo que resulta.

![Guia en una imagen sobre cómo desactivar servicios en Azure DevOps](https://docs.microsoft.com/en-us/azure/devops/organizations/settings/media/services/set-service-visibility.png?view=azure-devops)

#### Usa la Wiki

Documenta todo lo que necesites. La documentación de proyectos es considerada una de las partes más pesadas del mundo del desarrollo. Es una de las partes más olvidadas a la vez que más valiosas de un producto.

Ya sea para hacer el *onboarding *a alguien que recién entra en el proyecto de forma más sencilla, para tener bien detallada la infraestructura o los diferentes entornos, la estrategia o arquitectura elegida en las diferentes soluciones... es algo que olvidamos con frecuencia pero que resulta muy útil de cara al futuro.

Al estar dentro de Azure DevOps, puedes crear diferentes páginas y secciones dentro de la Wiki, además de enlazar con sencillez elementos como Tasks, pipelines... y reunir toda la información en un mismo lugar.

#### Establece tus *Teams*

Establece bien los equipos de trabajo y su visibilidad de los diferentes elementos del proyecto. Dentro de cada proyecto, no todas las personas que forman parte del mismo tendrán la misma responsabilidad o visibilidad de las diferentes partes de la solución.

No todo el mundo podrá validar *pull requests*, no todo el mundo podrá hacer despliegues... y en lugar de gestionar esos permisos a cada persona de forma individual, podrás dar permisos a los *Teams *que consideres oportunos y agregar a personas a estos, para recibir esos permisos que se hayan asignado al Team.

#### *Dashboards* y *widgets*

Uno de los servicios que tiene Azure Devops es Dashboards. Su función es darte un entorno que personalizar por completo a través de *widgets* para tener un vistazo general del proyecto.

Puedes tener un Dashboard, totalmente independientes entre sí, por Team, para que cada uno tenga su propia visión de tareas, *burndowns* en los sprints, gráficos de *pipelines*, porcentajes de éxito en el testing...

Al final, tu proyecto puede visualizarse como la siguiente imagen, o de forma totalmente diferente según tus necesidades:

![Ejemplo de Dashboard con múltiples widgets para un Team](https://static.packt-cdn.com/products/9781788839259/graphics/e3fad72c-c49f-4e26-ac52-b55c306f0cdc.png)

No dudes en consultar la [documentación de Microsoft](https://docs.microsoft.com/en-us/azure/devops/report/dashboards/overview?view=azure-devops) para conocer más sobre este servicio.

#### Usa las *pipelines*

Las *pipelines*, que son el nombre que reciben los procesos automatizados para integración continua o CI, son realmente potentes. Hay tareas para múltiples tecnologías, no solo las que pertenecen a Microsoft.

¿Quieres saber todo lo que puedes hacer en una pipeline? Echa un vistazo a la [lista de todas las Tasks que hay disponibles en el catálogo](https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/?view=azure-devops): tareas de utilidad, compilación en Android, invocación a Azure, llamadas a Jenkins...

#### *Queries* sobre tus *Tasks*

Cuando un proyecto se alarga en el tiempo y tiene mucha actividad, es normal tener muchas, muchísimas tareas, que se han generado a lo largo del tiempo de vida de la solución.

Para evitar tener que navegar entre *sprints*, tareas asignadas o casi adivinar dónde estaba qué tarea, Azure DevOps ofrece un servicio poco conocido pero realmente potente: las Task Queries.

A través de un editor *SQL-like* de forma gráfica, puedes hacer consultas sobre todas las tareas que se encuentren en un proyecto, parametrizando para buscar por personas asignadas a esas tareas, estados en los que se encuentran, *sprints *en los que se localizan...

![Ejemplo de una Task Query en Azure DevOps](https://docs.microsoft.com/en-us/azure/devops/boards/queries/media/using-queries-new-vsts-exp.png?view=azure-devops)

Estas *queries* no son volátiles: puedes guardarlas para seguir trabajando sobre ellas o ejecutar la consulta tantas veces como necesites. Además, están integrados con algunos de los *widgets *de Dashboards, por lo que puedes ver los resultados de una *query *en Dashboard de tu Team... ¡y tener toda la información a tu alcance!

#### Una organización, múltiples proyectos

Como mencionaba al inicio de este post, una misma organización puede contener hasta 300 proyectos de forma totalmente gratuita. Teniendo esa posibilidad, y para evitar el caos, crea siempre tus proyectos en la misma organización si pertenecen a un mismo equipo, empresa o grupo.

Crear múltiples organizaciones es tentador y sencillo, pero después es difícil mantener control de qué proyecto se encuentra en qué otra organización... cuando sería más fácil tenerlo todo reunido en un mismo sitio. ¡Usa las herramientas que tienes a tu alcance!

#### Buenos nombres de proyecto, por David Gonzalo

Otra buena práctica, esta vez aportación de David Gonzalo, es sobre nombres de proyectos. A la hora de crear un proyecto, puedes darle un nombre en el que puedes incluir espacios en blanco.

{% twitter 1330799020537749508 %}

Esto es algo que os invitamos a evitar, pues este nombre con espacios se convertirá al final en parte de las URLS para, por ejemplo, tus repositorios. Al final, si incluyes una URL con espacios, tu cadena de conexión para clonar, pushear o pullear repositorios puede ser así:

```
http://dev.azure.com/WikkaLab/My%20Project/_git/MainAPI
```

No es la URL más intuitiva, puede inducir a errores difíciles de detectar a primera vista... por lo que, recomendamos mantener nombres de proyecto con camelCase, PascalCase, snake_case o kebab-case, o cualquier otro sabor que más te guste, mientras evites los espacios en blanco.

¡Gracias por tu aporte, David!

* * * * *

¡Y esto es todo por ahora!

¿Usas Azure DevOps para proyectos profesionales o personales? ¿Tendrías más consejos que ofrecer desde tu experiencia? No dudéis en escribirlos en comentarios, para añadirlos al post enlazando a vuestras redes sociales.

* * * * *

Este contenido tiene su origen en el post de reddit ["Azure DevOps Best Practices"](https://www.reddit.com/r/AZURE/comments/jogm7w/azure_devops_best_practices/), donde puedes seguir leyendo sobre la cuestión, ver más comentarios respondiendo a la consulta o aportar tus propias experiencias.

seeU!