Precedenti post sulla personalizzazione Work Item in TFS
1 – Tfs e customizzazione del process template
2 – Customizzare il Process Template, le basi
3 – Customizzare il process Template, aggiungere un campo ad un Work Item
4 – Customizzare il process template, regole per i campi aggiuntivi dei WI
5 – Personalizzare i Work Item di TFS, ancora qualche regola interessante
6 – Stati e transizioni
7 – Approfondiamo stati e transizioni
Post su personalizzazione VSTS
1- Personalizzare il process template in VSTS
Come detto nel precedente post, la personalizzazione dei Process Template in TFS porta con se il rischio di dovere poi effettuare aggiornamenti manuali dopo un upgrade ad una nuova versione di TFS. In VSTS questa situazione è inaccettabile, dato che non è pensabile che ogni tre settimane, dopo che è stato rilasciato il nuovo sprint, qualcuno debba andare ad effettuare operazioni manuali di aggiornamento.
Per ovviare a questo problema Microsoft ha introdotto una struttura di personalizzazione completamente nuova per VSTS e che sarà in futuro disponibile anche per TFS. Il concetto alla base di questa nuova modalità si chiama Process Template Ereditato, che permette di personalizzare un template senza cambiare quello base (evitando il problema degli aggiornamenti) fornendo inoltre una interfaccia di personalizzazione completamente Web.
Il primo passo è aprire la sezione di amministrazione dei processi, raggiungibile dal menu “Process”
Da questa pagina si può notare che ogni processo ha un menù contestuale che contiene alcune opzioni ammissibili su quello specifico processo. Di base quindi l’accesso ai process template non si effettua più tramite i vecchi file XML ma si ha pieno supporto tramite una interfaccia grafica che guida l’utente.
La voce New team project permette la creazione di un nuovo Team Project basato su questo processo, export permette invece di esportare il processo in uno Zip, esattamente come avviene per TFS, ma in questo caso è di scarsa utilità perché non è chiaramente presente una funzione di “import”. Non è infatti possibile modificare un process Template base, per evitare appunto problemi durante l’aggiornamento. Su un template base si può solamente
- Disabilitarlo (non è possibile più creare Team Process con questo template)
- Impostarlo come default (verrà presentato come processo di default nel Wizard di creazione nuovo Team Project)
Come detto non è possibile andare a modificare un processo base (l’icona del lucchetto è evocativa). Per quanto riguarda la voce “Change team project to use xxxx” purtroppo si intende un cambio di processo tra processi ereditati; non è ancora possibile convertire un Team Project tra CMMI o Agile o SCRUM o viceversa. E’ quindi ancora impossibile convertire un Team Project passando da uno dei processi base ad un altro.
La voce che interessa è la “create inherited process” che permette di creare un nuovo process template basato su un processo base e che può poi essere personalizzato. Il concetto è infatti quello di creare un nuovo progetto che eredita dal base, effettuare su di esso le personalizzazioni per non intaccare il progetto base. In questo modo ogni aggiornamento del processo base con un upgrade, si rifletterà nel processo ereditato. Inoltre l’engine di VSTS / TFS è a conoscenza di tutte le personalizzazioni fatte nel processo ereditato, e può quindi sempre sapere come comportarsi.
Come si può vedere la creazione di un nuovo processo ereditato è molto semplice, basta fornire un nome ed una descrizione ed il gioco è fatto. Una volta che si è creato un nuovo processo ereditato, è possibile creare nuovi Team Project basati su di esso.
Se si hanno già invece dei Team Project che sono stati creati sulla base di un Process Template base (in questo caso CMMI) è possibile cambiare process template assegnando un process template ereditato.
In questo caso la voce “Change team projects to use Custom CMMI”, che mostrerà una lista di Team Project basati su CMMI che possono essere migrati al nuovo processo “Custom CMMI”. Si ricordi che se un Team Project è stato creato con SCRUM o Agile non può utilizzare un custom process che è ereditato da CMMI e viceversa.
Non è possibile gestire processi che ereditano da un processo ereditato, la gerarchia è per ora limitata ad un solo livello. Non è inoltre nemmeno possibile migrare un Team Project direttamente tra due processi ereditati dallo stesso processo padre.
Una nota a parte merita la security, che permette di definire chi può cancellare, editare ed amministrare la sicurezza dei processi ereditati, in questo modo è possibile restringere le utenze che hanno la possibilità di andare a personalizzare i process template.
Concludendo, in VSTS non è possibile editare direttamente un Process Template base, ma è possibile creare un Process Template ereditato e creare nuovi Team Project basati su di esso, oppure migrare Team Project esistenti al nuovo processo (solamente se i processi sono stati creati partendo dal processo base).
Nei prossimi post verranno mostrate le personalizzazioni disponibili in per un process template ereditato.
Gian Maria.