Dopo aver installato Team Foundation Server 2012 Update 2 puo’ succedere che il Work Item Tracking Synchronization Service improvvisamente si blocchi, e che quindi non si vedano piu aree ed iterazioni aggiornate in Visual Studio, Web Access, Excel, etc.

Questi sono i sintomi…

error

image

Ovviamente per fare troubleshooting di questo bug, i log della pagina amministrativa _oi sono essenziali:

image  Vediamo che da un certo momento in poi, un certo numero di job Work Item Tracking Integration Synchronization falliscono…

image …e nella Job History Details troviamo un System.NullReferenceException. Ecco il problema!

Nella RC del Team Foundation Server 2012 Update 3 troviamo una fix  per questo, come dettagliato nel changelog (paragrafo Work Item Tracking nelle fix per Team Foundation Server).

Con Team Foundation Server 2012 il licensing e’ stato estremamente semplificato, in modo da avere un percorso di adozione piu’ chiaro per le feature impattate. Un grande esempio di questo e’ il nuovo Web Access.

Il nuovo Team Web Access mette a disposizione tre livelli di accesso alle informazioni, dipendenti dalla CAL che si ha:

clip_image001

Questi tre livelli espongono un set di informazioni (e di feature) differenti per l’utente.

clip_image002

Un utente che accede al Web Access con un livello Limited avra’ piu’ o meno la stessa esperienza di utilizzo della vecchia modalita’ Work Item Only View in Team System Web Access. Questo utente accedera’ a tutti I work item che gli appartengono senza la necessita’ di una CAL.

 

clip_image003

Il livello Standard e’ per chi ha un Visual Studio 2012 Professional, ed aggiunge tutte le funzionalita’ standard del Web Access oltre alle Board agili introdotte con la versione 2012.

clip_image004

Infine il livello Full e’ per chi ha un Visual Studio 2012 Premium o superior, ed abilita tutte le feature del Web Access, quindi anche il Backlog Management, il Feedback Management e – con l’Update 2 – il Web Test Case Management.

Nonostante siano presenti sin dalla RTM, i metastati sono diventati noti al grande pubblico dopo l’introduzione della Kanban Board. Perche’? Vediamo…

clip_image002

New, Approved, Committed e Done sono metastati. Ne avete mai sentito parlare prima d’ora? Direi di no :)

Non sono niente di particolare, ma solo un aggregatore di stati per i Work Item Type. I metastatic sono definiti all’interno del Process Template ovviamente, nel nostro caso solo per i Work Item di tipo Product Backlog Item:

 clip_image003

Come vediamo, possiamo avere un Work Item in stato Proposed che puo’ essere New o Approved.

Questo e’ l’esempio piu’ semplice, ma ad esempio e’ possibile customizzare la board per mostrare piu’ metastati, farci dei report, e molto altro.

Spesso molti pensano che la siccome la Team Foundation Server Integration Platform e’ un progetto open-source non abbia supporto.
 
SBAGLIATO!

E’ l’unica soluzione di migrazione e sincronizzazione supportata da Microsoft. Ma solo se si scarica il package dalla Visual Studio Library, che e’ quello della versione stabile e supportata. Se avete un problema, potete chiamare il Customer Support Service e chiedere supporto.

Invece se si scarica il package da Codeplex (che contiene anche il codice sorgente) potreste avere delle beta, o delle version diverse da quelle supportate, che quindi non vengono coperte dal CSS.

Spero che questo chiarisca le cose su questo argomento molto importante Smile

A volte capita che l’amministratore del TFS deve risolvere problemi causati da utenti inesperti (o che non hanno effettuato un training), e forse il problema piu’ comune e’ quello di effettuare l’undo di “check-out fantasma”.

Ecco la risposta: Attrice Corporation Team Foundation Sidekicks. Bello. Ma a volte non si possono utilizzare tool di terze parti, e quindi ci si deve accontentare di cio’ che Microsoft propone out-of-the-box nell’installazione di Team Foundation Server.

