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

После настройки компонентов для обновленного командного проекта, созданного с помощью шаблона процесса, основанного на Microsoft Solutions Framework (MSF) для Agile Software Development 5.0, необходимо вручную обновить назначения рабочих процессов пользовательских историй и задач. Если не обновить рабочий процесс, на доске задач будут отображаться только два состояния: Активно и Закрыто, как показано на рисунке ниже. Из-за этого члены команды не смогут различать задачи, которые уже выполняются, и задачи, которые еще не начаты.

Доска задач для командного проекта Agile без рекомендованного обновления

Доска задач для необновленного командного проекта Agile

Цель обновлений, внесенных мастером настройки компонентов, — соответствие существующему рабочему процессу, определенному для командного проекта. Для версии 5.0 шаблона процесса MSF Agile это означает отсутствие состояний "Новое" и "Удалено", представленных в последней версии. Эти состояния поддерживают перенос пользовательских историй из нового в активное состояние. Если новое состояние не определено, пользовательская история, назначенная итерации, остается в невыполненной работе по продукту до ее разрешения. Это поведение является нежелательным и непредвиденным.

Соответственно, добавление состояния "Новое" в рабочий процесс задачи позволяет перемещать задачи из состояния "Новое" в состояние "Активно" или "Закрыто", используя доску задач. Кроме того, добавление состояния "Удалено" в определения типов "Пользовательская история" и "Задача" позволяет пользователям удалять истории и задачи, используя средства планирования.

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

Примечание

Некоторые из описанных ниже процедур можно выполнить, используя редактор процессов, надстройку Power Tools для Visual Studio, которую можно загрузить и установить из Интернета.Доступный в меню Сервис редактор процессов предоставляет графический интерфейс для настройки шаблонов процессов Team Foundation Server.Это средство можно использовать для импорта и экспорта типов рабочих элементов и изменения содержимого шаблона процесса.Дополнительные сведения см. на следующих страницах веб-сайта Майкрософт: Team Foundation Server Power Tools.

Требования

  • Для запуска программы командной строки witadmin необходимо входить в одну из следующих групп: Администраторы Team Foundation, Администраторы коллекции проектов или Администраторы проекта для командного проекта. См. раздел Справочник по разрешениям Team Foundation Server.

Обновление рабочего процесса и метасостояний для командного проекта Agile

Важно!

Описание процедур в этом разделе основано на MSF для Agile Software Development 6.0.Чтобы обновить командный проект для поддержки последней версии рабочего процесса, определенного для MSF для Agile Software Development 6.1, можно немного изменить эти процедуры, чтобы скопировать разделы WORKFLOW последней версии шаблона процесса Agile.В последнем ежеквартальном обновлении в рабочий процесс для различных типов рабочих элементов были внесены значительные обновления.Изменения включают поддержку обратных переходов, то есть теперь при случайном перетаскивании рабочего элемента на канбан-доске или доске задач в разрешенное или закрытое состояние его можно перетащить обратно в предыдущее состояние рабочего процесса.

Дополнительные сведения об этом обновлении см. в разделе Новые возможности планирования и отслеживания.

Потребуется выполнить следующие действия:

  • экспортировать определения для типов "Пользовательская история" и "Задача" и конфигурации процесса;

  • вставить фрагменты кода в раздел рабочего процесса для типов "Пользовательская история" и "Задача";

  • обновить сопоставления метасостояний для конфигурации процесса;

  • импортировать обновленные определения для типов рабочих элементов и конфигурации процесса;

  • убедиться, что изменения отображаются на доске задач.

Важно!

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

Обновление состояний и переходов рабочего процесса для типа "Пользовательская история"

  1. Для запуска программы командной строки witadmin откройте окно командной строки на компьютере, где установлено ПО Visual Studio или Team Explorer, и введите:

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

    В 64-разрядной версии Windows замените %programfiles% на %programfiles(x86)%.

  2. Чтобы экспортировать определение типа для пользовательской истории, введите следующую команду, подставляя свои данные для показанных в примере аргументов, где CollectionURL задает URL-адрес коллекции командных проектов, ProjectName — имя командного проекта, определенного в коллекции, а "DirectoryPath\FileName.xml" — имя и расположение экспортируемого файла. Затем нажмите клавишу ВВОД.

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"User Story" /f:"DirectoryPath\FileName.xml"
    

    Используйте следующий формат URL-адреса: **http://**ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции, например: http://srvalm:8080/tfs/DefaultCollection.

  3. В текстовом редакторе или в Visual Studio откройте файл, который вы экспортировали.

  4. Добавьте этот фрагмент кода между строками <STATES> и <STATE value="Active">:

    <STATE value="New">
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <EMPTY />
          </FIELD>
       </FIELDS>
    </STATE>
    <STATE value="Removed" />
    
  5. Замените раздел, начинающийся <TRANSITION from=" " to="Active"> и заканчивающийся <TRANSITION>, этим фрагментом кода:

    <TRANSITION from="" to="New">
       <REASONS>
          <DEFAULTREASON value="New" />
       </REASONS>
       <FIELDS>
          <FIELD refname="System.Description">
             <DEFAULT from="value" value="As a &amp;lt;type of user&amp;gt; I want &amp;lt;some goal&amp;gt; so that &amp;lt;some reason&amp;gt;" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Active">
       <REASONS>
          <DEFAULTREASON value="Implementation started" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
             <DEFAULT from="currentuser" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Active" to="New">
       <REASONS>
          <DEFAULTREASON value="Implementation halted" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Removed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reconsidering the User Story" />
       </REASONS>
    </TRANSITION>
    
  6. Сохраните и закройте файл.

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

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    

