Share via


Prático Gerenciamento de Portfólio: usando o TFS para dar suporte a listas de pendências em várias equipes

No Team Foundation Server (TFS) 2012, você gerenciava o trabalho da sua equipe em uma lista de pendências. No Team Foundation Server 2013, seu trabalho pode ser gerenciado em uma lista de pendências de portfólio que fornece uma visão de equipe de gerenciamento do trabalho em várias equipes do Agile. Uma equipe de gerenciamento define as metas de alto nível e rastreia o trabalho nas diversas equipes do Agile. As equipes do Agile são as que estão fazendo o trabalho, dividindo itens em tarefas, fazendo correção de bugs e contribuindo para a ideia geral. Todas as equipes terão suas próprias listas de pendências e placas, além de uma exibição do acúmulo das experiências de cliente com suporte no trabalho deles. Quando tiver terminado, será capaz de gerenciar seu portfólio de projetos pelo agrupamento de trabalho de acordo com os níveis de lista de pendências e ver como está sendo realizado através de várias equipes.

Cada equipe trabalha em sua própria lista de pendências, enquanto a hierarquia dos tipos de itens de trabalho da lista de pendências permite aos gerentes visualizar um acúmulo do progresso em um nível mais alto. Neste whitepaper, vamos conduzi-lo pela configuração deste tipo de estrutura seguindo o exemplo hipotético da equipe de gerenciamento de proteção de telefone e as equipes do Agile trabalhando em áreas específicas do projeto em geral.

Cada equipe tem sua própria exibição do trabalho

A equipe de gerenciamento de Proteção de Telefone define o trabalho como iniciativas de alto nível e divide-o em recursos importantes para seus clientes. Nesse ponto, o trabalho é atribuído às equipes do Agile, as quais posteriormente dividem e definem o trabalho a ser realizado. No decorrer do projeto, a equipe de gestão faz uma pesquisa detalhada para ver o progresso em qualquer nível de detalhe que eles preferirem. Por exemplo, eles podem visualizar os itens da lista de pendências associada a cada item de recurso em um projeto Scrum.

Nessa captura de tela, você pode ver a exibição da equipe de gerenciamento de suas listas de pendências de recursos com os itens da lista de pendências do produto que suportam esses itens também mostrados. A equipe de gerenciamento não é proprietária dos itens da lista de pendências do produto; eles são atribuídos a uma das equipes da Agile. No entanto, por serem filhos desses itens, o filtro exibe-os. Dessa maneira, a equipe de gerenciamento pode rastrear o progresso.

Você pode escolher o nível de detalhe para exibição

O gráfico informativo mostra o nível conceitual das informações exibidas na captura de tela acima.

Exibição da equipe de gerenciamento

Cada equipe da Agile, como a Equipe de Clientes, possui sua própria home page, lista de pendências, bloco Kanban e o painel de tarefas. Essas páginas mostram somente as informações relevantes para a equipe.

Nessa captura de tela, é possível ver a exibição da equipe da Agile da sua lista de pendências de sprint, mostrando os itens da lista de pendências do produto que estão trabalhando nesse sprint e as tarefas associadas criadas por eles para dividir e rastrear o trabalho. Eles não podem ver os recursos ou iniciativas que estão trabalhando para suportar essa exibição. Como antes, o gráfico informativo mostra o nível conceitual das informações exibidas nessa captura de tela.

A equipe trabalha da lista de pendências de sprintNível de detalhe visto por uma equipe agile

Configurar equipes e níveis de lista de pendências

Ao criar um projeto de equipe no TFS, uma equipe padrão é criada automaticamente para esse projeto. Configurando equipes adicionais para as equipes do Agile para usar para gerenciar seu trabalho quotidiano e redefinindo a equipe padrão na equipe que a equipe de gerenciamento usará para gerenciar o trabalho ao seu nível, as equipes da Agile podem gerenciar sua própria carga de trabalho e prioridades. A exibição da equipe de gerenciamento mostrará o progresso de todo o trabalho através das equipes da Agile. É necessária pouca configuração para configurar as equipes e começar.

