mvp orizzontale  psm1 small  cdap safe sixsigma yellow belt mini  mcpd agileiot logo  ac2 logo

Rimuovere Work Items dal Product Backlog e… da VSO

Dopo aver evidenziato più volte la necessità di gestire opportunamente il Product Backlog ed evitare di stimare troppi Work Item per non sprecare risorse preziosi (waste), siamo pronti ad “accogliere il cambiamento” e rimuovere i Work Item che, con l’aumento di know-how sul progetto e la relativa evoluzione, si dimostrano inutili o non necessari.

Se tale operazione è relativamente banale con l’utilizzo di strumenti “fisici”, come post-it e flip-board, lo stesso non si può dire con VisualStudioOnline (o TFS), che non contempla una funzione diretta da Web Interface per la rimozione di uno o più Work Item. In linea di massima questo è un bene, perché l’operazione di eliminazione è definitiva ma, soprattutto, perché porta alla perdita di importanti informazioni per il Team: numero di Work Item errati, domini su cui intervenire per colmare lacune, ecc…

Andiamo a vedere una possibile strategia per tracciare queste informazioni e al contempo “liberare” il Backlog dai Work Item inutili, attraverso una soluzione estremamente semplice, soprattutto se applicata all’atto della creazione del Team Project.

Apriamo la sezione di amministrazione di VSO, spostiamoci nelle “Aree” e creiamo una struttura simile alla seguente:

remove work item 1

Area Settings

ValidateWorkItem sarà l’Area di riferimento per tutti i Work Item che intendiamo realmente realizzare, mentre _ReadyToDelete quella per i Work Item da scartare.

A questo punto, spostandoci nella sezione di gestione dei Team, creiamo un nuovo Team (nel caso in esempio: Working Team) associato al Team Project, facendo attenzione a non far creare un’Area di Default.

remove work item 2

New Team

Selezioniamo il nuovo Team e spostiamoci nuovamente nella sezione specifica delle Aree, andando ad associarlo all’area “ValidateWorkItem”.

remove work item 3

Associamo l'Administrator Team alla Root Area

Fatto questo, il nuovo Team avrà a disposizione una home page specifica omonima ma, soprattutto, un Product Backlog “epurato” dai Work Item che saranno associati all’Area _ReadyToDelete, visibili comunque al Team di Default.

remove work item 4

Work Item setted on _ReadyToDelete Area

Il nuovo Team creato può essere considerato come il Team di riferimento per le attività di sviluppo, mentre quello di Default andrà considerato come Team di Amministrazione a cui saranno visibili tutti i Work Item e, di conseguenza, associato alla Root Area (“SUAP” nell’esempio).

Nel caso si voglia procedere con la soluzione più drastica, ovvero la completa cancellazione dei Work Item “inutili”, la succitata organizzazione è comunque d’aiuto perché circoscrivere l’Area di appartenenza (e di intervento) dei Work Item stessi.

github logoPer cancellare i Work Item possiamo utilizzare le API di VSO/TFS, sulla falsa riga del semplice programma dimostrativo scritto in C# e liberamente disponibile su GitHub: https://github.com/felicepescatore/TFSWorkItemDeleteSample.git

Le dll Microsoft.TeamFoundation.Client e Microsoft.TeamFoundation.WorkItemTracking.Client, necessarie al suo funzionamento, sono presenti nel vostro sistema al seguente path: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0.

Attenzione: il programma cancella DEFINITIVAMENTE i Work Item, per cui va utilizzato con la massima attenzione.

Prima di potervi connettere da codice alla vostra istanza VSO, è necessario che abilitiate l’opzione “Alternate Credential & Password” direttamente da vostro profilo/Microsoft Account (lo trovate in alto a destra una volta loggati in VSO).

profile alternate credential

Alternative Auth Credential

In alternativa alla soluzione proposta, sempre per cancellare i Work Item è possibile ricorrere anche alla riga di comando:

witadmin destroywi /collection:CollectionURL /id:id [/noprompt]