Настройка командного проекта для поддержки полей команд

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

При настройке полей командного проекта появляется вкладка поля Команды на странице администрирования в командном проекте и в каждой команде.

Настройка поля команды для каждой команды

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

Средство командной строки witadmin позволяет импортировать и экспортировать файлы определения. Также можно использовать редактор процессов, доступный при загрузке инструментов TFS Power Tools илидиспетчер TFS Team Project Manager — проект ресурсов сообщества на CodePlex.

1.Создание глобального списка для управления командами

  1. Если пользователь не является членом группы Администраторы проекта, необходимо получить соответствующие разрешения.

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

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

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

  3. Экспортируйте глобальный список для коллекции командных проектов.

    witadmin exportgloballist /collection:"http://MyServer:8080/tfs/DefaultCollection" /f:Directory/globallist.xml"
    

    Добавьте определение глобального списка для своей команды. Включите значение, которое необходимо использовать для еще не назначенных команде элементов. Если глобальный список пуст, просто скопируйте следующий код, вставьте его в XML-файл и внесите изменения, чтобы обеспечить поддержку меток группы.

    <?xml version="1.0" encoding="utf-8"?>
    <gl:GLOBALLISTS xmlns:gl="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/globallists">
       <GLOBALLIST name="Teams">
          <LISTITEM value="Unassigned"/>
          <LISTITEM value="Team A"/>
          <LISTITEM value="Team B"/>
          <LISTITEM value="Team C"/>
          <LISTITEM value="Team D"/>
       </GLOBALLIST>
    </gl:GLOBALLISTS>
    
  4. Импортируйте определение глобального списка.

    witadmin importgloballist /collection:"http://MyServer:8080/tfs/DefaultCollection" /f:Directory/globallist.xml"
    

    Обратите внимание, что глобальные списки определяются для всех командных проектов в коллекции командных проектов.

2.Добавление пользовательского поля команды в типы рабочих элементов

Добавьте настраиваемое поле команды во все типы рабочих элементов (WIT), которые включены в категорию свойств, категорию требований и категорию задач. Если было произведено обновление до TFS 2013.3, добавьте пользовательское поле команды ко всем типам рабочих элементов, включенных в Категорию Плата тестирования.

  1. Экспортируйте определения типов рабочих элементов. Экспортируйте определения типов для компонента, элемента невыполненной работы по продукту, ошибки и задачи в Scrum.

    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /n:"Product Backlog Item" /f:Directory/pbi.xml
    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /n:Bug /f:Directory/bug.xml
    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /n:Task /f:Directory/task.xml 
    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /n:"Test Plan" /f:Directory/TestPlan.xml
    
  2. Для каждого типа добавьте пользовательское поле команды, ссылающееся на глобальный список.

    <FIELDS>
    . . . 
       <FIELD name="Team" refname="MyCompany.Team" type="String" reportable="dimension">
          <HELPTEXT>Name of the team that will do the work.</HELPTEXT>
          <ALLOWEXISTINGVALUE />
             <ALLOWEDVALUES >
                <GLOBALLIST name="Teams" />
             </ALLOWEDVALUES >
             <DEFAULT from="value" value="Unassigned" />
       </FIELD>
    . . . 
    </FIELDS>
    

    Совет

    Присвойте пользовательскому полю имя, чтобы отличать его от полей TFS.Не используйте "System" в качестве префикса для refname.Длина меток name и refname не должна превышать 128 и 70 символов соответственно.

  3. Добавьте поле Команда в форму рабочего элемента.

    <FORM>
    . . . 
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="MyCompany.Team" Type="FieldControl" Label="Team" LabelPosition="Left" EmptyText="&lt;None&gt;" />
             <Control Type="FieldControl" FieldName="System.AssignedTo" Label="Assi&amp;gned to:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="Stat&amp;e" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason" LabelPosition="Left" ReadOnly="True" />
             </Column>
       </Group>
    . . . 
    </FORM>
    

    Также можно переместить поле "Путь к области", чтобы оно отображалось до или после поля "Путь итерации".

  4. Импортируйте обновленные определения типов.

    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/pbi.xml
    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/bug.xml
    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/task.xml
    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/TestPlan.xml
    

