Configurare progetti e team in Azure DevOps
Nel panorama altamente dinamico odierno dello sviluppo di software 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 responsabilità ben definita e una gestione semplificata del flusso di lavoro. Contribuiscono inoltre a migliorare l'agilità, accelerare la distribuzione e ottenere il corretto allineamento con gli obiettivi aziendali.
Pianificazione
Per creare l'approccio ottimale all'implementazione di progetti e team, è necessario prima di tutto 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.
Per ogni nuovo progetto, determinarne quindi 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 oppure 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 (pubblico o privato), decidere tra il controllo della versione di Git e Team Foundation come meccanismo di controllo della versione e scegliere il processo degli elementi 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.
- Base: Offre un approccio semplice e flessibile con elementi di lavoro generici e funzionalità di backlog e bacheca di base, più adatte per team o progetti di piccole dimensioni.
- CMMI (Capability Maturity Model Integration): Fornisce processi e standard formalizzati per la gestione di elementi di lavoro, requisiti e controllo di qualità, più adatti per le organizzazioni che cercano il miglioramento e la conformità dei processi.
- Scrum: Usa un framework iterativo e auto-organizzante con backlog e sprint di prodotto, stand-up giornalieri e artefatti per la gestione del lavoro e la distribuzione di modifiche incrementali.
- Scrum personalizzato: Facilita la personalizzazioni del processo Scrum per soddisfare esigenze specifiche grazie alla flessibilità dei tipi di elemento di lavoro, dei campi e degli stati del flusso di lavoro.
Dopo aver definito il processo, è possibile procedere alla creazione della struttura del team. Per impostazione predefinita, ogni progetto include un team il cui nome deriva dal nome del progetto, quindi, a seconda del risultato della pianificazione, potrebbe essere necessario modificarlo. È anche possibile che si vogliano 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, favorendo una migliore visibilità, la creazione di report e il 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 configurare per ogni team 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 assegnarle a team specifici in base alle esigenze.
Per supportare il 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à.