Condividi tramite


Gestione portfolio Agile: utilizzo di TFS per supportare i backlog tra più team

In Team Foundation Server (TFS) 2012 è possibile gestire il lavoro del team in un Backlog. In Team Foundation Server 2013 è possibile gestire il lavoro in un Backlog di portfolio che fornisce informazioni dettagliate del team di gestione sul lavoro in diversi team Agile. Un team di gestione definisce gli obiettivi di alto livello e tiene traccia del lavoro in più team Agile. I team Agile sono quelli che eseguono il lavoro, suddividendo gli elementi in attività, correggendo i bug e contribuendo al quadro generale. Tutti i team avranno i propri Backlog e le proprie aree e avranno inoltre una visualizzazione di rollup delle esperienze del cliente supportate dal lavoro. Al termine, sarà possibile gestire il portfolio di progetti raggruppando il lavoro in base ai livelli di Backlog e osservare come viene eseguito tra più team.

Ogni team lavora al proprio Backlog, mentre la gerarchia dei tipi di elemento di lavoro Backlog consente ai manager di visualizzare un rollup dello stato di avanzamento a un livello superiore. In questo white paper verrà illustrato in dettaglio come configurare questo tipo di struttura eseguendo l'esempio ipotetico del team di gestione Phone Saver e dei team Agile che collaborano in aree specifiche del progetto globale.

Ogni team ha una specifica visione del lavoro

Il team di gestione Phone Saver definisce il lavoro come iniziative di alto livello e le scompone in funzionalità importanti per i clienti. A questo punto, il lavoro viene assegnato ai team Agile, che suddividono ulteriormente e definiscono il lavoro da eseguire. Con l'avanzamento del progetto, il team di gestione esegue il drill-down per visualizzare lo stato di avanzamento in qualsiasi livello di dettaglio preferito. Ad esempio, i membri possono visualizzare gli elementi Backlog associati a ogni elemento della funzionalità in un progetto Scrum.

In questa schermata, è possibile vedere il punto di vista del team di gestione del Backlog delle funzionalità, con elementi del Backlog di Prodotto che supportano tali elementi. Il team di gestione non possiede gli elementi del Backlog di Prodotto; questi elementi sono assegnati a uno dei team Agile. Tuttavia, poiché sono elementi figlio di tali elementi, il filtro consente di visualizzarli. In questo modo, il team di gestione può tenere traccia dello stato di avanzamento.

È possibile scegliere il livello di dettaglio da visualizzare

Nella grafica informativa viene illustrato il livello concettuale delle informazioni visualizzate nella schermata precedente.

Visualizzazione del team di gestione

Ogni team Agile, ad esempio il team del cliente, ha la propria home page del team, il proprio Backlog, la propria lavagna Kanban e la propria lavagna delle attività. Queste pagine mostrano solo le informazioni rilevanti per il team.

In questa schermata, è possibile vedere il punto di vista del team Agile del Backlog sprint che mostra gli elementi del Backlog di Prodotto utilizzati in tale sprint e le attività collegate create per suddividere e tenere traccia del lavoro. Le funzionalità o le iniziative su cui lavorano per il supporto in questa visualizzazione non sono visibili. Come in precedenza, nella grafica informativa viene visualizzato il livello concettuale di informazioni visualizzate in questa schermata.

Il team lavora dal backlog dello sprintIl livello di dettaglio osservato da un team Agile

Configurare i team e i livelli di Backlog

Quando si crea un progetto team in TFS, per tale progetto viene automaticamente creato un team predefinito. Configurando team aggiuntivi per l'utilizzo da parte dei team Agile per gestire il lavoro giornaliero e ridefinendo il team predefinito nel team che verrà utilizzato dal team di gestione per gestire il lavoro al proprio livello, i team Agile possono gestire il proprio carico di lavoro e le proprie priorità. La visualizzazione del team di gestione mostrerà lo stato di avanzamento di tutto il lavoro dei team Agile. È necessaria una configurazione minima per configurare i team e iniziare.

Oltre a utilizzare i team Agile per eseguire il roll-up dello stato di avanzamento, è possibile utilizzare i livelli di Backlog per creare una visualizzazione gerarchica del lavoro. In TFS 2013 si ha accesso immediato a due livelli di Backlog. Ma se è necessario aggiungere un altro livello per supportare la gestione del portfolio, è possibile eseguire anche questa operazione. È necessaria una configurazione leggermente più impegnativa rispetto alla creazione di team Agile, ma è ancora abbastanza semplice. Verrà esaminata sia la configurazione di team Agile sia la creazione di un livello di Backlog aggiuntivo.

