Guest post: Cosa ci aspetta nella prossima versione di Visual Studio per l’ALM

Questo post è stato scritto da Matteo Emili, MVP Visual Studio ALM.

Al Tech Ed North America 2011 abbiamo visto per la prima volta cosa sarà la prossima release di Visual Studio ALM, le novità saranno sostanziali, ed avranno come pilastri fondamentali i seguenti:

· Migliorare ciò che è già stato introdotto con Visual Studio 2010

· Accelerare l’adozione di processi agili

· Introdurre un anello di collegamento fra lo sviluppo del software e la sua gestione e monitoraggio da parte dei dipartimenti IT

image

Quindi già possiamo affermare una cosa: Software Engineering ed Operations Management diventano due parti di un unico ciclo.

Inoltre ci sono altri importanti elementi da considerare. Uno su tutti la collaborazione all’interno del team di sviluppo, che rimane la pietra angolare di una corretta gestione dell’Application Lifecycle Management, ma anche la possibilità di avere un flusso di feedback (e di comunicazione) fra i membri del team, che sia comprensibile a tutte le figure in gioco e che sia direttamente utile alla risoluzione di un problema. In questo Microsoft Test Manager è stato un ottimo inizio, ed è stato ampliato con le novità che vedremo di seguito. Un ulteriore fattore da tenere in grande considerazione è la fruibilità delle informazioni: ogni utente deve avere lo strumento migliore e che meglio si adatta alla sua figura. Infine il processo deve essere trasparente, essere (cit. Jason Zander, Microsoft Corporate Vice President) the single point of truth.

Unire questi elementi alle novità suindicate comporta un rilascio della cosiddetta vNext di Visual Studio ALM!

Di seguito vediamo tutte le novità:

Strumenti di pianificazione agile

Si parte da una serie di problemi da risolvere organizzati per priorità (Product Backlog), si organizzano le risorse per coprire questi problemi (Capacity Planning), si determina quali attività affrontare nella prima iterazione (Sprint Planning) ed infine c’è da gestire il progresso di queste attività. Per facilitare ciò è stata introdotta una nuova interfaccia web based (il nuovo Web Access) che ricorda la taskboard utilizzata in Scrum.

imageimageimage

Requirements Management

Spesso capita che il requisito raccolto dal team non sia esattamente ciò che richiedesse il cliente. Basta un semplice misunderstanding per vanificare o addirittura rendere deleteria la trasformazione del requisito in funzionalità. E’ per questo che viene introdotto un addin per un tool che praticamente tutti sanno utilizzare: PowerPoint.

image

Utilizzando PowerPoint sarà possibile definire in modo chiaro e visuale un mockup di requisito, incluse le varie gesture (tap, touch, ecc.) e dare feedback al team di sviluppo.

image

Il grande vantaggio dell’uso di questo strumento è che lo stakeholder utilizza un prodotto che già conosce e con cui è familiare, abbattendo la curva di apprendimento necessaria per un tool non noto e rendendone quindi naturale l’uso da parte di un utente non tecnico.

Feedback dallo stakeholder

Come per i requisiti, il dialogo in fase di test e di definizione della User Experience dell’applicazione fra team di sviluppo e cliente è essenziale. Utilizzando un tool di feedback simile a quello di Microsoft Test Manager è possibile registrare audio, video e commenti durante una sessione di test con lo stakeholder e renderli disponibili agli sviluppatori. Quindi dopo il rich bug introdotto con Visual Studio 2010, con la vNext si introduce il concetto di actionable feedback.

image

Nuovo test runner

Test runner completamente nuovo per Visual Studio ALM vNext, che permetterà di utilizzare i principali framework di Unit Testing (xUnit, NUnit) oltre a MSTest con la prossima release di Visual Studio.

image

Inoltre il nuovo test runner permetterà di avere un feedback completamente diverso sull’esito degli Unit Test, che verranno eseguiti in background ed in un ordine ben preciso, anche con l’ausilio della Test Impact Analysis.

Code Review

Sarà possibile eseguire una revisione del codice evidenziando le modifiche eseguite sia in base all’utente sia in base al work item collegato.

image

Quality Assurance, Code Clone Analysis e Exploratory Testing

Il Team Explorer viene sostituito dal Team Navigator, che oltre ad essere uno strumento per lo sviluppatore sarà anche un tool fondamentale per chi si occupa di Quality Assurance, infatti permetterà di eseguire testing esplorativo all’interno delle applicazioni monitorando l’applicazione stessa.

imageimageimage

La Code Clone Analysis permetterà di analizzare le applicazioni e di evidenziare dove vengono ripetuti blocchi di codice, in modo da rendere la componentizzazione ed il disaccoppiamento molto più intuitivi.

image

image

Questa tecnologia utilizza un algoritmo di ricerca sviluppato da Microsoft Research che esegue una ricerca semantica sul codice, permettendo di riconoscere sia il ‘copia e incolla’ sia frammenti di codice molto simili che possono essere unificati.

Rich Work Item

Ora il Work Item integra al suo interno un nuovo controllo che permette di avere all’interno rich text (quindi anche codice HTML) o immagini.

image

Team Foundation Server su Windows Azure

Microsoft offrirà la possibilità di avere Team Foundation Server ospitato su Windows Azure, e quindi rendere disponibile in the cloud lo stesso servizio che è ospitabile on premise. Su questo specifico punto c’è ancora molto mistero, ma sicuramente i dubbi (nonchè l’offerta) verranno dissipati nei prossimi mesi.

image

Integrazione fra team di sviluppo e dipartimento IT

E’ stato rilasciata una CTP (Community Technical Preview) del connettore fra System Center e Visual Studio Team Foundation Server 2010, che permette un allineamento fra team di sviluppo e dipartimento IT. Il connettore permette di assegnare da System Center Operations Manager dei performance counter sulle applicazioni, e di indirizzare poi i dati critici di eseguire un triage degli incident da parte di SCOM verso il Team Foundation Server, sottoforma di actionable feedback. Ovviamente sarà parte integrante della prossima release di Visual Studio ALM.

imageimage