Обновление состояний и переходов рабочего процесса для типа "Задача"

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

    witadmin exportwitd /collection:CollectionURL /p:"ProjectName" /n:"Task" /f:"DirectoryPath\FileName.xml"
    
  2. В текстовом редакторе или в Visual Studio откройте файл, который вы экспортировали.

  3. Добавьте этот фрагмент кода между строками <STATES> и <STATE value="Active">:

    <STATE value="New">
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <EMPTY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <EMPTY />
          </FIELD>
       </FIELDS>
    </STATE>
    <STATE value="Removed" />
    
  4. Замените первый блок перехода, соответствующий строкам между тегами <TRANSITION from="" to="Active"> и </TRANSITION>, следующим фрагментом кода:

    <TRANSITION from="" to="New">
       <REASONS>
          <DEFAULTREASON value="New" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="New" to="Active">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.StartWork" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Work started" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
             <DEFAULT from="currentuser" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="Active" to="New">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.StopWork" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Work halted" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="New" to="Closed">
       <ACTIONS>
          <ACTION value="Microsoft.VSTS.Actions.Checkin" />
       </ACTIONS>
       <REASONS>
          <DEFAULTREASON value="Completed" />
          <REASON value="Cut" />
          <REASON value="Deferred" />
       <REASON value="Obsolete" />
       </REASONS>
       <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
             <READONLY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
             <READONLY />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
             <SERVERDEFAULT from="clock" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
          <COPY from="currentuser" />
             <VALIDUSER />
             <REQUIRED />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="Closed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reactivated" />
       </REASONS>
       <FIELDS>
          <FIELD refname="System.AssignedTo">
             <COPY from="field" field="Microsoft.VSTS.Common.ClosedBy" />
          </FIELD>
       </FIELDS>
    </TRANSITION>
    <TRANSITION from="New" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Active" to="Removed">
       <REASONS>
          <DEFAULTREASON value="Removed from the backlog" />
       </REASONS>
    </TRANSITION>
    <TRANSITION from="Removed" to="New">
       <REASONS>
          <DEFAULTREASON value="Reconsidering the Task" />
       </REASONS>
    </TRANSITION>
    
  5. Сохраните и закройте файл.

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

    witadmin importwitd /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\FileName.xml"
    

Обновление сопоставлений метасостояний для конфигурации процесса

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

    witadmin exportprocessconfig /collection:CollectionURL /p:"ProjectName" /f:"DirectoryPath\ ProcessConfiguration.xml"
    

    Где CollectionURL задает URL-адрес коллекции командных проектов, а ProjectName — имя командного проекта. Используйте следующий формат URL-адреса: **http://**ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции, например: http://srvalm:8080/tfs/DefaultCollection.

  2. В Блокноте или другом текстовом редакторе откройте файл ProcessConfiguration.xml.

  3. Найдите тег <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">.

  4. Замените строку <State type="Proposed" value="Active" /> следующими строками:

    <State type="Proposed" value="New" /> 
    <State type="InProgress" value="Active" /> 
    
  5. Найдите тег <TaskWorkItems category="Microsoft.TaskCategory"> и замените строку <State type="Proposed" value="Active" /> следующими строками:

    <State type="Proposed" value="New" />
    <State type="InProgress" value="Active" />
    
  6. Убедитесь в наличии следующих сопоставлений:

    <RequirementWorkItems category="Microsoft.RequirementCategory" plural="Stories">
       <States>
          <State type="Proposed" value="New"/>
          <State type="InProgress value="Active" />
          <State type="InProgress value="Resolved" />
          <State type="Complete" value="Closed" />
       </States>
    </RequirementWorkItems>
    <TaskWorkItems category="Microsoft.TaskCategory">
       <States>
          <State type="Proposed" value="New" />
          <State type="InProgress" value="Active" />
          <State type="Complete" value="Closed" />
       </States>
    </TaskWorkItems>
    
  7. Сохраните и закройте файл.

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

    witadmin importprocessconfig /collection:CollectionURL /p:ProjectName /f:"DirectoryPath\ProcessConfiguration.xml" 
    

Проверка отображения изменений на доске задач

  1. Откройте Team Web Access, а затем подключитесь к командному проекту, используя URL-адрес в следующем формате:

    http://MyServer:8080/tfs/TeamProjectCollectionName/MyProject
    

    Если приложение TWA уже открыто, обновите браузер, чтобы обновить кэш.

  2. Убедитесь, что в столбцах доски задач теперь отображаются состояния Новое, Активно и Закрыто.

    Доска задач для командного проекта Agile с обновленными состояниями рабочего процесса

    Доска задач Agile с обновленным рабочим процессом

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

См. также

Основные понятия

Отслеживание работ с помощью Visual Studio ALM и TFS

Настройка компонентов после обновления TFS