Verrà innanzitutto creata la struttura del team di gestione e Agile, come mostrato nell'organizzazione di esempio.

Creare i team Agile e configurare il team di gestione

  1. Dalla home page del team predefinito utilizzare l'icona a forma di ingranaggio Icona Impostazioni per aprire la pagina di amministrazione e scegliere Nuovo team per creare un team Agile.

    Creare sub-team dal menu di amministrazione

  2. Assegnare al team un nome e assicurarsi che Creare un percorso area con il nome del team sia selezionato.

    Creare il sub-team con uno specifico percorso area

    Si tratterà di una sottoarea del percorso dell'area per il team di gestione, ma soprattutto consente la separazione del lavoro tra i team Agile e fornisce gran parte del rollup automatizzato dello stato di avanzamento per il team di gestione.

  3. Configurare gli sprint per il team Agile.

    Scegliere gli sprint per il team Agile

  4. Aggiungere i membri al nuovo team Agile e rimuovere i membri non necessari dal team di gestione.

    Come procedura consigliata, l'appartenenza al team di gestione deve essere limitata ai manager e ai membri del team che sono in possesso di iniziative e funzionalità. I membri dei team Agile potranno ancora visualizzare la home page del team di gestione e il Backlog, esattamente come il team di gestione potrà visualizzare tutti i Backlog e le home page del team Agile.

  5. Modificare le aree del team di gestione in modo che non vengano incluse le sottoaree.

    Verranno usate le sottoaree per i backlog dei team Agile

Creare tutti i team Agile necessari. Quando gli elementi di lavoro vengono assegnati a un team Agile, ognuno di tali team visualizza gli elementi nel Backlog e li gestisce nella relativa lavagna Kanban e/o nella lavagna delle attività, esattamente come in precedenza.

Backlog del team Agile in cui vengono visualizzati gli elementi e le attività di Backlog

Il team lavora dal backlog dello sprintIl livello di dettaglio osservato da un team Agile

Il team di gestione visualizzerà tutti gli elementi di lavoro assegnati a tutti i team Agile nel Backlog, nell'area Kanban e nelle visualizzazioni dell'area attività, fornendo una visione generale del lavoro in corso nonché del lavoro ancora da avviare.

Backlog del team di gestione in cui vengono visualizzati le funzionalità e gli elementi Backlog del team Agile

È possibile scegliere il livello di dettaglio da visualizzareVisualizzazione del team di gestione

Una volta configurata la struttura del team, proseguire aggiungendo un ulteriore livello di Backlog.

Aggiungere un altro livello di Backlog

L'aggiunta di un altro livello di Backlog richiede un po' di tempo, ma è un'operazione abbastanza semplice da eseguire. Di seguito viene illustrato il processo. Per eseguire queste operazioni è necessario essere membro del gruppo dell'amministratore del progetto team. Innanzitutto verrà esportato un tipo di elemento di lavoro esistente che verrà modificato per creare il nuovo tipo di elemento di lavoro chiamato Initiatives. Verrà quindi aggiunta una categoria per le iniziative. Infine, verranno aggiunte le iniziative al Backlog di portfolio.

Se si è più interessati al funzionamento delle operazioni dopo l'aggiunta del livello di Backlog Initiative, fare clic qui per procedere.

Creare il tipo di elemento di lavoro Initiative

Il modo più semplice per creare un tipo di elemento di lavoro è copiarne uno esistente, rinominarlo e modificarlo. Nella procedura descritta di seguito, si esporterà il tipo di elemento di lavoro Feature e lo si utilizzerà come base per il tipo di elemento di lavoro Initiative. In tutti gli esempi, il nome del progetto è Phone Saver e il nome del server è Fabrikam. Il nome della raccolta del progetto team è il nome predefinito DefaultCollection.

  1. Aprire una finestra del prompt dei comandi in modalità amministratore e passare alle directory in cui è installato Visual Studio o Team Explorer.

    cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
    

    Nelle edizioni a 64 bit di Windows, utilizzare %programfiles(x86)%.

  2. Usare lo strumento witadmin per scaricare la definizione di tipo dell'elemento di lavoro Feature e salvarla come Initiative.xml.

    witadmin exportwitd /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /n:Feature /f:%userprofile%\documents\Initiative.xml
    
  3. Aprire il file Initiative.xml, sostituire <WORKITEMTYPE name="Feature"> con <WORKITEMTYPE name="Initiative"> e aggiornare la descrizione.

    <witd:WITD application="Work item type editor" version="1.0" xmlns:witd="https://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef">
    <WORKITEMTYPE name="Initiative">
       <DESCRIPTION>Tracks an initiative that will be released with the product. </DESCRIPTION>
    
  4. Modificare l'elemento Tab identificato come Implementation. Sostituire <Filter WorkItemType="Product Backlog Item" /> con <Filter WorkItemType="Feature" />. Verranno visualizzate le funzionalità come elementi di lavoro figlio delle iniziative.

    <Tab Label="Implementation">
     <Control Type="LinksControl" Name="Hierarchy" Label="" LabelPosition="Top">
       <LinksControlOptions>
          <LinkColumns>
             <LinkColumn RefName="System.Id" />
             <LinkColumn RefName="System.Title" />
             <LinkColumn RefName="System.AssignedTo" />
             <LinkColumn RefName="System.State" />
          </LinkColumns>
          <WorkItemLinkFilters FilterType="include">
             <Filter LinkType="System.LinkTypes.Hierarchy" FilterOn="forwardname" />
          </WorkItemLinkFilters>
          <ExternalLinkFilters FilterType="excludeAll" />
          <WorkItemTypeFilters FilterType="include">
             <Filter WorkItemType="Feature" />
          </WorkItemTypeFilters>
       </LinksControlOptions>
     </Control>
    </Tab>
    
  5. Importare il file.

    witadmin importwitd /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\Initiative.xml
    

