Стратегия ветвления TFS, когда выпуск задерживается, а разработка продолжается.

У меня есть моральный недостаток: в моей компании у нас есть весь набор продуктов в основном филиале, и проекты будут отделяться от основного (магистрального) филиала. У меня есть проблема в том, что спринт (там долгие 8 недель), который должен быть доставлен, был отложен и не может быть развернут в течение 2 недель, но разработка должна продолжаться до следующего спринта.

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

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

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

Как бы вы справились с этой ситуацией? Есть что-то, чего мне не хватает?

1 ответ

Если вы переходите на новый командный проект каждый спринт, то вы делаете это неправильно. Все ветки для одного продукта должны находиться в одном командном проекте.

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

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

Если ошибки не являются критическими, вы можете исправить их в ветке sprint 2 и выпустить sprint 1 вместе с ошибкой.

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

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

Другие вопросы по тегам