Ecco quindi la vera risposta, sin da Team Foundation Server 2005: aprire il Developer Command Prompt, e lanciare il commando tf undo con gli switch appropriati.

Qui trovate la relativa documentazione.

Abbiamo visto come ridurre il divario tra team di sviluppo e team di Operations in un modo rapido e veloce. C'è molto di più da fare, e tonnellate di strumenti che ci possono aiutare: il principale è, per eccellenza, IntelliTrace.

Quando creiamo un Operational Issue, un log di IntelliTrace è allegato automaticamente al Work Item:
image

ma è dotato solo di un sottoinsieme minimo di informazioni relative alla segnalazione, e probabilmente non contiene tutto il necessario.
Il primo modo sarebbe ottenere manualmente un file .iTrace con la nostra configurazione custom per raccogliere dati. Niente di così difficile, ma se il motto principale di DevOps è "automatizzare tutto", stiamo andando contro di esso.


O - meglio - posso chiedere ad Operations di registrare un log IntelliTrace dettagliato, naturalmente il tutto integrato con Team Foundation Server.

Si deve solo impostare il Work Item in "Awaiting evidence", con una nota di risoluzione dicendo di fornirme un file .iTrace.


devops5

Per raccogliere queste informazioni, basta far partire il Collector dalla console di SCOM ed eseguire l’applicazione incriminata. Facilissimo Smile

image

Cosi si può raccogliere uno snapshot dello stato attuale del pool di applicazioni coinvolto, replicando / facendo replicare lo scenario dell'utente, e quindi il nuovo file IntelliTrace puo’ essere allegato al Work Item correlato

Tutti i file di IntelliTrace possono essere memorizzati in una share di rete, una cartella per ogni alert, quindi ricordatevi di tenere d'occhio la dimensione dei file salvati!

L’utente clicca sul tasto e…

devops0

KABOOM!


Il primo passo essenziale per un sistema di Developer Operation è intercettare gli errori in produzione e salvarli in dei Work Item per il team di Engineering. Come abbiamo visto nel post precedente, abbiamo a disposizione un nuovo, dedicato Work Item per questo: Operational Issue.
Una volta trovato un bug in produzione uno o più alert vengono scatenati per segnalare la cosa. L’alert può arrivare via email oltre che nella console di SCOM, per innescare un processo sia formale che informale nell’organizzazione.

devops1

E non si tratta di un semplice ‘avviso’: l’alert include tutte le informazioni che manderemo agli sviluppatori tramite l’Operational Issue.

devops2

Una volta modificato lo stato ad Assigned to Engineering, questo viene spedito. Sorvolando su tutte le tab (non sarebbe ‘per principianti’ altrimenti Smile) diamo un’occhiata al box Alert Description. Ci presenta un link ad un URL che usa porta 45451. Cos’è?!

devops3

E’ il risultato dell’acquisizione da parte di Microsoft di AVICode. Un sistema completo di application monitoring è stato integrato in SCOM, e tutte le informazioni che cattura [davvero molte] vengono renderizzate da questo servizio.

Un’ultima nota: un file IntelliTrace è aggiunto al Work Item, ma non è grande come un normale file .iTrace. Vedremo in un altro post perchè, e come integrare IntelliTrace nel nostro workflow di DevOps.

Nel prossimo post invece vedremo cosa accade dall’altro lato, ossia in Engineering quando qualcosa viene segnalato da Operation attraverso una Operational Issue.

Sicuramente DevOps è un argomento caldo adesso e lo sarà ancora di più nel prossimo futuro. Quindi con questo post comincia una piccola serie di articoli dedicati all’integrazione fra i due mondi.

I prerequisiti sono due: Team Foundation Server 2012 Update 1 o superiore e System Center Operations Manager 2012 SP1.

Prima di tutto si deve impostare il server e la Team Project Collection per l’applicazione da monitorare:

devops0

Dopodichè dobbiamo impostare i progetti per i quali il nuovo Work Item Type – Operational Issues – sarà salvato. Possiamo anche impostare l’Area Path appropriato.

devops1

Oltre alla connessione fra SCOM e TFS, un grosso aiuto per connettere Operation e Engineering ci è fornito dagli Alert. Qualunque sia lo stato di un cambiamento di un’Operational Issue, un alert viene fatto scattare per l’amministratore che si occupa delle Operation:

devops2

Infine abbiamo una dashboard che ricapitola le informazioni essenziali. Ho evidenziato la possibilità di importare le Operational Issue: è davvero importante quando dobbiamo consolidare, un tema spesso poco considerato ma essenziale.

devops3

"C'è un solo tipo di successo: quello di fare della propria vita ciò che si desidera."

Thoreau così declamava, e non aveva tutti i torti.

Oggi ho rassegnato le mie dimissioni da Avanade Italy, per raggiungere un obiettivo mi ero prefissato da anni: trasferirmi nel Regno Unito.

Come alcuni di voi sapranno, dal mese prossimo abbandonerò l’Italia per approdare nel verde Somerset, nel sud dell’Inghilterra. Se vogliamo è la fine di un ciclo e l’inizio di uno nuovo, i Maya non hanno sbagliato poi di molto…Smile Ne sono estremamente felice, in quanto come da aforisma di Thoreau, è esattamente ciò che volevo fare della mia vita!

Cosa faro lassù? Mi unirò al team R&D di Quest Software – da poco acquisita da Dell – per occuparmi di Team Foundation Server ed ALM da una prospettiva per me completamente nuova, ossia quella del ‘prodotto’ e non della consulenza. I miei principali contatti saranno un Visual Studio ALM Ranger e un membro di Scrum Alliance.

Si tratta di un vero e proprio reset: casa nuova, auto nuova, nuovi colleghi, nuove community, nuovo mondo. Ciò non significa di certo che abbandonerò gli amici, i conoscenti e le community italiane.

Se DomusDotNet cammina agevolmente da sola (e comunque non è un motivo valido per abbandonarla, perdipiù da socio fondatore), GetLatestVersion.it gattona ancora. Insomma, UK o non UK tenterò per quanto possibile di essere ancora parte delle attività italiane, a partire dai Community Days di domani, e passando per DotNetCampus il 13 Aprile.

Di ringraziamenti ne devo tanti, a tante persone. In particolare Lorenzo, Alessandro, Gian Maria, Nicolò, Massimo per motivi vari, che ognuno sa nel dettaglio Smile chi non è stato menzionato non è perchè non mi interessi, semplicemente non è stato tartassato quasi quotidianamente Smile

Quindi, posso iniziare il countdown: cinque settimane esatte al mio primo giorno.

Ecco un’altra funzionalità annunciata ad ALM Summit, presente nella CTP dell’Update 2, che la aggiungerà on-premise, oppure se siete utenti di Team Foundation Service dove è già presente, dopo che è stata impostata la giusta feature flag Smile

Abilitare il Test Case Management via web non è solo questione tecnologica. Come si può immaginare, apre un ampio spettro di possibilità per le attività di testing, in quanto non si è piu legati a uno strumento come Test Manager per la QA ma si può usare la UI web.

Si può trovare sotto il nuovo TEST hub: image_thumb e permette di interagire con tutti i test plan esistenti.

Posso aggiungere test case come in MTM!

image_thumb2

Notiamo che anche i test case sono già integrati con il nuovo sistema di tag.

E poi posso anche eseguirli, si aprirà in automatico il test runner in formato web:

image_thumb4

In questo modo l’intero ciclo di esecuzione è accessibile da web. Pensiamo a questo scenario: un pezzo di codice da far girare su un HP Supedome [HP-UX , un mainframe] e ovviamente non si può installare MTM sul Superdome. L’utente non conosce MTM e non ne ha nemmeno bisogno, visto che Web TCM risolve questo Smile e non solo, ovviamente.