Author Archives: Gian Maria Ricci

Cancellare Work Item in VSTS

Una delle prime domande che mi sono sempre state fatte in questi anni dagli utenti che iniziano ad usare TFS ed iniziano a “Giocare” con il sistema è: Come posso cancellare un Work Item? 

Questa domanda è sicuramente una delle più fatte, perchè di base, fino alle ultimissme versioni, l’unico modo di cancellare un Work Item era tramite riga di comando (witadmin destroywi). La ragione di questo è abbastanza normale, TFS è un sistema di tracciatura dati che deve garantire l’accountabilty, per cui in realtà non cancellerete mai un Work Item, ma ad esempio lo mettere in stato “Done” oppure per un bug in stato “Chiuso” con reason “duplicato” etc etc.

Purtroppo però esistono situazioni in cui realmente si vuole andare a rimuovere completamente un Work Item, non lasciando traccia nel sistema. Dato che la riga di comando è abbastanza poco user friendly, e soprattutto può solamente essere utilizzata da chi ha sufficienti diritti per cancellare un Work Item, sempre si più si è sentita la necessità di poter cancellare un Work Item direttamente dalla UI Web.

image_thumb[2]

 

Una volta cancellato un Work Item, il sistema avverte che in realtà non è stato realmente cancellato, ma per ora parcheggiato nel Recycle Bin.

image_thumb[5]

Il link al Recycle Bin campeggia anche in bella vista nella schermata dei WORK ITEMS.

image_thumb[8]

Nel recycle bin avete la possibilità di ripristinare il Work Item (1) cosi come la possibilità di cancellarlo definitivamente (2)

image_thumb[11]

Nel caso di Restore l’accountability è garantita, perchè l’operazione di Delete e Restore sono correttamente incluse nella storia del Work Item.

image_thumb[14]

In caso selezionate il Delete dal cestino sarete avvertiti che l’operazione non è reversibile, in questo caso il Work Item, con tutta la sua storia è persa per sempre.

image_thumb[17]

Come ultima nota, se dovete cancellare più Work Item contemporaneamente, potete o selezionare tutti i Work Item che volete cancellare e poi facendo click con il tasto Destro scegliere Delete, oppure direttamente effettuare dal backlog un Drag And Drop sull’icona del cestino.

image_thumb[21]

Questa funzionalità per ora è disponibile solamente in VSTS e non in TFS on-premises.

Gian Maria Ricci.

Nuovo deploy di VSTS

Potete leggere online tutte le nuove funzionalità disponibili su Visual Studio Team Services rilasciate il 25 gennaio.

Dopo poco dall’introduzione del concetto di Dashboard è ora possibile scrivere nuovi widget come estensioni di VSTS. Molte altre novità sono sempre state rilasciate nell’ambito delle dashboard, tra cui la possibilità di fare auto-refresh delle dashboard stesse (utile nel caso vogliate mettere qualche dashboard sempre visibile su un monitor).

Ci sono moltissime altre modifiche, ma una delle più interessanti è la possibilità di effettuare ricerche contemporaneamente sul codice Git e TFVC, dato che ora vi è la possibilità di avere entrambi i source control su un unico Team Project.

Come sempre non mi stancherò di ripeterlo, una delle ragioni per usare VSTS è la possibilità di rimanere sempre aggiornato con continue novità senza dovere spendere un solo millisecondo ad amministrare server installati on-premises.

Happy VSTS.

Gian Maria.

Personalizzazione del process template finalmente su VSTS

Una delle limitazioni più “sentite” della versione “online” di TFS, meglio conosciuta come Visual Studio Online, ora Visual Studio Team Services era l’impossibilità di personalizzare il process template. Finalmente con il deploy del 10 Dicembre questa limitazione lentamente inizia a sparire.

Finalmente è ora possibile in Visual Studio Team Services personalizzare parzialmente il Process Template

Perché dico lentamente? Perché in realtà non si ha ancora la completa personalizzazione del Process Template, come si ha invece per la versione On Premises e la ragione è questa: dato che è Microsoft che si occupa degli aggiornamenti, non può permettersi di verificare se gli aggiornamenti al Process Template sono compatibili con le vostre personalizzazioni, e quindi la struttura di estendibilità di VSTS è stata completamente cambiata. Non è quindi supportata la modalità standard con la quale si poteva scaricare i file XML di definizione, cambiarli e poi ri-uploadarli, perchè questo permetterebbe di personalizzare praticamente tutto.

