SCM vs Work Items - Alessandro Notte
TFS - Polarion - RTC, tutti i nuovi strumenti di versioning utilizzano questa nuova parola "WorkItem", quanto servono realmente? tanto Definizione WorkItem: oggetto virtuale di campi specifici assolutamente "custom" a cui è possibile agganciare una serie di modifiche:
- Ogni workItem ha un proprio flusso con stati e eventi che definiscono il passaggio da uno stato A ad uno B.
- Ogni workItem può essere collegato "logicamente" ad altri workItem, non necessariamente uguali (links).
- L'avanzamento di un progetto potrebbe essere associato quindi all'interrogazione dello strumento verso i WorkItems.
- Es: Quanti difetti sono stati chiusi? In quanto tempo vengono chiusi i punti bloccanti?
Solitamente i workitem "predefiniti" sono: DEFECT, CHANGE REQUEST, TASK, MILESTONE. Sono sufficienti? No:
- Per il SCM Aggiungerei: RELEASE (ufficializzazione della creazione di una realease), BUILD (Creazione di una build intermedia)
- Attraverso i giusti collegamenti, è possibile tenere traccia dell'andamento di un qualsiasi progetto, senza utilizzare mezzi a mio parere superati (Microsoft projects oppure Outloook).
- es.: quali difetti ha introdotto la release x.yy.zz? Quali difetti sono stati risolti nella release? Quante e quali Release sono servite per completare la change_request_pippo?
Pro e contro:
Pro:
- -> Risparmi sulle licenze: solitamente gli ultimi tools di SCM includono tutto in un'unico software, quindi per mantenere un progetto basta un solo software.
- -> Pianificazioni: chi produce le pianificazioni finalmente può toccare con mano l'andamento di un progetto.
- -> Andamento: produrre KPI diventa più semplice e nello stesso tempo si hanno molte più informazioni.
Contro:
- -> Eccessiva proliferazione di tipologie di workitem (qua serve un bravo CM e metodologo).
- -> Gli sviluppatori devono attenersi a regole precise per la compilazione dei workItem e al loro collegamento (solitamente dopo 1 mese non si fanno più errori).
- -> La creazione o modifica di un workitem necessita di uno specialista del tool.