November 2012 Blog Posts
688281203

Questo libro, scritto da Sam Guckenheimer (Product Owner for the Visual Studio ALM family) e Neno Loje (Microsoft MVP for Visual Studio ALM) è un viaggio completo nel mondo dello sviluppo software utilizzando metodologie agili.

Dopo aver introdotto concetti come l’Agile Consensus e cosa gira intorno ad esso, il libro copre le basi della Product Ownership, e nel dettaglio come dovrebbe essere gestito ogni sprint. La prima sezione non è solo per chi non ha mai avuto a che fare con metodologie agiuli: ci sono concetti che anche dopo anni di esperienza potrebbero essere difficili da capire completamente e stimare correttamente. Non sottovalutare questi concetti può essere simile ma comunque differente: il destino del progetto può essere – solitamente lo è – strettamente dipendente da questi.

Dopodichè è presente un capitolo per ognuno dei classici quattro pilastri dello sviluppo utilizzando Team Foundation Server: Architecture, Development, Build and Lab, Test. Non ci si deve aspettare nulla di ‘classico’ qui: i contenuti rispondono in pieno all’argomento chiave del libro, e sono estremamente completi.

Gli ultimi due capitoli non sono focalizzati su un prodotto o una tecnologia: uno è su tutte le esperienze di Microsoft – nella Developer Division – e credetemi, ogni parola vale il peso che ha perchè esprime chiaramente cosa accade in una divisione grande DevDiv, e quali sono i problemi che vengono affrontati in uno scenario di mondo reale come quello.

L’altro è su come integrare il Continuous Feedback all’interno del classico workflow del team, non focalizzato sulla tecnologia ma più sul lato teorico del problema.

L’utenza di riferimento è molto chiara - Product Owners, Scrum Master – ma, di nuovo, non è solo per principianti: i concetti esposti non sono solo legati a Visual Studio ALM o tutorial step-by-step, sono solo declinati sul prodotto, ma agnostici e riutilizzabili.

Il libro ha molto in comune con la versione precedente – cosa normale essendo un libro su metodologie e pratiche – ma è stato completamente aggiornato per Visual Studio 2012, quindi non ci si deve aspettare un copia&incolla. In conclusione è un’ottima referenza per persone che devono lavorare quotidianamente con pianificazioni, priorità e qualità del codice.

Siccome con i Local Workspace possiamo lavorare offline in modo semplcie rispetto al passato, ci torna molto comoda un’altra feature, molto meno pubblicizzata ma altrettanto utile: i Candidate Changes.

Quando aggiungiamo un file, ne cancelliamo uno o lo rinominiamo al di fuori di Visual Studio (as esempio in Windows Explorer), senza distinzioni se abbiamo o meno connessione, Visual Studio capisce la cosa ed interviene:

image_thumb2

Queste modifiche non sono incluse di default, siccome non sono state compiute con Visual Studio, e quindi è necessaria una conferma ulteriore – in questo casp ho provato ad eliminare il file Program.cs:

image_thumb1

Se rinomino un file, l’operazione viene riconosciuta come ogni rinominazione internamente a Visual Studio: una delete seguita da una add. Se seleziono entrambe, il tool riesce a capire la cosa e tratta le due operazioni come una rename – nel mio caso ho rinominato l’App.config in Appfile.config:

image_thumb7

E’ una feature molto potente, sia con che senza connessione al Team Foundation Server, che ci permette di tenere ordinate le operazioni eseguite fuori da Visual Studio (escluse quelle fatte con la Windows Explorer Shell Extension dei PowerTools).

Pochi minuti fa il tool per la migrazione da Visual SourceSafe a Team Foundation Server e Team Foundation Service è stato rilasciato. E’ già disponibile sia nella Team Foundation Administration Console sia in Visual Studio Gallery. Attenzione, richiede un reboot del server.

Installazione facilissimaSmile

vss00vss01vss02

Dopo averlo lanciato, chiederà il repository da utilizzare, quali progetti migrare (si possono anche non selezionare tutti). Prima di eseguirlo si deve eseguire una bella passata di Analyze Smile

image

Dopodichè il Team Project di destinazione…

image

…e il SQL Server da usare come storage, con la tipologia di migrazione, full or tip:

image

Alla fine avremo un report molto simile a quello di vssconverter.

Nella MSDN si trova tutta la documentazione, insieme a come utilizzare VSSUpgrade –il tool a riga di comando che si può utilizzare per migrare automaticamente con script oppure per alcuni scenari borderline (come quando si ha un grande database e si voglioni prevenire errori causati dalla rete magari instabile) – e alle operazioni di troubleshooting piu comuni.

Può servire di dover aggiornare una installazione di TFS Express (le ragioni possono essere varie) ad una completa, anche solo partendo dai database.

E’ molto facile: siccome i database di Team Foundation Server sono gli stessi, senza distinzioni in base alla versione, è solo questione di aggiornare l’Application Tier per abilitare tutte le feature mancanti.

La prima cosa da fare – in caso di aggiornamento in-place – è di disinstallare Team Foundation Server Express, altrimenti l’installer lo notificherà e impedirà di proseguire:

00

A seguire, dopo l’installazione, si deve configurare il server utilizzando la configurazione Application Tier Only nel wizard.

Dopo il welcome screen, scegliamo l’istanza del database e listiamo I database presenti:

02

Poi selezioniamo il Service Account per far girare i servizi:

03

Rivediamo la configurazione…

04

…e verifichiamo se i requisiti sono ok:

06

Dopo aver cliccato su Configure, l’Application Tier sarà pronto e i database di nuovo operativi sulla nuova istanza.

07

Se dovete iniziare ad approcciare i concetti di Application Lifecycle Management, avete una nuova mansione da svolgere che vi richiede di conoscerli, o per semplice interesse personale J questa sarà la vostra bibbia.

Scritto da Mickey Gousset (Visual Studio ALM MVP), Brian Keller (Microsoft Senior Developer Evangelist ), Martin Woodward (Microsoft Program Manager for Team Foundation Server), il libro comincia con una introduzione di sei capitoli a Team Foundation Server, per conoscere lo strumento che fornisce le basi della piattaforma di ALM che utilizzeremo. E’ un approccio differente rispetto alla versione 2010, ma secondo me vincente in quanto non ci si focalizza su una serie di strumenti ma piuttosto su una vision di piattaforma. E’ molto dettagliata ma comunque introduttiva, decisamente ben centrata rispetto all’utenza potenziale.

A seguire troviamo un discrete insieme di capitoli che descrivono come coinvolgere lo stakeholder nella raccolta dei requisiti e nel feedback continuativo.

La sezione dedicate al Project Management fornisce una panoramica complete, dai Work Item alle Dashboard, descrivendo tutti gli strumenti coinvolti in un processo complete di ALM. Non si parla solo di strumenti e di come utilizzarli: molte pagine sono dedicate a processi e metodologie, andando a creare un manuale nel manual per il Project Management con Team Foundation Server.

Dopo le prime tre sezioni, le successive sono più focalizzate sugli aspetti tecnologici e di codice: Architecture, Software Development and Testing. Coprono tutte le nuove feature, ma sempre tenendo un occhio sul processo che accompagna il tool - ALM non è solo strumenti ma anche metodologia, questo è un tema ricorrente nel libro – cosa molto utile sia per chi approccia per la prima volta questi concetti sia per chi vuole avere una referenza contestualizzata.

Nonostante abbia lo stesso titolo della versione 2010, diverse parti sono state riscritte o rivisitate pesantemente dopo aver recepito i feedback, e per avere un differente approccio.

E’ un libro che consiglio fortemente, un vero must-have.