Добавление невыполненной работы в управление портфелем Agile

Если требуется больше уровней в невыполненной работе портфеля, а не только уровень "Функция", в этом разделе показано, как добавить уровень. Когда невыполненные работы структурируются в портфели, можно просмотреть свертку работы, определенную в невыполненных работах более низкого уровня, включая незавершенную работу по нескольким рабочим группам. Невыполненная работа портфеля помогает гарантировать, что вся работа представлена.

Члены команды видят только те инициативы, над которыми они работают

Этот раздел представляет собой пошаговое руководство по добавлению невыполненной работы портфеля в три шага: (1) создание типа рабочего элемента "Инициатива", (2) добавление категории "Инициатива" и (3) добавление невыполненной работы портфеля по инициативам. По окончании вы сможете управлять портфелем проектов, группируя работу по трем уровням: элементы невыполненной работы по продукту, функции и инициативы.

Создание типа рабочего элемента с именем "Инициатива"

Самый простой способ создать тип рабочего элемента — это скопировать существующий, переименовать его и отредактировать в соответствии со своими требованиями.

  1. Если у вас нет прав администратора для командного проекта, получите их. Нужно быть членом группы Администраторы командного проекта для редактирования файлов командного проекта.

  2. Откройте окно командной строки там, где установлены Visual Studio или Team Explorer, и введите следующее:

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

    В 64-разрядной версии Windows замените %programfiles% на %programfiles(x86)%. Team Explorer можно загрузить бесплатно.

  3. Экспортируйте определение WIT Feature в XML-файл с меткой Initiative.

    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject  /n:Feature /f:Directory/Initiative.xml
    
  4. Отредактируйте файл с именем Initiative.

    1. Переименуйте WIT. Замените <WORKITEMTYPE name="Feature"> объектом <WORKITEMTYPE name="Initiative"> и обновите описание.

      <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>
      
    2. Добавьте дополнительные поля, которые необходимо отслеживать с помощью данного WIT. Дополнительные сведения см. в разделе Изменение или добавление пользовательского типа рабочего элемента (WIT).

    3. Измените раздел Tab с именем Implementation. Замените <Filter WorkItemType="Product Backlog Item" /> объектом <Filter WorkItemType="Feature" />.

      <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>
      

      Задав Feature, вы указываете, что этот набор вкладок будет использоваться для отображения дочерних рабочих элементов, которые являются функциями.

  5. Импортируйте файл.

    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/Initiative.xml
    

Добавление категории "Инициатива"

Теперь добавьте категорию "Инициатива". При этом в конфигурацию процесса добавляется невыполненная работа "Инициатива". В Agile управление типами рабочих элементов осуществляется в соответствии с категориями.

  1. Экспортируйте определение категорий.

    witadmin exportcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
    
  2. Добавьте категорию "Инициатива".

    <CATEGORY refname="MyCompany.InitiativeCategory" name="Initiative Category">
        <DEFAULTWORKITEMTYPE name="Initiative" />
    </CATEGORY>
    

    Можно добавить эту категорию в любом месте файла определения. Поскольку добавляется пользовательская категория, рекомендуется, чтобы название категории включало название компании пользователя.

  3. Импортируйте файл категорий.

    witadmin importcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/categories.xml
    

Добавление категории "Инициатива" в иерархию невыполненной работы портфеля

