Visual Studio Team System e Microsoft Solutions Framework
Aggiornamento: novembre 2007
In Microsoft Visual Studio Team System, la conoscenza dei ruoli viene applicata nel modello Team delle linee guida per il processo MSF da un team di specialisti. È possibile utilizzare il modello Team per gestire un ciclo di vita completo del progetto che include l'intenzione, la produzione, l'utilizzo e la manutenzione.
Nel modello Team sono presenti i seguenti ruoli:
Architettura
Sviluppo
Gestione del prodotto
Gestione del programma
Operazioni di rilascio
Test
Esperienza utente
Per ulteriori informazioni su Microsoft Solutions Framework, vedere il sito Web Microsoft all'indirizzo (informazioni in lingua inglese).
Per ulteriori informazioni sull'utilizzo di Team Explorer in questi ruoli, vedere Procedure relative a Team Foundation.
Architettura
L'architetto è responsabile per la progettazione e la gestione dell'integrità architettonica del prodotto. Questa attività comprende la definizione della struttura organizzativa dell'applicazione e della struttura fisica della relativa distribuzione. In questo ambito, l'obiettivo dell'architetto è quello di ridurre la complessità, limitare gli effetti dell'accoppiamento e della regressione e aumentare la coesione dei componenti. Suddividendo il sistema in parti, ogni parte può essere compilata e testata indipendentemente.
L'architettura risultante è un fattore importante perché stabilisce come sarà successivamente incorporato il sistema. L'architettura fornisce per molti versi anche le fondamenta per la riuscita di un progetto. Il framework architettonico controlla se un prodotto soddisfa le esigenze di funzionalità, se è affidabile e gestibile, se rispetta gli standard delle prestazioni e della sicurezza e, inoltre, è facilmente adattabile per la gestione della modifica di requisiti.
Il flusso di lavoro dell'architettura è il seguente:
Analisi
Creazione di un requisito di qualità del servizio
Creazione dei requisiti di prodotto
Creazione dell'architettura della soluzione
Definizione degli ambienti
Definizione del processo relativo al progetto
Test di un requisito utente
Verifica di un requisito di prodotto
Sviluppo
Lo sviluppatore è responsabile della compilazione del prodotto. I ruoli di sviluppo, quali il coordinatore e il responsabile, hanno anche la responsabilità delle comunicazioni e della gestione del progetto. L'attività dello sviluppatore consiste principalmente nella costruzione del codice. La facilità di comunicazione supporta lo sviluppatore nello svolgimento della propria attività. Durante le fasi iniziali di un progetto, gli sviluppatori di solito si occupano anche della creazione dei requisiti del prodotto che non erano inclusi nei requisiti del cliente. Spesso, lo sviluppatore collabora con l'architetto in un team multi-disciplinare.
Il ruolo di un coordinatore di sviluppo consiste nel guidare il team e occuparsi della comunicazione a nome degli altri sviluppatori. mettendo a disposizione la propria esperienza e competenza e guidando i colleghi sviluppatori. È responsabile della revisione, della progettazione e della copertura degli unit test. I coordinatori di sviluppo fungono da tramite tra gli sviluppatori e il resto del progetto. Supportano la produttività trasmettendo le comunicazioni tra il team del progetto e le organizzazioni esterne e proteggono gli sviluppatori dalle interferenze casuali nel loro lavoro quotidiano. Di conseguenza, i coordinatori di sviluppo raramente possono dedicarsi alle attività di codifica. In genere dedicano circa il 50% del proprio tempo alle comunicazioni e suddividono il resto del tempo tra attività di guida e supporto per gli sviluppatori del team e la scrittura effettiva del codice.
Il flusso di lavoro delle operazioni di sviluppo è il seguente:
Analisi
Creazione dell'architettura della soluzione
Sviluppo di documentazione
Definizione degli ambienti
Definizione del processo relativo al progetto
Correzione dei bug
Implementazione di un'attività di sviluppo
Versione di un prodotto
Test di un requisito utente
Verifica di un requisito di prodotto
Gestione del prodotto
Il responsabile della gestione del prodotto svolge un ruolo di proxy per l'utente finale del prodotto e ha la completa responsabilità del prodotto per quanto riguarda i requisiti. Garantisce che lo scopo del prodotto sia rispettato tramite i requisiti e i test di accettazione sviluppati per convalidare il prodotto. Si occupa della verifica del prodotto affinché sia coerente con la pianificazione strategica dell'organizzazione e rientri in uno o più segmenti di mercato definiti nella dichiarazione previsionale originale e controlla che venga rispettato il budget del progetto e che venga realizzato l'obiettivo aziendale. Il lavoro del responsabile di prodotto viene utilizzato come fonte principale per le verifiche di gestione nel modello di supervisione MSF.
Il flusso di lavoro relativo alla gestione dei progetti è il seguente:
Identificazione degli obiettivi del prodotto
Versione di un prodotto
Gestione del programma
Il responsabile della gestione del programma gestisce il flusso delle conoscenze e la realizzazione del valore di un progetto. Questo valore generalmente è delineato nella dichiarazione degli obiettivi. Al responsabile del programma è affidato il ciclo di vita completo del progetto.
L'obiettivo principale consiste nel fornire valore aziendale rispettando il programma e il budget prestabiliti. Il responsabile del programma ha il compito di svolgere le attività di pianificazione e programmazione, quali lo sviluppo di piani di progetto e iterazione, il monitoraggio dello stato, nonché l'identificazione e l'attenuazione del rischio. Il responsabile del programma di norma collabora con i Business Analyst per pianificare un backlog di lavoro per il progetto e si consulta con architetti, sviluppatori, tester, specialisti della formazione degli utenti e architetti dell'esperienza utente per stimare il lavoro e facilitare le comunicazioni nel team.
Il flusso di lavoro della gestione dei programmi è il seguente:
Identificazione degli obiettivi del prodotto
Creazione dei requisiti di prodotto
Sviluppo di documentazione
Definizione del processo relativo al progetto
Gestione dei problemi
Pianificazione di un'iterazione
Pianificazione del progetto
Gestione del rischio
Test di un requisito utente
Verifica di un requisito di prodotto
Operazioni di rilascio
L'obiettivo del responsabile del rilascio consiste nel gestire l'implementazione del prodotto. Il responsabile del rilascio ha il compito di coordinare il rilascio del prodotto con il team che si occupa dei servizi operativi o della creazione di supporti, nonché di creare un piano di implementazione e certificare le versioni finali candidate per la spedizione o la distribuzione.
Il flusso di lavoro delle operazioni di rilascio è il seguente:
Gestione della configurazione di base
Creazione dei requisiti di prodotto
Definizione del processo relativo al progetto
Gestione delle richieste di modifica
Versione di un prodotto
Test
L'obiettivo principale del tester consiste nel rilevare e segnalare i problemi del prodotto che possono negativamente inficiarne il valore. Il tester deve avere una chiara visione del contesto del progetto e aiutare gli altri a prendere le decisioni appropriate in base a tale contesto. Il compito principale di questo ruolo è quello di individuare e segnalare i bug significativi del prodotto tramite il test. Una volta rilevato un bug, il tester si occupa anche di comunicarne con esattezza l'impatto e fornire le eventuali soluzioni che possano attenuarlo. Il tester deve fornire le descrizioni dei bug e indicare in maniera comprensibile le procedure da seguire, oltre a collaborare con tutto il team per la definizione degli standard di qualità del prodotto. L'obiettivo del testing è di verificare la corretta esecuzione delle funzioni note e rilevare eventuali nuovi problemi relativi al prodotto.
Il flusso di lavoro del tester è il seguente:
Analisi
Chiusura di un bug
Sviluppo di documentazione
Definizione degli ambienti
Definizione del processo relativo al progetto
Versione di un prodotto
Test di un requisito utente
Verifica di un requisito di prodotto
Esperienza utente
Lo specialista dell'esperienza utente di norma è un technical writer che si occupa della composizione di testi tecnici specifici per il cliente allo scopo di consolidare o migliorare il valore del prodotto. Può occuparsi dei manuali dei prodotti, delle guide in linea, dei manuali operativi, dei manuali di manutenzione, dei manuali di formazione e di qualsiasi altro tipo di documentazione che possa migliorare l'utilizzo e accrescere il valore del prodotto. Gli architetti dell'esperienza utente collaborano in genere strettamente con questi specialisti.
Il flusso di lavoro dell'esperienza utente è il seguente:
Analisi
Sviluppo di documentazione
Definizione del processo relativo al progetto
Versione di un prodotto