Creare la categoria Initiative

Dopo avere creato il tipo di elemento di lavoro Initiative, sarà necessario aggiungere una categoria per le iniziative al set di categorie visibili nel progetto team.

  1. Esportare la definizione delle categorie in un file XML.

    witadmin exportcategories /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\categories.xml
    
  2. Aprire il file e aggiungere la categoria Initiative. Di seguito è riportato un esempio in cui la categoria Initiative utilizza il nome della società per identificarla come personalizzazione:

    <CATEGORY refname="Fabrikam.InitiativeCategory" name="InitiativeCategory">
      <DEFAULTWORKITEMTYPE name="Initiative" />
    
  3. Importare il file come eseguito in precedenza.

    witadmin importcategories /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\categories.xml
    

Aggiungere la categoria Initiative alla gerarchia di portfolio

Ora è sufficiente aggiungere le iniziative alla gerarchia di elementi di lavoro che costituiscono il Backlog di portfolio.

  1. Esportare la definizione della configurazione processo in un file XML.

    witadmin exportprocessconfig /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\MyProcessConfiguration.xml
    
  2. Aprire il file e aggiungere una sezione PortfolioBacklog per le iniziative nella sezione PortfolioBacklogs. Allo stesso tempo modificare l'elemento PortfolioBacklog per FeatureCategory in modo che le iniziative siano elementi di lavoro padre per le funzionalità.

      <PortfolioBacklogs>
      <PortfolioBacklog category="Fabrikam.InitiativeCategory" pluralName="Initiatives" singularName="Initiative">
          <AddPanel>
            <Fields>
              <Field refname="System.Title" />
            </Fields>
          </AddPanel>
          <Columns>
            <Column width="100" refname="System.WorkItemType" />
            <Column width="400" refname="System.Title" />
            <Column width="100" refname="System.State" />
            <Column width="50" refname="Microsoft.VSTS.Common.BusinessValue" />
            <Column width="100" refname="Microsoft.VSTS.Scheduling.TargetDate" />
            <Column width="200" refname="System.Tags" />
          </Columns>
          <States>
            <State type="Proposed" value="New" />
            <State type="InProgress" value="In Progress" />
            <State type="Complete" value="Done" />
          </States>
        </PortfolioBacklog>          
    <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Fabrikam.InitiativeCategory" pluralName="Features" singularName="Feature">
    
  3. Aggiungere il colore da utilizzare per l''iniziativa alla sezione WorkItemColors.

    <WorkItemColor primary="FFFF6600" secondary="FFFEB380" name="Initiative" />
    

    Ciò consente di assegnare un colore arancione vivace come colore primario da utilizzare nelle visualizzazioni elenco e un colore arancione meno intenso da utilizzare nella lavagna delle attività e nella lavagna Kanban.

  4. Importare il file.

    witadmin importprocessconfig /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\MyProcessConfiguration.xml
    

L'operazione è completata. È stato aggiunto un terzo livello di Backlog denominato Initiatives.

Definire le iniziative

Dopo avere definito le iniziative, creare alcuni elementi. I membri del team di gestione possono aggiungerne rapidamente uno direttamente dalla visualizzazione del Backlog Initiatives. È la stessa operazione che si esegue per aggiungere gli elementi a un Backlog.

Digitare il nome da assegnare all'iniziativa