Além de usar as equipes da Agile para o progresso acumulado, é possível usar os níveis da lista de pendências para criar uma exibição hierárquica do trabalho. No TFS 2013, há acesso imediato a dois níveis da lista de pendências. Mas se for necessário adicionar outro nível para suportar o gerenciamento do portfólio, é possível também. Isso exige um pouco mais de configurações do que criar equipes do Agile, mas ainda é muito simples. Vamos passar tanto pela configuração de equipes do Agile quanto pela criação de um nível adicional de lista de pendências.

Inicialmente, vamos criar a estrutura da equipe de gerenciamento e do Agile, como visto na organização de exemplo.

Criar equipes do Agile e configurar a equipe de gerenciamento

  1. Na home page da equipe padrão, use o ícone de engrenagem Ícone de configurações para abrir a página de administração e selecionar Nova equipe para criar uma equipe do Agile.

    Criar subteams no menu de administração

  2. Forneça um nome à equipe e certifique-se de que Criar um caminho de área com o nome da equipe está selecionado.

    Criar o subequipe com seu próprio caminho de área

    Esta será uma subárea do caminho de área para a equipe de gerenciamento – mas, o mais importante, ela fornece a separação do trabalho em equipes do Agile e muito do acúmulo automatizado de progresso para a equipe de gerenciamento.

  3. Configure os sprints da equipe do Agile.

    Escolha os sprints da equipe do agile

  4. Adicione membros à nova equipe do Agile e remova membros desnecessários da equipe de gerenciamento.

    Como a melhor prática, a associação na equipe de gerenciamento deve ser limitada aos gerentes e aos membros da equipe que possuem iniciativas e recursos. Os membros da equipe do Agile ainda serão capazes de visualizar a home page e a lista de pendências da equipe de gerenciamento, assim como a equipe de gerenciamento será capaz de visualizar as home pages e as listas de pendências das equipes do Agile.

  5. Mude as áreas da equipe de gerenciamento para que as subáreas não estejam incluídas.

    Subáreas serão usadas para listas de pendências da equipe do agile

Crie quantas equipes do Agile que forem necessárias. Quando os itens de trabalho forem atribuídos a uma equipe do Agile, cada uma dessas equipes verá esses itens em sua lista de pendências e irá gerenciá-los em seu bloco Kanban e/ou no painel de tarefas, exatamente como antes.

Uma lista de pendências da equipe do Agile mostrando os itens e as tarefas da lista de pendências

A equipe trabalha da lista de pendências de sprintNível de detalhe visto por uma equipe agile

A equipe de gerenciamento verá todos os itens de trabalho atribuídos a todas as equipes do Agile nas visualizações da lista de pendências, do bloco Kanban e do painel de tarefas, fornecendo uma visualização controlada do trabalho em progresso, como também o trabalho que ainda será iniciado.

Uma lista de pendências da equipe de gerenciamento mostrando os recursos e os itens da lista de pendências da equipe do Agile

Você pode escolher o nível de detalhe para exibiçãoExibição da equipe de gerenciamento

Agora que já possui sua estrutura de equipe configurada, vamos em frente adicionar outro nível de lista de pendências.

Adicione outro nível de lista de pendências

Adicionar um outro nível de lista de pendências demora um pouco, mas é muito fácil de fazer. Vamos percorrer o processo. É necessário ser um membro do grupo administrador do projeto da equipe para realizar estas etapas. Primeiro é necessário exportar um tipo de item de trabalho existente e editá-lo para criar o novo tipo de item de trabalho, que chamamos de Initiatives. Em seguida, é necessário adicionar uma categoria para as iniciativas. Por último, é necessário adicionar iniciativas à lista de pendências do portfólio.

Se estiver mais interessado em como as coisas funcionam após adicionar o nível de lista de pendências do Initiative, clique aqui para avançar.