Vediamo quindi che funzionalità di estensione sono presenti ora in VSTS.

Process Template Ereditati

Nella pagina di amministrazione della Project Collection potete vedere infatti tutti i process template disponibili ed il numero di Team Project che lo usano.

image

 

Questi template sono quelli Base forniti da Microsoft e non possono essere cambiati. Quello che si può fare è creare dei Process template ereditati dove verranno in realtà effettuate le personalizzazioni. Il primo passo per creare le proprie personalizzazioni è quello di creare un nuovo processo ereditato

image

 

image

In questo modo si è creato il proprio processo che eredita da quello Agile. La documentazione ufficiale dettagliata si può trovare qui https://msdn.microsoft.com/en-us/Library/vs/alm/Work/import-process/import-process.

L’ereditarietà dei processi garantisce che nessuno possa modificare i processi base, che sono gestiti da Microsoft, semplificando le operazioni di upgrade.

Appena il vostro nuovo processo ereditato è stato creato vi viene offerta la possibilità di creare un nuovo Team Project basato sul processo ereditato oppure di cambiare un Team Project esistente per usare il nuovo template. Attenzione che in questo secondo caso potete cambiare un Team Project che è basato sul processo master da cui siete partiti. Non è infatti ad esempio possibile portare un Team Project da SCRUM a Agile o CMMI o viceversa.

image

Infatti come si può vedere dalla figura successiva, solamente i Team Project basati sul template Agile sono disponibili per essere migrati al nuovo progetto.

Per ora non è possibile migrare un Team Project da un processo ad un altro (es da Scrum ad Agile), ma solamente tra processi ereditati.

image

In questo modo quando Microsoft deve aggiornare uno dei Process Template base, può farlo senza problemi, perché tutte le modifiche vengono in realtà effettuate su di un processo che “eredita” le caratteristiche di quello base e su di lui imposta le personalizzazioni.

personalizzazione web based

A questo punto potete andare ad effettuare le personalizzazioni del template direttamente tramite l’interfaccia web senza dovere editare manualmente file XML.

Per la personalizzazione dei template di VSTS non è più necessario l’editing manuale di file XML, ma tutte le operazioni vengono fatte dall’interfaccia web.

Cliccando su uno dei process template ereditati, si può procedere alla personalizzazione.

image

Cliccando nella Work Item Types posso ad esempio andare ad aggiungere un nuovo campo al Work Item di tipo Bug, supponiamo di volere aggiungere un campo che permetta di identificare il cliente che ha segnalato il bug.

image

Potete chiaramente sia aggiungere un Field esistente (perché magari presente su un altro Process Template ereditato) sia crearne uno nuovo.

image

Per ora non è possibile aggiungere l’intero set delle regole che sono normalmente disponibili per i campi dei Work Item. Le regole sono limitate al valore di default e obbligatorietà del campo. Il posizionamento nell’interfaccia invece viene semplicemente fatto con drag and drop andando a posizionare il campo dove si preferisce.

image

La gestione dei campi è ora radicalmente semplificata, è possibile infatti avere anche la lista di tutti i field, e sapere esattamente da quali Work Item questi field sono referenziati.

image

Infine è possibile anche gestire la sicurezza di questo Process Template ereditato, stabilendo chiaramente chi può modificarlo, cancellarlo o creare ulteriori processi ereditati.

image

Il vostro nuovo campo è ora disponibile ai vostri utenti.

image

Conclusioni

Con questo primo deploy, inizia a cadere una delle più sentite limitazioni di VSTS rispetto alla versione on premises, ovvero la possibilità di adattare il process template alle proprie esigenze. Sicuramente in futuro le possibilità di espansione verranno aumentate e come sempre vi consiglio di seguire il nostro blog per rimanere sempre aggiornati. :)

Buone feste a tutti.

Comments Off  

Nuovo deploy di VSO ooopps VSTS :)

Questo novembre è stato decisamente interessante per quanto riguarda Visual Studio Online, ribattezzato oramai in Visual Studio Team Services come già detto da Antonio nel suo post sulle novità di connect().

Con il deploy del 18 Novembre, di cui potete leggere qui, sono state rese pubbliche moltissime novità. Una delle più interessanti è il Release Management vNext in public preview. Chiunque abbia lavorato con Release Management non avrà mancato di notare che la UI era molto difforme dalle UI standard di VSTS / TFS, questo perchè in realtà il prodotto era il vecchio InRelease di InCycle Software, acquisito da Microsoft.

