Configurare progetti e team in Azure DevOps

Completato

Nel panorama odierno dello sviluppo di software altamente dinamico, l'organizzazione efficiente del progetto e la collaborazione in team sono componenti essenziali della strategia DevOps. I progetti e i team in Azure DevOps costituiscono la base per una comunicazione efficiente, una chiara responsabilità e una gestione semplificata del flusso di lavoro. Contribuiscono inoltre a migliorare l'agilità, la distribuzione accelerata e il corretto allineamento con gli obiettivi aziendali.

Pianificazione

Per creare l'approccio ottimale all'implementazione di progetti e team, è necessario prima analizzare la struttura organizzativa, il modello operativo e i ruoli che contribuiscono al ciclo di vita dello sviluppo. Questa analisi deve considerare fattori quali divisioni di reparto, iniziative aziendali correnti e progetti esistenti che potrebbero introdurre potenziali dipendenze tra progetti.

Successivamente, per ogni nuovo progetto, determinarne l'ambito, gli obiettivi e gli stakeholder. In base al modello organizzativo e ai requisiti del progetto, identificare il modo ottimale per strutturare i team del progetto. Decidere se i team saranno interfunzionali o organizzati in base a criteri quali funzionalità e componenti. Identificare i ruoli e le responsabilità all'interno dei team di progetto. I ruoli comuni includono sviluppatori, tester, proprietari di prodotti, master Scrum e project manager. Definire chiaramente le aspettative e le responsabilità associate a ogni ruolo. Garantire tecniche e metodi sufficienti per la collaborazione e la comunicazione all'interno e tra team.

Definire criteri di governance e linee guida per la gestione dei progetti, inclusi i criteri di controllo della versione, le strategie di diramazione, i processi di revisione del codice e la verifica dei requisiti di conformità. Definire i processi e le metodologie agile che verranno usati per la gestione dei progetti. Tenere presente che è possibile personalizzare gli strumenti Agile in Azure DevOps per supportare la decisione.

Per semplificare il processo di creazione di nuovi progetti, è consigliabile definire modelli o progetti che definiscono la struttura, i processi e gli artefatti del progetto. Tali modelli possono includere impostazioni predefinite dei repository di codice sorgente, il rilevamento degli elementi di lavoro, le pipeline e i piani di test.

Implementazione

Dopo aver completato tutte le operazioni di preparazione, procedere con l'implementazione del progetto pianificato. All'inizio, è necessario specificare la visibilità del progetto (pubblica o privata), decidere tra il controllo della versione di Git e Team Foundation come meccanismo di controllo della versione e scegliere il processo dell'elemento di lavoro. Questa scelta include le opzioni seguenti:

  • Agile: è incentrato sullo sviluppo iterativo e sulla distribuzione del valore dei clienti tramite storie utente, backlog, sprint e bacheche visive per tenere traccia dello stato di avanzamento.
  • Basic: offre un approccio semplice e flessibile con elementi di lavoro generici e funzionalità di backlog e bacheca di base, più adatte per piccoli team o progetti.
  • CMMI (Capability Maturity Model Integration): Fornisce processi e standard formalizzati per la gestione di elementi di lavoro, requisiti e garanzia di qualità, più adatto per le organizzazioni che cercano miglioramento e conformità dei processi.
  • Scrum: impiega un framework iterativo e autoorganizzato con backlog di prodotto e sprint, stand-up giornalieri e artefatti per la gestione del lavoro e la distribuzione di modifiche incrementali.
  • Scrum personalizzato: facilita la personalizzazione del processo Scrum per soddisfare esigenze specifiche tramite flessibilità in tipi di elementi di lavoro, campi e stati del flusso di lavoro.

Con il progetto implementato, è possibile procedere a costruire la struttura del team. Per impostazione predefinita, ogni progetto include un team che deriva dal nome del progetto, quindi, a seconda del risultato della pianificazione, potrebbe essere necessario modificarlo. È anche possibile creare team aggiuntivi. Ogni team deve avere almeno un amministratore. Ogni amministratore del team può aggiungere membri del team.

Quando si crea un team, è anche possibile generare automaticamente un percorso di area con il nome corrispondente. I percorsi di area consentono di organizzare gli elementi di lavoro all'interno di un progetto, semplificando una migliore visibilità, creazione di report e controllo di accesso. L'associazione di singoli team a un percorso di area dedicato aiuta a delineare chiaramente le aree di responsabilità.

Dopo aver creato i team, è possibile configurarli per ognuna di esse un'ampia gamma di impostazioni aggiuntive, incluse le autorizzazioni personalizzate. Per impostazione predefinita, i membri del team vengono aggiunti al gruppo Collaboratori a livello di progetto. A questo punto, è anche possibile iniziare a gestire le risorse del progetto, ad esempio repository, bacheche, pipeline e piani di test e assegnarli a team specifici in base alle esigenze.

Nello spirito di miglioramento continuo, è consigliabile rivedere e perfezionare regolarmente la configurazione del progetto e del team in base al feedback dei membri dei team e dei membri del progetto. Ciò garantisce che l'organizzazione possa gestire in modo efficiente il processo di sviluppo di prodotti software indipendentemente dalla loro complessità.