Criar o tipo de item de trabalho Initiative

A maneira mais fácil de criar um tipo de item de trabalho é copiar um existente, renomeá-lo e, em seguida, editá-lo. No procedimento a seguir, é necessário exportar o tipo do item de trabalho Feature e usá-lo como base para o tipo de item de trabalho de iniciativa. Em todos os exemplos, o nome do projeto é Proteção de Telefone e o nome do servidor é Fabrikam. O nome de coleção do projeto da equipe é o nome padrão, DefaultCollection.

  1. Abra a janela de prompt de comando no modo de administrador e mude os diretórios para onde o Visual Studio (ou Team Explorer) estiver instalado.

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

    Em edições de 64 bits do Windows, use %programfiles(x86)%.

  2. Use a ferramenta witadmin para baixar a definição do tipo de item de trabalho Feature e salve-a como Initiative.xml.

    witadmin exportwitd /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /n:Feature /f:%userprofile%\documents\Initiative.xml
    
  3. Abra o arquivo Initiative.xml, substitua <WORKITEMTYPE name="Feature"> por <WORKITEMTYPE name="Initiative"> e atualize a descrição.

    <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. Edite o elemento Guia identificado como Implementation. Substitua <Filter WorkItemType="Product Backlog Item" /> por <Filter WorkItemType="Feature" />. Isso mostrará os recursos como itens de trabalho filho de iniciativas.

    <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. Importe o arquivo.

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

Crie a categoria Initiative

Agora que possui um tipo de item de trabalho Initiative, desejará adicionar uma categoria para iniciativas para o ajuste das categorias visíveis no projeto da equipe.

  1. Exporte a definição de categorias para um arquivo xml.

    witadmin exportcategories /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\categories.xml
    
  2. Abra o arquivo e adicione a categoria Initiative. Aqui há um exemplo, onde a categoria Initiative usa o nome da empresa para identificá-la como uma personalização:

    <CATEGORY refname="Fabrikam.InitiativeCategory" name="InitiativeCategory">
      <DEFAULTWORKITEMTYPE name="Initiative" />
    
  3. Exatamente como fez anteriormente, importe o arquivo.

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

Adicione a categoria Initiative à hierarquia do portfólio

Agora tudo que resta fazer é adicionar suas iniciativas à hierarquia dos itens de trabalho que compõem a lista de pendências do portfólio.

  1. Exporte a definição da configuração do processo para um arquivo xml.

    witadmin exportprocessconfig /collection:"http://fabrikam:8080/tfs/DefaultCollection" /p:"Phone Saver" /f:%userprofile%\documents\MyProcessConfiguration.xml
    
  2. Abra o arquivo e adicione uma seção PortfolioBacklog em Initiatives dentro da seção PortfolioBacklogs. Ao mesmo tempo, modifique o elemento PortfolioBacklog para FeatureCategory para que as Initiatives sejam itens de trabalho pai do Features.

      <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. Adicione a cor a ser usada para Initiative na seção WorkItemColors.

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

    Isso atribui uma cor laranja clara como cor primária para usar na exibição da lista e uma cor laranja mais pálida para usar no painel de tarefas e no bloco Kanban.

  4. Importe o arquivo.

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

Concluído! Você adicionou um terceiro nível de lista de pendências chamada Initiatives.

Defina as Initiatives

Agora que definiu as Initiatives, é hora de criar alguns itens. Membros da equipe de gerenciamento pode adicionar rapidamente uma diretamente a partir da exibição da lista de pendências Initiatives. É a mesma experiência que adicionar itens da lista de pendências a qualquer lista de pendências.

Digite um nome para a iniciativa

Também é possível criar novos recursos diretamente a partir do item de trabalho Initiatives criando um novo item de trabalho a partir das guias Implementação ou Links. Isso tem a vantagem de criar a relação pai-filho ao mesmo tempo que criar o recurso.