В этом последнем шаге в процесс добавляется невыполненная работа портфеля "Инициатива" и изменяется невыполненная работа портфеля "Функция", чтобы отразить иерархию инициатив и функций. Конфигурация процесса определяет отношения "родитель-потомок" среди невыполненных работ портфеля.

  1. Экспортируйте файл ProcessConfiguration:

    witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
    
  2. Измените файл, чтобы добавить новую невыполненную работу портфеля в раздел PortfolioBacklogs.

    Добавьте категорию "Инициатива", добавив следующий синтаксис. Замените имена, значения состояния рабочего процесса и поля столбцов, предусмотренные по умолчанию, теми, которыми пользуетесь вы.

    <PortfolioBacklog category="MyCompany.InitiativeCategory" pluralName="Initiatives" singularName="Initiative">
          <States>
            <State value="New" type="Proposed" />
            <State value="In Progress" type="InProgress" />
            <State value="Done" type="Complete" />
          </States>
          <Columns>
            <Column refname="System.WorkItemType" width="100" />
            <Column refname="System.Title" width="400" />
            <Column refname="System.State" width="100" />
            <Column refname="Microsoft.VSTS.Common.BusinessValue" width="50" />
            <Column refname="Microsoft.VSTS.Scheduling.TargetDate" width="100" />
            <Column refname="System.Tags" width="200" />
          </Columns>
          <AddPanel>
            <Fields>
              <Field refname="System.Title" />
            </Fields>
          </AddPanel>
     </PortfolioBacklog>
    

    При изменении состояний рабочего процесса убедитесь, что каждое состояние рабочего процесса сопоставлено с одним из метасостояний Proposed, InProgress и Complete. Последнее состояние внутри рабочего процесса должно быть сопоставлено с Complete.

  3. Измените элемент PortfolioBacklog для категории Функция, чтобы он указывал на Initiative как родительскую невыполненную работу.

    <PortfolioBacklog category="Microsoft.FeatureCategory" parent="MyCompany.InitiativeCategory" pluralName="Features" singularName="Feature">
    

    Промежуточные невыполненные работы портфеля требуют определения родительской категории, которая должна быть настроена как невыполненная работа портфеля.

  4. Добавьте нужный цвет элемента "Инициатива" в раздел WorkItemColors.

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

    В результате ярко-оранжевый будет назначен в качестве основного цвета для использования при отображении списков, а более бледный оттенок оранжевого — для использования на доске канбан.

  5. Импортируйте файл.

    witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml"
    
  6. Откройте или обновите браузер для TWA и убедитесь, что невыполненные работы портфеля работают так, как ожидалось. См. раздел Работа с невыполненными работами портфеля.

Вопросы и ответы

В. Сколько невыполненных работ портфеля можно добавить?

Ответ. Можно добавить до пяти списков невыполненных работ портфеля. Это включает элемент невыполненной работы по умолчанию для элемента «Функция». В итоге это предоставляет 7 уровней — от высшего уровня невыполненной работы портфеля до задачи.

Схематическое изображение пяти уровней невыполненных работ портфеля

В. Что определяет иерархию невыполненных работ портфеля?

О. Конфигурация процесса определяет иерархию через назначение родительских категорий категориям невыполненной работы портфеля. Поддерживаются только отношения родитель-потомок. Самая верхняя категория в иерархии не содержит присвоения родителя.

В. Можно ли определить несколько типов рабочих элементов в категории, используемой для невыполненной работы портфеля?

Ответ. Да. Например, можно добавить WIT "Цель" и "Инициатива" в категорию невыполненной работы портфеля. Основное ограничение — не добавлять один и тот же тип рабочего элемента в две разные категории, назначенные одному из следующих разделов конфигурации процесса: PortfolioBacklog, RequirementBacklog или TaskBacklog.

В. Можно ли создавать вложенные элементы невыполненной работы в дополнение к использованию невыполненных работ портфеля?

О. Можно вложить элементы невыполненной работы, но не элементы невыполненной работы портфеля. Вложение не рекомендуется.

Вопрос. В мой командный проект были добавлены невыполненные работы портфеля.Почему не все члены команды могут просматривать их?

О. Для просмотра невыполненных работ портфеля и работы с ними требуется, чтобы каждый член команды имел Расширенный доступ.

В. Где можно узнать больше о синтаксисе файла определения?

О. Сведения о синтаксисе предоставляются в следующих разделах справки:

В. Где можно получить дополнительные сведения о средствах командной строки, используемых для импорта и экспорта файлов определения?

О. В следующих разделах справки описан синтаксис средства командной строки и приведены примеры его использования:

В. Куда можно обратиться с другим вопросом?

О. На следующих форумах TFS можно найти ответы на вопросы или опубликовать свой вопрос: