Ещё одна версия настройки TFS под командную работу

Структура публикации
  • Немного о том — почему так?
  • Схема работы команд разработки под которую делается настройка
  • Настройка XML-ек
  • Сохранение XML-ек
  • Настройка TFS через интерфейс

cf7327e3a9354b4eaf54fb983f8985e5.png
Использовалась TFS 2015, однако многое справедливо и для более ранних версий.

Немного о том — почему так?
При продолжительных проектах даже для небольшой команды требуется система планирования и работы с задачами, а также система контроля версий. Существуют готовые методики разработки (Agile, Scrum и т. д.), под которые в TFS-е есть шаблоны, но не на всех предприятиях их готовы внедрять. Особенно это касается предприятий, на которых идёт разработка не нового продукта, а доработка существующего под требования бизнеса. Бизнесу всё равно, что у вас не закончился спринт и в него больше ничего нельзя добавлять. Может быть вы захотите рассказать об итерациях. Если появляется новая важная и конечно же срочная задача — вы будете её делать. И как-то оформлять в TFS-е, затрачивая время. Здесь конечно кто-то возразит, что нужно правильно организовать структуру ИТ-отдела, например, создать специальную «пожарную команду». Или использовать другой подход, чтобы «вписаться» в одну из стандартных методик. Да, можно пообсуждать это в комментариях.Схема работы команд разработки под которую делается настройка
Итак, предположим имеется несколько команд разработки. Каждая команда организована по принципу «операционной бригады», в которой есть разные специалисты. У каждой команды своя зона ответственности, свой участок разработки. Иногда удобно заводить в TFS даже отделы, не занимающиеся разработкой.
Предположим нам необходимо три уровня задач:
  1. Нижний — сами задачи нескольких типов. Каждый тип должен соответствовать специальности разработчика. Их создают сами разработчики. В результате декомпозиции или иным образом.
  2. Средний — задания от заказчика. Это уровень Product Backlog item. Или Story. Здесь каждый элемент содержит «хотелки» с требованиями. Предположим их создаёт или заказчик или менеджер команды.
  3. Верхний — проекты или крупные цели. Это уровень Features. Здесь можно группировать «хотелки».

Также предположим, что прежде чем брать в работу некоторое задание, оно должно быть согласовано у кого-то. Это может быть руководитель ИТ, отдел бизнес-анализа, руководитель отдела для которого производится автоматизация, все сразу или кто-то ещё.
Предположим, что каждая задача проходит 4 стадии:
  • ожидание,
  • разработка,
  • проверка и выкладка в продакшн,
  • сделано.

Предположим, что каждое задание или проект проходит 3 стадии:
  • новый,
  • в работе,
  • готово.

И наконец предположим, что необходимо передавать задачи в соседние команды разработки так, чтобы видеть это на своих досках. Чтобы на вашей доске вы понимали, что задачи отданы в другую команду. А другая команда видела, что это сторонние задачи.
Допустим это всё, что требуется от вкладки «Работа» вашего TFS. Далее — как это настроить.Настройка XML-ек
1. Настройки необходимо начинать, если у вас ещё нет задач. Иначе будет много ошибок и трудноразрешимых ситуаций.
2. Сначала нужно создать коллекцию и несколько команд в TFS, раздать права.
3. Далее необходимо установить Visual Studio, если у вас она ещё не установлена.
4. Запускаем Visual Studio.
aa7a24262f1f4959b8603ce3a3bffaa9.png

5. Тыкаем «Сервис / Расширения и обновления». Далее выбираем «В сети». Далее «Visual Studio Gallery». Находим и устанавливаем оттуда. Или скачиваем и устанавливаем «Microsoft Visual Studio Team Foundation Server 2015 Power Tools» с сайта. Это бесплатная утилита.
6. Далее запускаем консоль. Набираем вот это:

cd c:\Program…\Microsoft Visual Studio 14.0\Common7\IDE\

Здесь понятно будет путь к вашей студии. Далее набираем вот это, заменяя пути, названия проекта и коллекции.
witadmin exportprocessconfig /f:"c:\work\tfs2015\ProcessConfig.xml" /p:projectname /collection:"http://tfs2015:8080/tfs/CollectionName"

7. Создаётся файл «ProcessConfig.XML». Его текст необходимо изменить.на вот такой:
ProcessConfig.XML


  
    
      
      
    
  
  
    
      
      
    
  
  
    
      
        
          
        
      
      
        
        
        
        
        
        
        
      
      
        
        
        
        
      
    
  
      
        
          
        
      
      
        
        
        
        
        
        
        
      
      
        
        
        
      
    
  
  
    
      
        
      
    
    
      
      
      
      
      
      
      
    
    
      
      
      
    
  
  
    
      
        
      
    
    
      
      
      
      
    
    
      
      
      
      
    
  
  
    
    
    
    
    
      
        
        
        
      
    
    
    
    
  
  
    Sunday
    Saturday
  
  
    
    
  
  
    
    
    
    
    
    
        
    
    
    
    
    
    
    
    
    
    
  



Здесь я убрал всё, что можно убрать. Данный файл описывает настройки досок, левой панели, списка и панели добавления элементов. Внизу перечислены цвета элементов. Обратите внимание, что в описании использована русская версия TFS. В английской «Задачи» и «Задача» будут называться «Tasks» и «Task» соответственно. Это же касается и остального.
8. Далее в консоли набираем:
cd c:\Program…\Microsoft Visual Studio 14.0\Common7\IDE\
witadmin exportcategories /f:"c:\work\tfs2015\Categories.xml" /p:projectname /collection: "http://tfs2015:8080/tfs/CollectionName"

9. Содержимое появившегося файла заменяем на:
Categories.XML


  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
    
    
  
  
    
    
    
    
    
    
    
    
    
    
  



В TFS-е есть более 3-х классов элементов. Среди них: задачи, ошибки, тестовые случаи и прочее. Данный файл описывает, что нам из этого нужно и сколько вариантов элементов может быть для каждого класса. Например, мы задаём, что будет три типа задач. Внизу перечисляем то, что нам не нужно.
10. Далее нам необходимо настроить интерфейс элементов, а также их жизненный цикл. Для этого в Visual Studio тыкаем «Сервис / Process Editor / Work Item Types / Export WIT»
9ba32fbea6aa425d9797c42b81ed73d2.png

11. В открывшемся окне задаём параметры для подключения к своему TFS.
12. Выбираем из списка элемент «Задача».
7d411131536a4c9b8df085f77df9cd22.png

13. Сохраняем в файл с тем же именем. Далее соглашаемся. Нажимаем ОК.
14. Далее повторяем для типа «Пользовательская история» (Product Backlog) и «Возможность» (Feature).
15. Далее получившийся XML задачи заменяем на вот это и сохраняем с именем «SQL task»:

SQL task.XML

  
    Отслеживание требуемых работ.
    
      
        Итерация, в которой будет завершена эта задача
      
      
      
      
      
      
      
      
        Область продукта, в которой задействована эта задача
      
      
      
      
      
      
      
        
        Требуемая работа и как будет реализована пользовательская история
      
      
        Новый = новая работа, которая пока не активирована; Активный = оставшаяся работа, которую нужно выполнить; Закрыто = протестировано и возвращено.
      
      
      
      
      
        
        
      
      
        Причина, по которой задача находится в текущем состоянии
      
      
        
        
        Лицо, которое в настоящее время занимается решением этой задачи
      
      
      
      
      
        Что предполагается сделать, указатели на ресурсы и входные данные, заметки разработки, условия выхода
      
      
        Поток дискуссии плюс автоматическая запись изменений
      
      
      
      
      
      
      
        Оценка числа единиц работы, оставшихся до завершения выполнения задачи
      
      
        Начальное значение оставшейся работы - задается единожды, при начале работы
      
      
        Количество единиц работы, потраченных на эту задачу
      
      
        
          
          
          
          
          
          
        
        Тип связанной работы
      
      
        
          
        
        
          
        
      
      
        
          
        
      
      
        
          
          
        
      
      
        
          
        
      
      
        
          
          
        
      
      
        
        
          
          
          
          
        
        Производственная важность
      
      
        Сначала обработайте элементы с меньшим значением ранга стека. Установить в рассмотрении.
      
      
        
          
        
        Сборка, в которой ошибка была исправлена
      
      
        Дата начала задачи
      
      
        Дата завершения задачи
      
    
    
          
        
          
            
              
            
            
              
            
          
        
        
          
            
              
              
            
            
              
            
          
        
        
          
            
              
              
            
            
              
            
          
        
        
          
            
              
              
            
            
              
            
            
              
              
            
            
              
            
          
        
        
      
      
        
          
            
          
        
        
          
            
          
        
        
          
            
          
          
            
          
          
            
              
              
              
              
            
            
              
            
            
              
            
          
        
        
          
            
          
          
            
          
        
        
          
            
          
        
        
          
            
          
        
        
          
            
          
        
        
          
            
          
          
            
          
          
            
              
              
              
              
            
            
              
            
            
              
              
            
            
              
            
          
        
        
          
            
          
        
        
          
            
          
          
            
              
            
          
        
      
    
    


