Author Archives: Gian Maria Ricci

Alcune novita sul licensing di VS 2015

Se andate sulla pagina dove viene fatta la comparazione di tutte le versioni di VS 2015, potrete notare alcuni fatti interessanti. Ad esempio si può notare che il Power Point Storyboarding, la Code Review ed il Task Suspend/Resume sono stati resi disponibili non solamente per la professional, ma addirittura per la versione Community.

image

Code Lens, altra feature molto interessante, è stata resa disponibile anche per la professional. Vi invito a dare una scorsa alla pagina in questione, perchè passare a VS2015 non vi porterà solamente le nuove funzionalità di questa versione, ma potrebbe portare nella vostra edition, funzionalità prima presenti solamente nella premium o nell’ultimate.

Happy VS.

Card Styling nella Kanban Board

Con l’ultimo aggiornamento di VSO è stato introdotto il “Card Styling” per le card della Kanban Board. Di base è un semplice motore di regole per cui, in base a criteri espressi sui campi dei work item, abbiamo la possibilità di colorare lo sfondo delle card a nostro piacimento.

Il limite attuale è che l’unico stile possibile che può essere applicato è lo sfondo, ma non è improbabile che in futuro si possano avere altri stili possibili. Vediamo quindi un possibile uso di questa funzionalità.

Si supponga di suddividere le card per “grandezza” usando il classico T-Shirt sizing, ovvero ogni card può avere la grandezza S/M/L/XL. Sulla base della grandezza delle card introduciamo alcuni semplici regole del tipo:

1) Solamente una card XL può essere presente nella board ad eccezione naturalmente della colonna Done e del backlog
2) Solamente una card L può essere presente in una specifica colonna della board
3) Se in una colonna è presente una card XL, in quella stessa colonna non può essere presente più di una card M
4) Se in una colonna è presente una card L in quella stessa colonna non possono essere presenti piu di 2 card M

Questo è un possibile esempio di semplici regole che ci permettono di gestire la variabilità in grandezza delle varie card. A questo punto è necessario però avere un immediato impatto visuale sulla board relativamente alla grandezza delle card. Per questo possiamo usare la nuova funzionalità di Styling.

image

Questo nuovo menù aprirà una finestra in cui potete inserire una serie di regole per decidere il colore di sfondo delle card. Ecco ad esempio le regole per colorare di rosso le card XL, in giallo quelle L e in blu quelle S

image

  • Come potete vedere una regola ha un nome, il colore di sfondo da usare, ed un editor che vi permette di inserire condizioni sui vari campi dei Work Item. In questo esempio ho usato i TAG per categorizzare le card. Se una card soddisfa più regole, verrà applicata la prima soddisfatta. Dalla finestra di gestione regole potete infatti con il drag & drop effettuare un riordinamento.

image

In questo modo è possibile avere un immediato colpo d’occhio sulla grandezza delle card su cui il nostro team sta lavorando.

Gian Maria.

Visual Studio Online update del 7 luglio

Il nuovo update, di cui potete trovare descrizione nel blog ufficiale introduce due importanti novità. Il primo è la possibilità di specificare delle regole per la Kanban Board, che permettono di colorare lo sfondo delle card in base a particolari condizioni. Tornerò successivamente in un post dedicato su alcuni usi pratici di questa funzionalità. Sul […]

0  

Kanban Board e Swim lanes

Nell’ultimo update di Visual Studio online è stata introdotta una nuova migliora per la Kanban Board, ovvero l’implementazione delle Swim Lanes. In una Kanban Board infatti la suddivisione in colonne permette di visualizzare immediatamente il “work in progress” per tutti gli stadi di sviluppo, ma nelle varie colonne non esiste differenza nella priorità delle card. Questo significa che se nella colonna Testing vi sono 4 card una sotto all’altra non implica, come per un backlog, che le card in alto sono in qualche modo più importanti o prioritarie delle altre.