Use o link de criação para o novo botão de item

Também é possível adicionar uma iniciativa como um pai de um item de trabalho de recursos existente, caso já possuir algum. Isso tem a vantagem de associar automaticamente esse recurso com a iniciativa à qual ele oferece suporte. E a partir do recurso, é possível criar itens da lista de pendências e atribuí-las às equipes individuais do Agile.

Use o novo Item de trabalho vinculado para criar uma iniciativa

Mapeie diversos itens se possuir uma lista de pendências existente

Caso já possua uma lista de pendências existente, poderá criar as relações pai-filho entre estes itens a fim de oferecer suporte ao relatório automático de progresso. Poderá mapear itens da lista de pendências para os recursos e mapear os recursos para iniciativas. Felizmente, o painel de mapeamento torna isso fácil. Primeiro, ligue o painel de mapeamento.

Ativar/desativar a opção de mapeamento para habilitar ou desabilitar

Agora coloque itens da lista de pendências no recurso do painel de mapeamento que desejar para associar como um pai.

Arrastar e soltar ou selecionar, mover o foco para o paiVocê pode adicionar níveis adicionais de pendências

Repita esse processo em cada nível da lista de pendências até ter criado a hierarquia que desejar.

Você pode também editar itens de trabalho em massa e gerenciar sua hierarquia no Microsoft Excel.

Visualizar progresso

Agora que associou seus itens de trabalho aos links pai-filho apropriados, é hora de ver como que a exibição do progresso é aplicada através dos vários níveis.

Exibição do gerenciamento do progresso

No gerenciamento, a lista de pendências Initiatives da equipe Proteção de Telefone mostra os itens de trabalho de iniciativa para todas as equipes no projeto Proteção de Telefone.

As equipes podem ver itens de trabalho relacionados em outros níveis

É possível alternar a exibição para mostrar os recursos associados...

Você pode adicionar níveis adicionais de pendênciasNível de detalhe visto pela equipe de gerenciamento

...ou fazer uma pesquisa detalhada, até o item da lista de pendências ou o nível da tarefa.

Você pode alterar o nível de detalhe mostradoNível de detalhe visto pela equipe de gerenciamento

Dica: Adicione a coluna Caminho da Área para ver qual equipe está trabalhando em qual item.

Também, é possível visualizar o progresso no bloco Kanban. A equipe de gerenciamento pode ver quais iniciativas e recursos estão em progresso.

Todos os itens de equipes aparecem no quadro Kanban mestreNível de detalhe visto pela equipe de gerenciamento

Exibição da equipe do progresso

Para as equipes individuais do Agile, a exibição é muito diferente. Como um membro de uma dessas equipes, se você navegar para as listas de pendências Initiatives ou Features, não verá nada lá. Isso porque as equipes do Agile não criam ou trabalham diretamente com os itens nesse nível. As equipes do Agile nunca verão a lista completa de iniciativas ou recursos. No entanto, se a equipe desejar saber quais iniciativas e recursos eles estão suportando, é possível ativar essas exibições de listas de pendências de itens da lista de pendências e ver quais características e iniciativas têm suporte nos itens em que a equipe está trabalhando.

Uma equipe só vê iniciativas funcionam emNível de detalhe visto pela equipe de gerenciamento

Para qualquer outra coisa, isso são negócios como de costume para as equipes individuais. Eles podem usar o bloco Kanban, o painel de tarefas e outros recursos, como sempre fizeram, mas agora seu progresso é visível para o seu gerenciamento, sem ter que gerar manualmente um relatório sobre qualquer coisa. O que eles fazem é refletido na exibição do gerenciamento.

Sobre os autores

Gregg Boer é um gerente de programa chefe na Microsoft. Gregg é o proprietário do produto da experiência Agile Management no TFS.

Susan Ferrell é uma escritora técnica sênior na Microsoft.

Kathryn Elliott é uma escritora técnica sênior na Microsoft.