Come per tutte le altre funzionalità, anche la nuova versione di Release Management è completamente Web Based e non richiede l’installazione di un client separato.

La seconda succosa novità è il supporto per i package, come descritto in questo post. Per ora si parla solamente di Nuget, ma sicuramente verrà aggiunto il supporto ad altre tecnologie. La cosa interessante è che nel post viene detto come il package management service sia stato scritto come estensione di VSTS. Questo mostra come la tradizione di DogFooding sia sempre attiva in MS.

Infine anche la parte di testing ha avuto le sue novità, iniziando da un nuovo hub nell’area di TEST per visualizzare il risultato degli unit testing delle Build, con molte funzionalità interessanti, per finire con una estensione di Chrome per eseguire sessioni di Exploratory testing senza la necessità di installare MTM, ma con una esperienza browser based.

Ebbene, non facciamo in tempo a compiacerci di queste nuove funzionalità che già abbiamo un ulteriore annuncio di un nuovo deploy del 24 novembre. Se pensate che questo sia un rilascio minore, viste le novità rilasciate 6 giorni prima, vi sbagliate di grosso.

Finalmente in questo rilascio viene data la possibilità di usare Git e TFVC nello stesso Team Project, una delle funzionalità più richieste dall’introduzione di Git in TFS / VSTS.

Nella build è ora presente un nuovo task dedicato alla pubblicazione di NuGet nel feed interno di VSTS, rendendo di fatto veramente banale creare e pubblicare i propri package nuget da una build di TFS.

Per le Dashboard abbiamo un nuovo widget dedicato alle Pull Request, in modo da massimizzare la visibilità delle stesse a livello di team.

E’ stata poi introdotta una sintassi per cui con il carattere @ si può effettuare una mention di un membro del progetto e con # si può menzionare un work item. Questa sintassi è supportata nelle pull request, nei comment dei changeset, nei commenti degli shelveset, e piano piano verrà estesa a tutte le aree di TFS / VSTS. La parte veramente interessante è che, menzionando un membro del team con @, verrà inviata una mail di alert per avvertire la persona che è stata menzionata.

Infine sono state introdotte le shortcut per favorire la navigazione.

In conclusione, abbiamo sempre più ragioni per scegliere VSTS come nostra piattaforma di gestione ALM.

Gian Maria.

Comments Off  

Deploy del 30 ottobre per VSO

Non mi stancherò mai di dire che la ragione principale per usare VSO invece di installare TFS on premises, è la possibilità di rimanere sempre aggiornati all’ultimissima versione senza sforzo. In questo ultimo deploy, targato 30 ottobre, possiamo finalmente utilizzare al meglio le nuove Dashboard, che vanno a rimpiazzare la classica Home Page di un […]

Comments Off  

TFS 2015 Update 1 – RC1 ora disponibile

E’ appena uscita la RC1 dell’Update 1 di TFS 2015, e come sempre le novità degli update sono sempre ricche ed interessanti. Tutti i dettagli di questo update sono disponibili nel blog di Visual Studio, ma in questo post è interessante elencare quelli che, a mio avviso, sono i più interessanti e che rivestono un particolare interesse.

Team project misti TFVC Git

Finalmente sarà possibile avere in un singolo Team Project sia il source control classico (TFVC) sia Git, senza la limitazione di dover scegliere o l’uno o l’altro. Questa funzionalità è tanto più importante quanto più si adotta la tecnica del Singolo Team Project per la propria organizzazione.

Un altro scenario dove questa funzionalità si rivela vincente è per tutti quei progetti in cui, il team preferisce utilizzare un source control Centralizzato come TFVC, ma per parti del progetto su altri ambienti, come ad esempio sviluppo su iOS, è sicuramente preferibile utilizzare Git per un maggiore supporto offerto dai tool di sviluppo.

Se ad esempio si ha un progetto basato su Git, è possibile andare nella gestione del codice e selezionare l’opzione di creazione di un nuovo repository.

image

A questo punto è possibile selezionare il tipo di repository che si vuole creare, in questo caso si può aggiungere un repository di tipo TFVC.

image

In questo caso non si può specificare un nome, ma, come è sempre stata la convenzione di TFS, viene creata una cartella con lo stesso nome del TeamProject nella radice del source control di TFVC, ovvero in questo caso $/TailspinToys. Questo significa che è possibile avere solamente un repository di tipo TFVC, ma molteplici repository Git.