È inoltre possibile creare nuove funzionalità direttamente dall'elemento di lavoro Initiatives creando un nuovo elemento di lavoro dalle schede Implementazione o Collegamenti. Ciò offre l'ulteriore vantaggio di creare la relazione padre-figlio nello stesso momento in cui si crea la funzionalità.

Usare il pulsante per creare il collegamento al nuovo elemento

È inoltre possibile aggiungere un'iniziativa come padre di un elemento di lavoro funzionalità esistente, se disponibile. Ciò offre il vantaggio di associare automaticamente tale funzionalità all'iniziativa da essa supportata. E dalla funzionalità è possibile creare elementi Backlog e assegnarli ai singoli team Agile.

Usare il nuovo elemento di lavoro collegato per creare un'iniziativa

Eseguire il mapping di più elementi se si dispone di un Backlog esistente

Se si dispone già di un Backlog esistente, è possibile che si desideri creare relazioni padre-figlio tra questi elementi per supportare la creazione automatica di rapporti sullo stato di avanzamento. È possibile eseguire il mapping degli elementi Backlog alle funzionalità e delle funzionalità alle iniziative. Fortunatamente, il riquadro di mapping semplifica questa attività. Innanzitutto, abilitare il riquadro di mapping.

Attivare/Disattivare l'opzione per il mapping per abilitare o disabilitare

Trascinare elementi dal Backlog alla funzionalità del riquadro mapping si desidera eseguire l'associazione come padre.

Trascinare e rilasciare o selezionare, passare lo stato attivo all'elemento padreÈ possibile aggiungere livelli di backlog aggiuntivi

Ripetere questo processo ad ogni livello di Backlog fino a creare la gerarchia desiderata.

È inoltre possibile modificare in blocco gli elementi di lavoro e gestirne la gerarchia in Microsoft Excel.

Visualizzare lo stato di avanzamento

Dopo aver associato gli elementi di lavoro ai collegamenti appropriati padre-figlio, è possibile visualizzare come tale visualizzazione dello stato di avanzamento viene applicata a livelli diversi.

Visualizzazione di gestione dello stato di avanzamento

A livello di gestione, nel Backlog Initiatives del team di Phone Saver vengono visualizzati gli elementi di lavoro Initiative per tutti i team nel progetto di Phone Saver.

I team possono vedere gli elementi di lavoro correlati ad altri livelli

È possibile attivare o disattivare la visualizzazione per mostrare le funzionalità associate...

È possibile aggiungere livelli di backlog aggiuntiviIl livello di dettaglio osservato dal team di gestione

... oppure eseguire ulteriormente il drill-down, fino al livello dell'elemento Backlog o dell'attività.

È possibile modificare il livello di dettaglio visualizzatoIl livello di dettaglio osservato dal team di gestione

Suggerimento: aggiungere la colonna Percorso area per visualizzare i diversi elementi sui cui lavorano i vari team.

Inoltre, è possibile visualizzare lo stato di avanzamento nella lavagna Kanban. Il team di gestione può vedere quali iniziative e funzionalità sono in corso.

Tutti gli elementi dei team vengono visualizzati nella bacheca Kanban principaleIl livello di dettaglio osservato dal team di gestione

Visualizzazione dello stato di avanzamento del team

Per i singoli team Agile, la visualizzazione è molto diversa. Come membro di uno di questi team, quando si passa ai Backlog Initiatives o Features, non verrà visualizzato alcun elemento. Ciò è dovuto al fatto che i team Agile non creano né lavorano direttamente con gli elementi a tale livello. I team Agile non vedranno mai l'elenco completo delle iniziative o delle funzionalità. Tuttavia, se il team desidera conoscere le iniziative e le funzionalità supportate, possono abilitare tali visualizzazioni dai Backlog Elementi Backlog per visualizzare le funzionalità e le iniziative supportate dagli elementi su cui stanno lavorando.

Il team vede solo le iniziative per cui lavoraIl livello di dettaglio osservato dal team di gestione

Per tutto il resto, i singoli team procedono come al solito. È possibile usare la lavagna Kanban, la lavagna delle attività e le altre funzionalità come in precedenza, ma ora lo stato di avanzamento è visibile ai responsabili senza dover creare manualmente rapporti su ogni elemento. L'attività si riflette nella visualizzazione di gestione.

Informazioni sugli autori

Gregg Boer è il responsabile di programma principale di Microsoft. Gregg è il proprietario del prodotto per l'esperienza nella gestione Agile in TFS.

Susan Ferrell è una scrittrice senior di articoli tecnici in Microsoft.

Kathryn Elliott è una scrittrice senior di articoli tecnici in Microsoft.