Lorenzo Barbieri http://www.geniodelmale.info [email protected] Technical Manager Area Microsoft Solutions & Consulting ObjectWay S.p.A. Visione d’insieme Team Foundation Server Componenti Piattaforme supportate Team Explorer, Excel, Project e Web Access Supporto di realtà distribuite Report e WorkItem Che informazioni ci danno Capire i problemi dei progetti Novità di Visual Studio Team System 2008 Visual Studio Team Suite MSF Process and Guidance Architecture Development Edition Edition Modeling Code Analysis Code Metrics Profiling Test Edition Database Edition Web & Ajax Testing Load & Manual Testing Database Deployment Change Mgmt DB Testing Code Coverage Visual Studio Professional Edition Test Load Agent Team Foundation Server Version Control Reporting and BI Work Item Tracking Team Build Team Portal Visual Studio Industry Partners Team Explorer Team System Web Access 7,500 active users (+48% since 6/07, +262% since 1/07) 1,209 team projects in production (+193% since 6/07, +460% since 1/07) Currently storing 1,096,318 work items, 24,952,519 unique source files Work items - Office >65K; Windows > 9K; DevDiv > 300K 24 production instances 2 servers on TFS 2005 SP1 (upgrading soon) 19 servers running TFS 2008 3 servers on pre-Release of Rosario (Office, Windows, DevDiv Rosario planning) Total Team Projects Active Users by Division 1800 1400 1209 1200 1096 1000 918 800 734 625 600 519 416 400 200 0 263 323 997 1711 MSIT 1600 1400 1327 DevDiv 1200 SQL 1000 800 812 Office 600 621 462 439 323 MSCO M 400 200 0 Window s Cos’è e come si integra nei sistemi esistenti Bug, requisiti, nuove richieste, task, etc… Bisogna calarli nel contesto! Work Item Tracking Gestione dei WI in Project, Excel, etc… Project Management Reporting Version Control transazionale, basato su SQL Server Version Control Build Automation Implementabili senza fatica Build notturne, Continuous Integration, esecuzione dei test per validare le Build Visual Studio Team System, Professional e Standard • Il Team Explorer di TFS si integra in VS2005/VS2008 • La compatibilità è bidirezionale (da VS2005 a TFS2008 e viceversa) Visual Studio.NET 2003, VS 6.0, Delphi, Sql Server Management Studio, TOAD for SQL Server, Power Builder, ecc... • Provider MSSCCI standard che si appoggia al Team Explorer • Richiede il Team Explorer installato Web • Visual Studio Team System Web Access permette di accedere a tutte le funzionalità di TFS tramite una comoda interfaccia Web Qualsiasi ambiente di sviluppo su Windows Eclipse o qualsiasi ambiente su qualsiasi piattaforma • Se non supporta il provider MSSCCI si può usare il Team Explorer stand-alone da GUI o da riga di comando • Si usa prodotto di terze parti (TeamPrise) integrabile in Eclipse o utilizzabile stand-alone da GUI o riga di comando su tutte le piattaforme – www.teamprise.com Esiste anche il connettore per Project Server TFS Data Tier Internet Rete interna Run As Utente interno DMZ TFS App Tier Version Control Client esterni/ Proxy Sedi esterne opzionale con Team Exp. o Browser Client interni ISAPI Filter Basic Auth Trust Utenti esterni Dominio Extranet Utenti interni Dominio Interno Che informazioni ci permettono di tracciare Lavoro pianificato Lavoro compl etato Le barre mostrano l’andamento dei Test Code Coverage Code Churn Bug Attivi Sottostime Decomposizione dei task incoerente Sindrome delle “macerie nascoste” Gestione inadeguata dei bug Che fine hanno fatto le risorse? Pratiche di sviluppo troppo lasche Andamento “inadeguato” delle Build Unit Test inadeguati I test passano... Ma la soluzione non funziona La soluzione è bloccata nella fase di test Troppo poco test Si tagliano i WorkItem dell’Iterazione perchè non si riesce a implementarli... Ma non basta! Il lavoro completato è troppo poco! Non terminerà mai in tempo per la fine dell’iterazione Troppa varianza nei Task completati/giorno indica incoerenza nella scomposizione del lavoro Le “macerie” vengono scoperte all’interno del lavoro pianificato... Il lavoro pianificato è schiacciato dalla mole del lavoro nuovo da fare... Il numero di WorkItem continua a crescere... Bug o sindrome delle “macerie nascoste”? Se la velocità del progetto crolla... O è Agosto... O ci hanno distolto le risorse! Oppure c’è un problema architetturale difficile da risolvere... Gli sviluppatori dichiarano “finito” un lavoro quando non lo è... Oppure viene chiuso un Bug senza troppi controlli... Bug Rate costante... Code Coverage Inesistente... Cosa stiamo testando? Bug trovati > Bug risolti... Ovvero... I Bug continuano ad aumentare... I Test automatizzati non rilevano questi bug, che non hanno test associati... Risultato... Bisogna testarli a mano! Il lavoro si accumula nella fase “Resolved”. Non abbiamo abbastanza risorse per il Test, o la qualità del lavoro è bassa e richiede notevoli sforzi. Potrebbe anche essere un’architettura difficile da testare... Troppi pochi test automatizzati... Gli altri numeri perdono di significato... Codice Requisiti Build Test Risultati deiTest Difetti/Bug Prodotto Novità Visual Studio Team Suite •VSTS: Database Edition ora fa parte del prodotto nativamente Architecture Edition •Top-down service design Development Edition •Code metrics (cyclomatic complexity, manutenibilità, etc…) •Supporto del Profiler per WCF •Supporto del Profiler per Load Test e Web Test (oltre agli Unit Test già supportati nella 2005) •Hotpathing Description Details Test Edition •Web Test supportano Ajax •Miglioramenti nelle Web Test Validation Rule •Web Test Data Binding anche verso CSV e XML •Migliorata la gestione dei Load Test TFS: Continuous Integration and Build •TFS Build completamente riscritta: •Multi-threaded builds •Build queuing e queue management •Drop management •Build triggers •Multiple build machines. Description Details TFS: Version Control •Destroy •Annotate •Folder Diff •Get Latest on Checkout •Miglioramenti su Workspaces, Performance e Scalabilità TFS: Reporting •Miglioramenti nella struttura del Data Warehouse, ora ci sono più dati (ad esempio violazioni alle CheckIn Policy, etc…) Description Details TFS: Administration, Operations and Setup •Migliore supporto di gruppi di utenti molto numerosi •Migliore supporto a differenti configurazioni durante il setup: •SQL named instances •Domain Controller •Siti web e porte non standard •WSS 2.0, WSS 3.0, SharePoint 2007, anche non locali Per approfondire gli argomenti: • Developer Center sul Ciclo di Vita del Software su MSDN Italia • www.geniodelmale.info © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.