image

Query sulle colonne Kanban e nuove funzionalità

Ho parlato molto delle personalizzazioni possibili ora sulla Kanban board di Visual Studio Online, e grazie a questo update ora sono disponibili anche per TFS on premises. In particolare la possibiltà di fare query sulle colonne personalizzate della Kanban è sicuramente una delle funzionalità più a lungo attese e desiderate. In questo caso tutte le funzionalità introdotte sono state ampiamente discusse nei precedenti post riguardanti Visual Studio Online.

Dashboard multiple

Una altra interessantissima funzionalità è la possibilità di creare Dashboard Multiple personalizzate per il proprio progetto. Fino a questo update, la reale dashboard di progetto era la home page, dove era possibile effettuare il pin di tiles legate alla Build, Source Control, Work Item o report, etc, ma non è mai stata data una vera possibilità di personalizzazione. La HOME del progetto è ora stata rimpiazzata da una Dashboard chiamata Overview con alcuni widget preconfigurati che è possibile personalizzare a piacimento. Non si è inoltre limitati ad una sola dashboard, ma se ne possono aggiungere più di una, per avere più visioni differenti sullo stesso progetto.

Questa funzionalità è decisamente interessante per chi utilizza un solo Team Project, perchè può creare dashboard per ogni sotto progetto senza la necessità di creare Team Multipli.

Ecco ad esempio come si presenta la pagina di overview di un progetto dopo l’aggiornamento a Update 1.

image

In basso a destra, si può vedere un grosso bottone verde con un + al centro che permette di aggiungere alla dashboard differenti widget.

image

In questo modo si può creare una dashboard per visualizzare solamente le informazioni che sono necessarie e con il layout che si preferisce. Oltre agli Widget disponibili, qualsiasi grafico fatto su una query può essere aggiunto a qualsiasi dashboard.

image

Il grafico può essere aggiunto a quante dashboard si vuole, e può essere riposizionato dove lo si desidera.

image

Anche per le build è possibile scegliere in quale dashboard visualizzarle.

image

L’update 1 contiene ulteriori interessanti modifiche, vi rimando alla pagina della KB per la lista completa.

Gian Maria.

Disponibili le macchine virtuali di test per TFS 2015

Brian Keller ha postato nel suo blog la disponibilità del nuovo set di macchine virtuali per Hands on Labs su TFS 2015, potete trovare tutto al solito indirizzo. http://aka.ms/ALMVMs. Buon lavoro.

Comments Off  

Visual Studio Online, deploy del 18 settembre

Anche in questa versione, molte delle novità riguardano la Kanban Board, che, deploy dopo deploy, diventa uno strumento sempre più interessante. Se una User Story è scomposta in Task, vedrete un sommario dei task direttamente nella task.

image

In questo caso la User Story ha due task, entrambi non completati. L’aspetto interessante è che cliccando sul sommario si apre una visione di dettaglio, che vi permette di aggiungere task e di marcare i task come completati.

image

Se si utilizza Kanban la scomposizione in task non ha la stessa valenza di Scrum, dove il team assegna le ore ai vari task per tracciare il Burndown chart, ma i task hanno più una valenza di Checklist, ovvero le “cose da fare”. Per questo nella Kanban board vedrete solamente i titoli dei task, e selezionando la checkbox, il task verrà direttamente portato dallo stato “to do” allo stato “Done”. Questa funzionalità è particolarmente interessante perché permette una sottodivisione delle card più impegnative, (ad esempio le XL se usate il T-Shirt sizing). Non viene richiesto di fare stime o di assegnare i Task, sebbene voi possiate farlo; per cui la scelta del dettaglio sul come gestire i task è lasciata al team, e la board vi darà una visione comunque più corretta ed allineata. Sapere infatti che 8 su 10 task di una card XL sono completati vi da una migliore predittibilità di quando la card potrà essere Mossa nella colonna successiva.

image

Mentre per le storie di piccola entità il team può trovare inutile scomporre in Task, per quelle più impegnative questa funzionalità diventa decisamente interessante, perché permette di avere una idea migliore delle cose che rimangono da fare.

La funzionalità decisamente più interessante di questo deploy è sicuramente la possibilità di utilizzare le colonne custom della Kanban board nelle query di TFS, una funzionalità che è stata richiesta da moltissimo tempo da un nutrito gruppo di utenti.

image

Finalmente è quindi possibile creare query che filtrino tutte le card in base alla colonna di appartenenza. Attenzione agli operatori <, >, >=, etc, perché di primo impatto potreste pensare che con un operatore > (Maggiore) la query vi ritorni solamente le card presenti in colonne a destra della colonna usata come filtro. Purtroppo il risultato è che vi verranno restituite tutte le card presenti in colonne il cui nome, inteso come stringa, sia maggiore del valore selezionato. Volendo è possibile utilizzare questa funzionalità chiamando le colonne (1_analysis, 2_ developing) etc.

E’ infine possibile utilizzare anche i filtri “Board column Done”, che vi permette di specificare se la card deve trovarsi nella colonna Done o Doing (nel caso utilizziate le splitted columns) e la possibilità di filtrare per Swimlane. In questo modo potrete creare query per estrarre dati e fare facilmente report sullo stato della vostra board.

image

Le altre modifiche di questo sprint riguardano la possibilità di effettuare operazione di Drag And Drop nella board per cambiare il parent di un Work Item, poter effettuare il drag in una interazione con elementi multipli e fare il Move to Top and Move to Position con elementi multipli selezionati.

Per quanto riguarda le pull request di Git, è ora possibile impostare una policy per cui non è possibile effettuare una pull request se non vi è un Work Item assegnato e bloccare la merge se non esiste un work item assegnato.

Infine è ora possibile esportare anche il risultato dei test nel Test Hub.

Nel post relativo del blog di VisualStudio.com trovate tutti i dettagli.

Happy VSO

Novit&agrave; deploy 26 Agosto

I deploy di Visual Studio Online non si fermano nemmeno d’estate :). Il 26 Agosto è stato rilasciato un update che porta piccole modifiche, come potete leggere nel post ufficiale. Le modifiche visibili sono minime, si può effettuare il rename in place delle colonne nella Kanban Board, si può aggiungere anche membri non del team alla Capacità per il calcolo del Burndown.

Sempre nel Burndown Chart una interessante modifica è l’aggiunta di una riga che rappresenta la capacità disponibile del team, considerando anche i giorni di assenza dei singoli membri. Questa funzionalità è stata presa da un item della User Voice a dimostrazione che il Team controlla regolarmente UserVoice per suggerimenti sui loro prodotti.

Infine è stato pubblicato un nuovo task per il nuovo motore di build che permette di effettuare l’analisi con SonarQube.

Gian MAria.

Comments Off  

VSO e deploy di Agosto

Questa volta l’annuncio è sicuramente tardivo, perchè il deploy di VSO è del 7 Agosto, ma volevo comunque, sebbene in ritardo, annunciare una ulteriore funzionalità migliorata della Kanban Board in VSO.

Nei precedenti deploy era stata introdotta la possibilità di cambiare lo sfondo delle card in base a regole sui Work Item, ed avevo mostrato come questa funzionalità può essere utilizzata per marcare visivamente il T-Shirt sizing. In questo ultimo deploy la possibilità di cambiare l’aspetto delle card in base a regole sui work item è stato ulteriormente espanso, permettendo interessanti combinazioni.

Se premete il bottone dei settaggi nella Kanban Board, la prima cosa interessante è che viene aperta una visualizzazione in cui potete configurare molte opzioni del vostro account che riguardano la visualizzazione agile.

 

image

Se aggiungiamo una regola, possiamo verificare che ora è possibile anche personalizzare il titolo, ad esempio si può creare una regola per cui se la card ha una priorità uguale a 4 (massima) il titolo verrà mostrato in rosso ed in grassetto.

image

In alto a destra potete vedere una preview, di come verrà visualizzato il titolo, e nella vostra board ora si può visualizzare immediatamente le card per cui la priorità è massima.

image

Oltre a questo, un’altra interessante novità riguarda le librerie client per sviluppare con TFS. Nella versione VSO/2015 le nuove REST API costituiscono probabilmente una delle migliori opzioni, dato che non richiedono nessuna libreria, ma se avete codice che utilizza il Client Model di TFS, la conversione non è indolore. Finalmente il Client Object Model di TFS è disponibile come libreria Nuget, come potete leggere qui. Questo significa anche che potete redistribuire tutte le dll, invece di richiedere l’installazione del Team Explorer / Visual Studio.

Happy VSO.

Gian Maria.