Заметки консультанта

Шамрай Александр Владимирович

Управление рабочими элементами в MS TFS 2010 Beta1

Posted by Шамрай Александр на Август 23, 2009

Потестировал немного систему управления рабочими элементами в TFS 2010, тут небольшой результат моих экспериментов.

Рабочие элементы

Рабочий элементы в TFS – это единица записи в базе данных TFS, которая используется для управления заданиями в проекте TFS. Каждый рабочий элемент описывается набором атрибутов и моделью поведения, с помощью которой можно определить в каком состоянии находится тот или иной рабочий элемент, по какой причине он в этом состоянии оказался и т.д. С помощью набора рабочих элементов (их атрибутов и модели поведения) реализуются уже шаблоны процессов проектов разработки. С TFS поставляется два шаблона процессов:

  • MSF Agile для любителей организовать свой процесс на основе гибких методологий. Данный шаблон имеет небольшой набор рабочих элементов, которых в принципе должно хватать для основных задач гибкого процесса, т.е. не нагружать разработчиков «ненужной писаниной», дать им сконцентрироваться на реализации своих задач и обеспечить необходимый уровень работы с требованиями (сценариями использования).
  • MSF CMMI применяется в основном для организаций, в которых качество процесса и продукта стоит на первом месте. Этот шаблон уже имеет большее количество рабочих элементов и более сложные модели поведения для них.

 

Таблица 1. Различия рабочих элементов

 

  MSF Agile MSF CMMI
Рабочие элементы
Модель поведения для задачи
Кол-во полей на форме для задачи 13 25

 

Управление рабочими элементами

Основное управление рабочими элементами в TFS организовано с использованием клиента Tеam Explorer из Visual Studio. Из этого клиента доступны все операции, которые можно выполнять с рабочими элементами, а их немного:

  • Добавление рабочего элемента через меню «Team»:

Рисунок 1. Добавление рабочего элемента

  • Редактирование атрибутов рабочего элемента через его форму:

Рисунок 2. Изменение рабочего элемента

  • Удаление рабочих элементов не реализовано в TFS. Поэтому, если элемент был по ошибке введен или по какой-то другой причине он не нужен в проекте, то его необходимо закрыть с указанием причины такого действия. Однако если удаление недоступно из Team Explorer, то не факт, что нельзя удалить рабочий элемент. Ранее на форумах обсуждалась реализация такой возможности напрямую через базу данных, позже функция удаления рабочих элементов появилась в утилитах Power Tools.

 

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

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

Рисунок 3. Редактор запросов

  • Поддерживаются следующие типы запросов:
    • — обычный список рабочих элементов

Рисунок 4. Обычный список

  • — позволяет просматривать рабочие элементы, для которых верно условие выбора запроса, и связанные с ними рабочие элементы.

Рисунок 5. Список со связями

  • — выстраивает результат работы запроса в виде дерева рабочих элементов по связям «Родительский/дочерний элемент»

Рисунок 6. Дерево рабочих элементов

  • Кроме того, что и в предыдущих версиях TFS запросы в клиенте Tеam Explorer были разделены на командные и собственные, теперь можно организовывать все запросы в отдельные каталоги для более удобной навигации и поиска необходимых запросов:

Рисунок 7. Клиент Team Explorer

 

Связи между рабочими элементами

 

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

  1. Родитель (Parent) – связываемых рабочих элемент указывается как родительский для текущего рабочего элемента и родительских связей может только не более одной для одного рабочего элемента.
  2. Дочерняя связь (Child) – связываемых рабочий элемент считается дочерним и их может быть любое количество.
  3. Предшественник (Predecessor) –т.е. рабочий элемент, который предшествует текущему, используется для организации последовательности реализации задач, требований и т.д.
  4. Последователь (Successor) – рабочие элементы, которые следуют за текущим, например, задачи, которые будут выполнены после текущей.
  5. Тестирует (Tested by) – используется для указания, каким рабочим элементом будет тестироваться текущий, допустим, каким тестом тестируется функциональное требование.
  6. Связанный (Related) – для реализации других связей, которые не относятся к вышеперечисленным.

Рисунок 8. Связи между рабочими элементами

Интеграция с MS Project

 

Интеграция TFS с MS Project позволяет менеджеру проекта свободно себя чувствовать и выполнять свои функции, используя только MS Project. Данная интеграция присутствовала и в ранних версиях TFS, но в ней было несколько но:

  1. В виду того, что родительские связи и связи последовательности были реализованы только в 2010 версии, то всю ту структуру задач и их последовательность можно было видеть только в плане проекта. Сформированная структура в MS Project никаким образом не отражалась на рабочих элементах.
  2. При импорте рабочих элементов в план не импортировались плановые сроки, а импортировалась только длительность. Т.е. если задача по какой-то причине удалялась из плана, то при последующем ее повторном импорте в план она оказывалась в начале плана.
  3. Если суммировать два предыдущим пункта и предположить, что по какой-то причине план был удален, то восстановить его из проекта TFS было уже невозможно. После операции импорта задач в план, все задачи оказывались в начале плана, восстановить вложенность, последовательность и плановые сроки было невозможно.

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

С помощью интеграции можно делать следующее:

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

Рисунок 9. Выбор рабочих элементов

  • Создавать рабочие элементы из плана MS Project. Если новая задача входит в состав какой-то суммарной, то рабочий элемент будет указан как дочерний по отношению к суммарному. Последовательность выполнения также сохраняется в виде связей Предшественник и Последователь.

Рисунок 10. Создание новой задачи

  • Обновлять информацию из TFS в план по существующим рабочим элементам, например, ход выполнения задачи разработчиком (сколько времени было потрачено на задачу и сколько еще осталось потратить для ее реализации).
  • Если какая-то процедура сохранения изменений по задачам или создания новой задачи вызовет конфликт между задачей плана и рабочим элементом TFS, то интеграция обязательно скажет об этом и позволит открыть форму рабочего элемента для того, чтоб можно было сразу решить этот конфликт.

Рисунок 11. Решение конфликтов

  • Информация о плановых сроках, последовательности выполнения, структуре элементов в плане полностью соответствует информации в проекте TFS.

Рисунок 12. План проекта

Рисунок 13. План в проекте TFS

 

Интеграция с MS Excel

 

Еще одна полезная утилита в составе TFS. Интеграция с MS Excel позволит просто работать с рабочими элементами всем кому нет нужды использовать Visual Studio и MS Project, например, аналитикам.

С помощью этой интеграции можно делать:

  • Импортировать рабочие элементы в таблицу с использованием запросов с поддержкой иерархии на основе родительских и дочерних связей:

Рисунок 14. Рабочие элементы в MS Excel

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

Рисунок 15. Выбор запроса для импорта и обновления рабочих элементов

  • Изменять рабочие элементы. При изменении рабочих элементов интеграция позволяет изменять только те поля рабочих элементов, которые доступны для редактирования в текущем состоянии, и вставлять только те значения, которые также соответствуют определенному состоянию. Если пользователь будет пытаться ввести какое-то несуществующее значение, то интеграции обязательно об этом сообщит.

Рисунок 16. Сообщение об ошибке

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

Рисунок 17. Выбор полей

  • С помощью интеграции можно быстро мастером сформировать графические отчеты на основе существующих запросов:

Рисунок 18. Выбор запроса

Рисунок 19. Выбор графических отчетов

Рисунок 20. Результат работы мастера

Рисунок 21. Результат работы мастера

Дополнительно

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: