...

Build Automation Version Control Work Item Tracking

by user

on
Category: Documents
15

views

Report

Comments

Transcript

Build Automation Version Control Work Item Tracking
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.
Fly UP