Здесь описываются атрибуты, которыми будет владеть элемент. Описание интерфейса элемента. Возможные состояния элемента. А так же возможные переходы из состояния в состояние.
16. Скопируйте данный файл дважды с новыми именами «C# task.XML» и »1C task.XML». В каждом из них необходимо в третьей строке » заменить название на соответствующее.
17. Скопируйте файл «Пользовательская история.XML» в «Story.XML» и замените содержимое на:
Story.XML


  
    Отслеживает действие, которое пользователь сможет выполнять с использованием продукта
    
      
        Итерация, в рамках которой эта пользовательская история будет реализована
      
      
      
      
      
      
      
      
        Область продукта, с которой связана эта пользовательская история
      
      
      
      
      
      
      
        Возможности, которые получит пользователь после реализации
        
      
      
        Новый = работа, которая еще не начата; Активный= оставшиеся работы к выполнению; Разрешено = ожидающие приемочных тестов; Закрыто = прошедшие приемочные тесты
      
      
      
      
      
        
        
      
      
        Причина, по которой статья находится в текущем состоянии
      
      
      
      
      
      
        Описание или ссылка на описание, которое должно подтвердить завершенность работы
      
      
        Поток дискуссии плюс автоматическая запись изменений
      
      
      
      
      
      
      
        Предполагаемый объем работ для реализации этой пользовательской истории
      
      
        
          
        
        
          
        
      
      
        
          
        
      
      
        
          
          
        
      
      
        
          
        
      
      
        
          
          
        
      
      
      
        
          
        
      
      
        
          
          
        
      
      
        Производственная важность. 1 = необходимо исправить, 4 = не имеет значения.
        
          
          
          
          
        
        
      
      
        Сначала обработайте элементы с меньшим значением ранга стека. Установить в рассмотрении.
      
      
        Бизнес = предоставляет ценности пользователю или системе; Архитектурный = работает для поддержки других историй или компонентов
        
          
          
        
        
        
      
      
        Сборка, в которой ошибка была исправлена
        
          
        
      
      
        Неопределенность в требованиях или структуре
        
          
          
          
        
      
      
        Дата начала реализации данной статьи
      
      
        Дата выполнения для всех задач, реализующих эту историю
      
      
    
    
      
        
        
          
            
              
            
            
              
              
            
          
        
        
          
            
              
            
            
              
              
            
            
              
            
            
              
              
            
          
        
        
      
      
        
          
            
          
        
        
          
            
          
        
        
          
            
          
          
            
              
              
              
              
            
            
              
            
            
              
              
            
            
              
            
          
        
        
          
            
          
        
        
          
            
          
        
        
          
            
          
          
            
              
              
              
              
            
            
              
            
          
        
        
          
            
          
          
            
              
            
            
              
            
            
              
            
          
        
      
    
    


18. Скопируйте файл «Возможность.XML» в файл «Project.XML» (или на любое другое название, например «Крупная цель.XML») и замените содержимое на:
Project.XML


  
    Отслеживание компонента, который будет выпущен с продуктом
    
      
        Итерация, в рамках которой этот компонент будет реализован
      
      
      
      
      
      
      
      
        Область продукта, с которой связан этот компонент
      
      
      
      
      
      
      
        Возможности, которые получит пользователь после реализации
        
      
      
        Новый = работа, которая еще не начата; Активный= оставшиеся работы к выполнению; Разрешено = ожидающие приемочных тестов; Закрыто = прошедшие приемочные тесты
      
      
      
      
      
        
        
      
      
        Причина, по которой компонент находится в текущем состоянии
      
      
      
      
      
      
        Описание или критерии принятия, в соответствии с которыми компонент рассматривается как выполненный
      
      
        Поток дискуссии плюс автоматическая запись изменений
      
      © Habrahabr.ru