Ответ 1
Я надеюсь, что вы нашли использование моего сообщения, и я также рекомендую вам взглянуть на One Team Project, чтобы управлять ими всеми и TFS vNext: настройка вашего проекта на наличие основного отставания и подгрупп.
Вот мои лучшие усилия, чтобы ответить на ваши вопросы:
Вопрос 1) Мы поняли, что, поскольку наши команды не так велики и делают администрацию более управляемой, мы не хотим определять команды на продукт, так как мы физически имеем команды на каждого клиента, и они контролируют все продукты для этого клиент. Это ошибка, или это нормально?
Это прекрасно, и вы сможете расти, как это делают ваши команды. Если члены вашей команды работают с несколькими клиентами, вы можете столкнуться с проблемами приоритезации и переключения контекста, которые вы можете свести к минимуму, нажав на свою команду на уровне или имея единое отставание и отдельные подгруппы, но все же сосредоточившись на работе с клиентами, а не на работе с продуктом. Я бы действительно рекомендовал этот подход для макета, который у вас есть.
Вопрос 2) Предполагая, что приведенная выше конфигурация команды в порядке, мы тогда исправим, чтобы "сопоставить" каждую из вышеперечисленных областей с каждой командой, т.е. для команды "Клиентская команда" укажите область "Клиент А" (и все суб- области) в качестве областей, которыми должна обладать эта команда. Как насчет области по умолчанию, нормально ли установить корень из области "Клиент А" как по умолчанию для команды?
Это действительно правильно и должно привести к созданию всех ваших рабочих элементов, когда эта команда будет выбрана с этими значениями по умолчанию. Многие организации также создают резервное копирование родительского или основного персонала, в котором создаются, упорядочиваются разные элементы, а затем делятся на соответствующие отставания команды как Грег Боер, владелец продукта для гибких инструментов планирования TFS, о которых сообщается в своем сообщении TFS vNext: настройка вашего проекта на наличие основного журнала и подгрупп.
Макет для итераций действительно хорош, если ваши команды не пересекают границу между клиентами, или вы начнете трудно отображать области и итерации для команд. Если вы считаете, что вам может понадобиться иметь одну команду или группу команд для более чем одного клиента, вам может понадобиться нечто большее:
-> Team Project (Iteration root)
|—> Team Boundary (This could be one or more teams)
|--> Client A (This is also out team boundary - ie. we have a TFS Team for Client A)
|---> Product A
| |---> Release 1
| |---> Release 2
| |---> Release 3
|
|---> Product B
| |---> Release 1
| |---> Release 2
|
| (ETC)
|--> Client B (This is also out team boundary - ie. we have another TFS Team for Client B)
|---> Product C
| |---> Release 1
| |---> Release 2
|
| (ETC)
Пока он не является динамическим, это позволит включить этот сценарий. Тем не менее я сохранил бы свою структуру управления исходными файлами $\ TeamProject\Client A\ProductA и не отфильтровывал бы это. Это просто разделение процесса планирования и не должно чрезмерно перетекать в другие части вашего решения ALM.
Вопрос 3) Кажется более сложным получить правильные итерации, особенно когда речь заходит о TFS, показывающем отставание. В частности, для установки Tter Scrum 2 Iteration кажется, что я должен выбрать (флажок) только те итерации уровня листа, которые предназначены для планирования и последующей разработки. Поэтому, расширяя приведенный выше пример, возможно, что "Клиентская команда" будет доступна для начала работы над новым продуктом B в течение следующих 4 недель (предположим, 2-недельные спринты). Не могли бы мы тогда выбрать (флажок) "Sprint 1" и "Sprint 2" из Release 1? Я правильно понимаю/использую его?
Вы, но вы действительно смотрите на 3 Sprints, чтобы иметь действующее отставание как часть процесса Scrum. Я бы рекомендовал последовательно пронумеровать ваши спринты последовательно, чтобы в пользовательском интерфейсе вы не запутались в Sprint 2, когда вы также пометили Sprint 4, если он называется Sprint 1. Также приятно держать оценку уровня опыта текущей команды.
-> Team Project (Iteration root)
|—> Team Boundary (This could be one or more teams)
|--> Client A (This is also out team boundary - ie. we have a TFS Team for Client A)
|---> Product A
| |---> Release 1
| | |---> Sprint 1
| | |---> Sprint 2
| | |---> Sprint 3
| |---> Release 2
| | |---> Sprint 4
| | |---> Sprint 5
| | |---> Sprint 6
| |---> Release 3
| | |---> Sprint 7
| | |---> Sprint 8
| | |---> Sprint 9
|
| (ETC)
Но вы принципиально верны в отношении технического процесса и результата, которого он достигнет.
Вопрос 4) Выбор группы. Выбор Iteration. Это может быть проблематично из-за нашей концепции наличия команд на клиента, а не для каждого продукта, но, возможно, я просто понимаю, что это неправильно. В настройках TFS Areas вы указываете, какие итерации "Итерация отставания для команды". Моя проблема заключается в том, что наши PBI (Product Backlog Items) будут специфичными для продукта и не хотят смешивать их с PBI из другого продукта. Так что я пока не могу понять, каково будет влияние, если мы выберем область "Клиент А" как "Итерацию отставания для команды", а не "Продукт Б". Я думаю, что я запутался здесь - что было бы разумным выбором?
Вы не сбиваете себя с толку, и человек, который вводит что-то в отставание команды, должен будет изменить значение по умолчанию как итерацию/область продукта, в которую они хотят внести изменения. По крайней мере по умолчанию вы получаете правильное Команда, и это должно быть легко для любого человека, входящего в элемент, владельца продукта или члена команды, чтобы правильно их классифицировать.
Все, что находится под областью, которую вы указываете как Team Default, по умолчанию включено в элементы, которые вы видите. Вы можете "щелкнуть правой кнопкой мыши" по умолчанию для группы и отменить "Включить подзоны", чтобы вы видели только верхний уровень, и это техническая технология, используемая для Greg Master Backlog. Однако я бы предположил, что вы хотите сохранить настройку "Включить под-области" для видимости и прозрачности в своей команде.
Я не знаю, имеет ли один командный проект и несколько областей для продуктов (как это обычно рекомендуется) усложняет проблему.
Он может. Некоторые организации предпочитают добавлять раскрывающийся список для "Команды" к своим рабочим элементам (например, шаблон Conchango/EMC) и использовать их в качестве определения своей команды, которые могут быть настроены в конфигурации Agile Planning Tools по умолчанию. Таким образом вам не нужно назначать команду в Area или Iteration, если вы на это нападаете. У меня нет никакой рекомендации ни в одном из способов без дополнительной информации о том, как настроена ваша организация.
Вопрос 5) Веб-сайт веб-доступа TFS. Для любой команды в разделе "РАБОТА | рабочие элементы | Общие запросы" есть предопределенные запросы в папке "Текущий спринт" (Заблокированные задачи, Спринт-бэклог и т.д.), но кажется что эти запросы жестко запрограммированы против "Root Project\Release 1\Sprint 1" - не должны ли они автоматически обнаруживать, что является текущим спринтом, учитывая даты, определенные против итераций? Если нет, то какова наилучшая практика для поддержания этих запросов?
Вариант 1: каждый Спринт потратит 2 минуты, чтобы изменить запросы
Вариант 2. Создайте инструмент для этого
Вариант 3: Сделайте дополнительную "Текущую" итерацию node в своем выпуске и переместите текущую активную итерацию ниже node. Затем установите для запросов "Under", что "Клиент A\Product A\Release 1\Current". Затем быстрее встраивается итерация, и все запросы работают. Затем вам нужно только изменить ток, но один раз для выпуска.
Знаете ли вы о каких-либо качественных TFS 2012 и Scrum 2, которые могут помочь решить эти вопросы или дать некоторые рекомендации по успешной настройке Scrum 2 TFS?
Я бы порекомендовал профессиональное обучение разработчиков Scrum с Scrum.org или/и вошел в контакт с консультантом ALM.