3.Изменение конфигурации процесса с добавлением ссылки на поле команды

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

    witadmin exportprocessconfig /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:MyProject /f:Directory/ProcessConfiguration.xml
    
  2. Замените System.AreaPath поля, используемого для задания type="Team".

    <TypeField refname="MyCompany.Team" type="Team" />
    
  3. (Необязательно) Добавление полей команды на панель быстрого добавления на странице невыполненной работы.

    <RequirementBacklog category="Microsoft.RequirementCategory" parent="Microsoft.FeatureCategory" pluralName="Stories" singularName="User Story">
        <AddPanel>
          <Fields>
            <Field refname="System.Title" />
            <Field refname="MyCompany.Team " />
          </Fields>
        </AddPanel> 
    . . .
    
  4. Импортируйте файл определений.

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

4.Настройка поля команды для каждой команды.

Создайте и настройте команды в Team Web Access (TWA) так, чтобы они совпадали с полем команды и одновременно ссылались на него. Каждая команда, включая команду проекта, Fabrikam Fiber Website, должна быть сконфигурирована со значением по умолчанию для поля команды.

  1. Обновите TWA и откройте элемент невыполненной работы по продукту на домашней странице командного проекта. Убедитесь, что изменения отображаются так, как ожидалось, и можно выбрать команду.

    Откройте элемент невыполненной работы по продукту и подтвердите поле команды

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

    Создание команд

    Ранее созданные команды сохранятся. При необходимости их можно переименовать.

  3. Откройте невыполненную работу по продукту или доску задач для командного проекта. Отобразится ошибка, указывающая, что нужно выбрать область команды.

    Ссылка "Выбрать области команды" на странице невыполненных работ в TWA

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

    Ненастроенное поле команды для командного проекта

    Для поддержки свертки всех команд в команду по умолчанию необходимо выбрать все команды.

    Страница поля команды для контекста администрирования командного проекта

  5. Далее настроить каждую команду в пределах иерархии команд со значением поля Команды, которое соответствует их имени.

    Настройка поля команды для каждой команды

    Повторите шаги для всех подкоманд в пределах иерархии.

Назначьте работу командам, используя поле Команды.

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

Работа из общего журнала невыполненной работы

Для элементов невыполненной работы, которая создается на странице невыполненной работы команды, TFS назначает значение по умолчанию, связанное с командой в поле Команды.

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

Как настроить компоненты обновленного командного проекта, настроенного для использования полей команды?

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

  1. Обновите TFS до последней версии.

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

  3. Измените файл ProcessTemplate и обновите имя и номер версии шаблона процесса. Например:

    <?xml version="1.0" encoding="utf-8"?>
    <ProcessTemplate>
      <metadata>
        <name>Microsoft Visual Studio Scrum 2013.3 with Team Field</name>
        <description>This template is for teams who follow the Scrum methodology and use Scrum terminology.</description>
        <version type="6B724908-EF14-45CF-84F8-768B5384DA45" major="3" minor="60" />
    
  4. В соответствии с описанием в разделе Добавление пользовательского поля команды в типы рабочих элементов обновите определения WIT для типов рабочих элементов, назначенных категориям "Компонент", "Требования" и "Задача". В шаблоне процесса Scrum это соответствует типам рабочих элементов (WIT) «Функция», «Элемент невыполненной работы по продукту», «Ошибка», «Задача» и «План тестирования».

  5. В соответствии с описанием в разделе Изменение конфигурации процесса с добавлением ссылки на поле команды обновите файл ProcessConfiguration, чтобы использовать пользовательское поле команды.

  6. Отправьте только что измененный шаблон процесса TFS.

  7. Настройте компоненты с помощью мастера. Затем убедитесь, что мастер выбирает шаблон процесса, отправленный в предыдущем шаге.

Почему команды, добавленные в командный проект, не отображаются в поле команды?

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

Используйте глобальный список для добавления новых команд, а затем настройте их в соответствии с описанием в разделе Настройка параметров группы.

Какими другими командами witadmin можно воспользоваться?

О. Полный список команд witadmin см. в разделе witAdmin. Настройка объектов для отслеживания рабочих элементов и управление этими объектами.

Где получить дополнительные сведения о шаблонах процессов?

О. См. раздел Настройка шаблона процесса.

Благодарности

Руководство по настройке команд, отсоединенных от путей области было разработано при сотрудничестве с Мартином Хиншелом (Martin Hinshel), главным консультантом ALM и Microsoft Visual Studio ALM MVP.