In alcune situazioni è però comodo poter dare priorità ad alcune card, indicando appunto che il team deve in qualche modo focalizzarsi nel fare avanzare alcune card rispetto ad altre. Un esempio pratico potrebbe essere costituito da una card che rappresenta un bug bloccante in produzione. Quando si verifica un bug bloccante in produzione, molto probabilmente tutto il team deve collaborare per far si che il bug sia corretto nel minor tempo possibile e quindi la card (o le card) che sono collegate al bug debbono avanzare con priorità rispetto alle altre.

Per visualizzare in maniera chiara ed evidente questo fatto, è comodo avere nella board delle suddivisioni orizzontali, in modo da suddividere la board in più fasce orizzontali. In realtà la fascia principale, rimane la board come la si conosce, mentre le fasce aggiuntive sono appunto dette Swim Lanes e servono appunto a raccogliere particolari card che debbono essere gestite con priorità differente rispetto al resto.

image

Nella swimlane le colonne sono esattamente le stesse della board principale, dato che ogni card ha comunque un percorso ben definito nella vostra organizzazione. In generale la visualizzazione normale della board può mantenere la SvimLane collassata, dato che appena qualcuno vi sposta dentro un item è possibile comunque visualizzare nell’header quante carte sono presenti per ogni colonna.

image

In questo modo, anche se la SwimLane priorità massima è normalmente collassata per non sprecare spazio, appena un elemento vi viene spostato l’header cambia e si può quindi espandere la SwimLane per visualizzare le card che in questo caso hanno Priorità Massima.

La regola di base è non abusare delle Swim Lanes, se il PM o chi per lui si abitua ad inserire frequentemente molte card in Priorità Massima, il team inizierà a considerare le card in Priorità Massima come tutte le altre e quindi si perde il significato originale. D’altra parte far lavorare un team sempre “in emergenza” è il modo migliore per diminuire le performance del team stesso.

Come ultima nota, si può verificare che le card poste nelle swim lanes vanno a sommarsi al conteggio totale delle card nelle varie colonne. Questo significa che se il Work In Progress Massimo per la colonna di testing è 4 e vi sono all’interno già 4 card, in teoria non sarebbe possibile spostare una card in Testing nella swimlane di Priorità Massima. Nella pratica, se la Swim Lane è usata con cognizione di causa e contiene solamente gli elementi con reale Priorità Massima, si può eccedere il WIP nelle varie colonne. Se la colonna di testing è piena ma è necessario fare una verifica per una patch di un bug bloccante in produzione, si può tranquillamente pensare che il team di testing dedichi risorse al bug bloccante, trascurando le card su cui stava lavorando attualmente.

Chiaramente deve essere chiaro che questa violazione del Work In Process può avvenire solamente per le Swim Lanes associate ad eventi eccezionali e non può costituire la normalità. Se i bug bloccanti diventano molto frequenti (la speranza è che questo non accada, ma potrebbe avvenire), significa che la Swim Lane di Priorità Massima è spesso piena di card, a questo punto il team potrebbe decidere di lasciare costantemente uno slot libero in ogni colonna, dato che la probabilità di avere un elemento nella Swim Lane è grande. D’altra parte in caso di frequenti bug bloccanti, è doveroso lasciare il team scarico in modo da poter affrontare i bug velocemente.

Gian Maria.

Comments Off  

Nuovo deploy di VSO

Con l’ultimo deploy di Visual Studio Online sono state introdotte interessanti funzionalità. Prima tra tutte la possibilità di utilizzarele le swimlanes nella kanban board, di cui avrò modo di parlare in dettaglio in un post successivo. Abbiamo poi la possibilità di fare menzioni di work item nei commenti al codice, ma soprattutto la nuova build, […]

Comments Off  

Nuovo sprint in VSO

Sono state messe online le modifiche del nuovo sprint per Visual Studio Online, e questa volta le novità sono veramente interessanti e tante.

Per prima cosa è ora live la nuova infrastruttura di build, di cui avete avuto una preview con TFS 2015 RC. La build è stata completamente riscritta, e le novità sono veramente molte. Avevo già iniziato a parlare della nuova infrastruttura di build in un vecchio post, TFS2015 build vNext, ed ora che la preview è pubblica in VSO seguiranno altri post sull’argomento.

Abbiamo inoltre una nuova funzionalità per fare opt-in nel Portfolio Management, è ora infatti possibile decidere se utilizzare o meno il livello Features, ed è stato anche aggiunto il livello Epics. Nei template sono stati aggiunti nuovi campi per un migliore supporto al metodo di sviluppo SAFe (Scaled Agile Framework).

Choosing portfolio backlog levels

Continuano infine le migliore alla Kanban Board. Con questo sprint potete editare in place, direttamente nella card, ogni campo che avete visualizzato; questo vi permette di gestire in maniera molto più veloce le varie card.

Sono state aggiunte poi le Branch Policies su Git, ovvero la possibilità di assegnare una build alle pull requests. In questo modo ogni qualvolta viene fatta una pull request di una branch, viene verificata la build e se quest’ultima fallisce non viene data la possibilità di fare la merge dalla interfaccia utente. Inoltre è possibile specificare altre regole, come ad esempio un numero minimo di revisori minimo affinché la pull request possa essere accettata. Sempre sul fronte git è ora possibile accedere ai repository direttamente utilizzando oAuth.

Gian Maria

Comments Off  

Limitare la memoria massima di SQL Server in TFS

ho già bloggato in passato sulla necessità di limitare il consumo di memoria di SQL Server nelle installazioni single server di TFS, al fine di evitare che SQL utilizzi tutta la RAM disponibile, rallentando fino talvolta a bloccare le altre parti di TFS (app tier). In questo modo il vostro sistema dovrebbe essere al sicuro da eventuali rallentamenti o blocchi dovuti all’eccessivo consumo di RAM di Sql Server.

Se siete interessati a capire come ottenere il massimo dal vostro TFS, sicuramente questo post è quello che fa per voi.

Vorrei però far notare che in generale, anche in installazioni dove SQL Server è su macchina dedicata, è sempre buona norma limitare il massimo uso di RAM di SQL Server, altrimenti si corre il rischio che SQL lasci senza risorse il sistema operativo ed anche altri servizi accessori.

Se siete interessati all’argomento potete leggere il seguente articolo: How much memory does my Sql Server actually need. In generale, per quanto riguarda TFS, Grant Holliday ci da una formula empirica da utilizzare

Riservare: 1 GB di RAM per il Sistema Operativo, 1 GB per ogni 4 GB di RAM installati nel range 4–16 GB, poi 1 GB per ogni 8 GB RAM installata sopra i 16 GB

Questo significa che se il vostro SQL Server è installato in una macchina con 32 GB di RAM, si deve limitare la memoria usabile da Sql Server ad un valore di 25 GB.

Il limitare la memoria diventa importante soprattutto durante gli aggiornamenti che richiedono cambiamenti di schema ragguardevoli, come ad esempio il passare dal 2013 al 2015.

Ricordate pertanto di monitorare le performance del vostro Data Layer di TFS, in modo da massimizzare le performances ottenibili dal vostro hardware.

Gian Maria.

Comments Off  

Integrazione tra PowerBI e VSO

Durante Build 2015 sono state molte le novità che Microsoft ha annunciato relative alla famiglia di VSALM, prima tra tutte la disponibilità delle versioni RC di Visual Studio e Team Foundation Server.

Tutte le novità verranno piano piano descritte in una serie di post e la prima di cui voglio parlare è l’integrazione tra VSO e Power BI, che andrà a coprire una delle aree scoperte di VSO rispetto ad un TFS On-Premises, la reportistica. Di base è ora possibile utilizzare Visual Studio Online come sorgente dati per Power BI

image

Una volta selezionato è sufficiente specificare il proprio account VSO, il Team Project che si vuole collegare (* per tutti i progetti), abilitare l’autenticazione oAuth2 e PowerBi è ora in grado di andare a “recuperare” i dati dal vostro account.

Una volta che i dati sono stati importati è possibile iniziare a creare report utilizzando tutte le potenzialità offerte da PowerBI. Anche se non siete esperti di PowerBI, come me, di base l’integrazione fornisce già una dashboard con una serie di report pre-confezionati da consultare, che sono quindi disponibili senza dover effettuare nessun click o configurazione aggiuntiva.

Appena i dati sono importati, la dashboard inizia a popolarsi con alcuni grafici base.

image

In questo caso potete vedere alcune metriche riguardanti il controllo di codice sorgente. Ogni grafico e tile può essere cliccata per entrare a visualizzare il dettaglio.

image

In questo caso ad esempio si può vedere il dettaglio relativo ai commit effettuati. Chiaramente è possibile creare qualsiasi tipologia di report si voglia, partendo dai dati importanti per creare il grafico desiderato.

image

In questa prima preview i dati sono presenti solamente per il codice ed in futuro verranno aggiunti grafici e metriche riguardanti tutte le altre aree di VSO.

Gian Maria Ricci

Comments Off  

Le novità di Build per VSALM

Sicuramente non saranno completamente esaustive, ma nel blog di Brian Harry potete trovare una serie di link a tutte le novità riguardanti la famiglia VSALM che sono state annunciate a Build.

http://blogs.msdn.com/b/bharry/archive/2015/04/29/visual-studio-and-team-foundation-server-at-build-2015.aspx 

Chiaramente la novità piu succosa è la RC di TFS e VS 2015 Smile, buon download.

Gian Maria.

Rinominare un Team Project in VSO

Una delle funzionalità più richieste è ora disponibile in Visual Studio Online, la possibilità di rinominare un Team Project, vediamo come.

Il primo passo è andare nell’area di amministrazione tramite il link diretto  https://nomedelvostroaccount.visualstudio.com/DefaultCollection/_admin oppure semplicemente premendo il simbolo dell’ingranaggio in alto a destra. a questo punto a lato del Team Project appare la freccia del menù contestuale, da cui potete scegliere il Rename.

image

Una volta scelto il rename basta semplicemente specificare il nuovo nome.

image

A questo punto è il caso di leggere attentamente il disclaimer, l’operazione di rename project è una operazoine che porta molti cambiamenti.

image

L’aspetto più noioso è che, se utilizzate i workspace locali con TFVC, se non avete Update5RC o VS 2015RC o superiori, siete costretti a ricreare il workspace. Questo significa che se avete modifiche pendenti, dovete fare shelve, cancellare il vecchio workspace, rifarlo e rifare unshelve. Se usate git è tutto molto più semplice, perché basta cambiare il remote ed il gioco è fatto. Se vi scordate comunque il messaggio di errore che ricevete è particolarmente chiaro

image

Trovate comunque nel link http://vsalmdocs.azurewebsites.net/Library/vs/alm/admin/project-rename tutte le informazioni necessarie per svolgere queste operazioni in dettaglio, per cui non è il caso di preoccuparsi troppo. Una volta premuto il bottone Rename Project, il sistema inizia le operazioni, al termine delle quali, il vostro progetto è rinominato.

Tra le cose interessanti vi è il redirect automatico, ovvero se qualche membro del team ha memorizzato qualche url come

https://gianmariaricci.visualstudio.com/DefaultCollection/Experiments/_versionControl#path=%24%2FExperiments%2Ftrunk%2FElasticsearch%2FMusicDb&_a=contents

Andandola a mettere nel vostro browser preferito potrete notare che è ancora valida, sebbene parte della url contenga il vecchio nome del Team Project. Chiaramente se andrete a creare un nuovo Team Project con il nome del vecchio, il redirect non funzionerà più, dato che in quel caso vi starete riferendo al nuovo Team Project.

Kudo al Team di VSO per avere finalmente soddisfatto una delle richieste più votate di tutti i tempi.

Gian Maria.

Comments Off