какие типы релизов можно использовать fix version или объект release
Управлять релизом просто: правила и этапы release management
Релиз является одним из самых важных и ожидаемых событий в жизненном цикле продукта. Приготовления к релизу могут занимать много усилий и времени, участия всей команды и заинтересованных сторон. Хорошо, если выпуск продукта или его версии проходит гладко и становится настоящим праздником. Но бывает иначе. Что из себя представляет эффективный релиз-менеджмент и как менеджерам продукта научиться его секретам?
Релиз связан с запуском нового продукта/сервиса/услуги или набором новых функций, изменений, которые становятся доступны клиентам или пользователям и обеспечивают новую продуктовую ценность.
Часто релиз состоит из ряда решений по устранению проблем и улучшений предоставляемых услуг, может включать изменения в ПО. На самом деле, это довольно значимое событие как для внутренних команд, так и для целевой аудитории.
Управление релизами помогает командам планировать свою работу и видеть конечный результат, а для клиентов это, своего рода, гарантия качества и получения новой ценности.
Хорошо подготовленный релиз — это не только предоставление доступа к новым техническим возможностям продукта. Это конечная дата, когда ваша команда может предоставить новый пользовательский опыт, поддержать и развить взаимодействие с ним.
Релизы должны включать все дополнительные задачи и активности, такие, например, как обновления на официальном сайте и в социальных сетях, обучение команды поддержки, обновление всех маркетинговых материалов и т. д.
Основная цель управления релизом — создавать, тестировать и доставлять новые возможности, которые будут удовлетворять все продуктовые требования и намеченные цели.
Продуктовым командам стоит тщательно планировать релизы, поскольку они являются новым предложением, которое ожидают клиенты.
Что включает процесс управления релизом?
Понимание процесса управления выпуском продукта может отличаться у разработчиков и нетехнических специалистов. Важно учитывать все аспекты релиза и прислушиваться к мнению каждого члена команды.
Процесс управления релизом может включать следующие этапы:
В управлении релизом продукта могут участвовать практически все члены команды.
Product manager и Project Manager
Менеджеры продуктов и менеджеры проектов несут основную ответственность за релиз. Функционал product manager project и manager отличается, но миссия у них одна — выпустить продукт и представить его клиентам в идеальном виде.
Разбработчики
Команда разработки — это ключевые игроки в управлении релизом, поскольку они участвуют в большинстве процессов в жизненном цикле продукта. Они оценивают изначальные затраты и время, определяют основные требования, создают документацию и разрабатывают функциональность. Они принимают главные решения о том, что можно сделать и что не нужно, а также сколько времени это займет.
Маркетинг
Маркетологи всегда должны “держать руку на пульсе” и быть в курсе того, чем живут конкуренты. В управлении релизом им важно тесно отрудничать с sales-менеджерами для получения новых и удержания существующих клиентов.
Тестировщики
Тестировщики работают вместе с разработчиками. Их задача — тестировать результаты исследований и разработки, основываясь на установленных критериях. Продукт не придет к релизу, пока не будут учтены все замечания и критерии прохождения тестирований.
Служба поддержки
Support-команда или отдельный специалист поддержки первыми получают сообщения, елси что-то пошло не так. Они должны понимать и знать все о релизе и должны быть должным образом подготовлены на всех уровнях еще на стадии планирования.
Помимо этих основных ролей, к управлению релизом могут привлекаться и другие специалисты: отдела закупок, финансисты, sales, биллинг, system engineering и др.
Почему нужно внедрять процесса управления релизам?
Что такое Release Notes в процессе управления релизом?
Release Notes — это примечания к версии продукта, в которых описываются изменения между выпускаемой и предыдущей версиями этого продукта. Такой документ может составляться для пользователей и для внутренних команд: тестировщиков, маркетологов, службы поддержки.
Когда используются примечания к релизу?
Примечания к релизу распространяются вместе с продуктами. Иногда — когда продукты все еще находятся в разработке или тестировании. Документ может быть доставлен клиентам при выпуске обновления (для продуктов, которые уже были использованы клиентами).
Вы можете найти различные варианты написания Release Notes, поскольку для этого документа нет единого стандарта или формата. В разных компаниях менеджеры продуктов, тестировщики и разработчики, которые обычно ответственны за написание примечаний, обычно используют свои собственные шаблоны.
Вот как выглядит страница с примечаниями к релизу у Firefox:
Как писать примечания к релизу?
Содержание документа зависит от типа релиза. Вот пример основных пунктов:
Заключение
Управление релизом во многих компаниях становится отдельным самостоятельным процессом, который сообщает заказчику дату выпуска продукта и основные этапы его развития. Заказчик участвует в приоритизации и вовлечен в определение содержания релиза.
Процесс позволяет менеджерам продуктов и команде своевременно оценить загрузку и управлять объемом работ, доставлять изменения в срок. Управление релизами позволяет собирать собственную статистику, с которой удобнее в дальнейшем обосновывать запросы на дополнительные ресурсы.
Если вы хотите детальнее разобраться в теме release management и отыскать интересные инсайты разных компаний, следующие книги будут полезными: (на английском языке)
Всë, что вам нужно знать об управлении релизами
В постоянно меняющемся, эволюционирующем мире приложений отдавать полусырые релизы пользователям — не вариант. Именно здесь на первый план выходит управление релизом. Данный материал от одного из менеджеров компании Hike, рассказывает о трейн-релизах и о стратегии ветвления, вводя в курс дела тех, кто хочет расширить свою зону компетенции и получить представление об управлении проектом.
Что это такое управление релизом?
Управление релизами охватывает все этапы выпуска программного обеспечения, от разработки и тестирования до развертывания. Управление релизом требуется каждый раз, когда запрашивается новый продукт, или даже изменения в продукт существующий. Есть пять основных шагов по управления релизом, которые мы делаем в этой ситуации:
Планирование релиза
Этап планирования в большинстве случаев интенсивен, так как именно на этом этапе весь наш релиз организуется от начала до конца. Надёжный план релиза помогает придерживаться верного пути и обеспечивать надлежащее соблюдение стандартов и требований.
При планировании релизов мы считаем, что разработанные несколькими командами приложения нуждаются в согласованном подходе, который должен быть выпущен заранее. Именно здесь в игру вступает концепция «трейн-релиза». Следуя подходу трейн-релиза, команды могут планировать изменения на основе релизов и отправлять их в Play Store.
Самым первым шагом, ещё до того, как мы начнём реализовывать трейн-релиз, является определение временных интервалов каждого этапа. В нашем случае этап разработки — это две недели. Затем нужно определить, сколько времени вы хотите потратить на интеграционное тестирование и этапы развёртывания. Ниже наш пример интервалов:
Следующий шаг на пути к релизам — создание рабочего процесса, к которому на протяжении всего релиза могут обращаться как наши команды, так и ключевые заинтересованные стороны.
Рабочий процесс сразу объясняет, как устроен весь релиз и какую роль играет каждый член команды. Мы используем инструмент «Асана» для отображения этих деталей, перечисленных ниже:
Как только план утверждается и окончательно оформляется, начинается самое интересное!
Важные аспекты планирования релизов
Создание и использование трейн-релиза звучит здорово, но поддерживать процесс в рабочем состоянии во время планирования трейн-релиза может быть непростым. Вот некоторые детали этого процесса:
Построение релиза
После того как план выпуска готов, можно приступать к тестированию продукта для релиза. Это будет фактическое «тестирование уровня пользователя» продукта на основе изложенных в плане выпуска требований.
В определённый день и время (скажем, в понедельник, в 15:00) происходит замораживание/отсечение кода. До этого момента команды успевают посмотреть, протестировать и смержить фичи в ветку разработки, которая должна быть частью трейн-релиза. В 15:00 релиз-менеджер создаст из ветки разработки ветку релиза. Этот шаг автоматизирован с помощью Jenkins.
Автоматизируя переход ветки, мы проверяем все пороговые значения производительности, бенчмарк и автоматизации из предыдущих релизов в маркет устанавливаются на текущий как основание сравнения, а трейн-релиз блокируется от дальнейших изменений.
Как только код замораживается, начинается новый цикл разработки, и все участвующие команды начинают новый спринт и продолжают разработку. Самое замечательное в трейн-релизе: все знают о следующем, запланированном релизе, и это помогает людям соответствующим образом планировать свою работу.
Релиз веток и контроль версий
Разработка продукта обычно не останавливается, когда заканчивается разработка для релиза, поэтому первое, о чем мы думаем, это как заморозить тестируемую сборку и в то же время поработать над новыми возможностями для следующего релиза. Что случится, если в сборке релизов появится ошибка? Как исправить ошибку, если вы уже добавили кучу новых вещей до того, как эта ошибка нашлась?
Именно здесь на помощь приходит хитрая стратегия ветвления, в которой есть концепция разветвления. Как следует из названия, ветвление кода означает, что точно так же, как у веток дерева, код веток до определенной точки совпадает, а затем разбивается на две копии.
Каждая ветвь может развиваться независимо от другой. В этом случае одна копия — ветка релиза — остаётся замороженной на том месте, где вы завершили разработку. Это то, что мы называем отсечённой веткой. Другая ветка (ветка разработки) может быть изменена новым кодом и исправлениями ошибок, не затрагивая ветку релиза вообще. Если ошибка найдена в релиз-кандидате, исправление может быть разработано и добавлено в ветку релиза. Таким образом, следующая сборка, которую вы снова соберёте из ветки выпуска, может быть идентична первой, за исключением исправления одной ошибки. Таким образом, вы можете минимизировать риск появления новых ошибок в выпуске и изолировать баги от нового кода. Исправление также применяется к ветке разработки, чтобы гарантировать, что та же самая ошибка не попадёт в следующий релиз. Другое преимущество релиз-ветвления состоит в том, что как только вы действительно публикуете код, у вас есть «замороженная» ветка, которая представляет собой точную копию опубликованной кодовой базы. Вы можете вернуться к этому коду в любое время для справки.
Пользовательское приемочное тестирование
Пользовательское приемочное тестирование является наиболее важным шагом для управления релизом из-за объема собранных данных и исправлений, необходимых для того, чтобы сделать сборку именно такой, какой она должна быть для официального запуска.
Как следует из названия, когда речь идёт об этом виде тестирования, ключевая фигура — пользователь. Пользователи — это именно те люди, которые будут пользоваться приложением. Поэтому крайне важно сделать пользователей частью всей стратегии обеспечения качества в процессе разработки программного обеспечения. Вот где пригодится UAT. Этот тип тестирования, как никакой другой, ставит потребности пользователей в центр работы над продуктом. Вот некоторые из вопросов, на которые такое тестирование пытается ответить:
Pro Tip: всегда включайте внутреннее тестирование в планирование UAT!
Одним из способов ускорить UAT релиза для нас было использование внутренних тестовых треков, предоставляемых Google. Это помогает нам быстрее распространять тикеты среди коллег и фиксировать их отзывы посредством автоматического создания тикетов JIRA. Перед отправкой финального теста команда также следит за тем, чтобы отзывы были учтены.
Подготовка и релиз
Этот шаг заключается в том, чтобы внести последние штрихи в продукт, учитывая все, что было понято при UAT. Подготовка релиза также включает в себя заключительную проверку качества командой по контролю качества. В ходе проверки группа по контролю качества проводит окончательные проверки, чтобы убедиться, что сборка соответствует минимальным стандартам приемки и бизнес-требованиям из плана релиза.
После завершения ревью релиз-группа завершит релиз для начала развертывания. Перед тем, как сборка может быть развернуто в живой среде, она должно быть утверждена соответствующими ответственными командами, такими как команда дизайна. UAT гарантирует, что результат утверждается до передачи на следующий этап.
Развертывание релиза
Наконец-то настал важный день, когда окупилась вся тяжелая работа нашей команды. Пришло время выпустить наш продукт в дикую природу продакшна. Помимо простой отправки сборки в производственную среду, стадия внедрения также содержит обучение работе с продуктом как конечного пользователя, так и компании в целом. Например, пользователи должны быть уведомлены об изменениях в релизе, и именно здесь на появляется в поле зрения «What’s New» (Что нового). У нас есть автоматизированный процесс на Jenkins, содержащий такие шаги:
В данном случае мы начинаем с развертывания для 1%. На каждом этапе необходимо следить за ревью, а также за инструментами мониторинга падений релиза, чтобы выявить возможные проблемы.
Если ошибка становится заметной в 1%, у команды есть шанс отреагировать на проблему и решить, нужно ли исправлять ее быстро. Если это так, то трейн-релиз не должен достигнуть следующего шага развертывания в 5%. Вместо этого проблема решается для 1% пользователей. Как только проблема устраняется и решение проверено, трейн-релиз может перейти на стадию 5%.
Как и в простой версии трейн-релиза, только релиз-инженер или команда релиза заботится о процессе релиза после замораживания кода. Все остальные команды продолжают «нормальную» разработку.
Анализ после релиза
Работа по управлению релизом не заканчивается, когда публикуется код, продолжаясь до тех пор, пока вы не будете готовы выпустить релиз снова. Если вы хотите, чтобы ваше приложение было успешным, ему нужно хорошее ревью, вам также нужно следить за релизом в производственной среде, чтобы исправлять ошибки, внедрять функции, которые нужны людям, и решать проблемы пользователей. Для этого мы используем Firebase Crashlytics, где отслеживаем любые сбои, требующие немедленного исправления.
Кроме того, ревью приложения дают представление о вашем продукте, которое гораздо труднее получить при других подходах. И Google Play, и App Store предоставляют разработчикам приложений возможность отвечать на отзывы, что может быть невероятно полезным инструментом для получения дополнительной информации о проблемах с приложением от пользователей. Отзывы могут выявить проблемы, с которыми сталкиваются пользователи при работе с вашим приложением, и проинформировать о будущих изменениях.
Подведем итоги
Управление релизами наблюдает за чрезвычайно динамичным процессом. Каждый релиз — это возможность уточнить всё — от нашего рабочего процесса до нашего контрольного списка, поскольку мы вместе с ним обнаруживаем области улучшения. Вот некоторые преимущества, которые мы получили:
Мы также увидели, что наш процесс управления релизами облегчил сотрудникам по всем направлениям — от разработчиков и владельцев продуктов до руководителей — просмотр плана высокого уровня и получение краткой информации о своём прогрессе, работа синхронизирована.
Fix Version vs. Release Version History in Jira
In Atlassian JIRA, what is the difference between the fields «Fix Version» and «Release Version History», and when should you use what? I cannot seem to find any definitions and recommended usage of these fields online.
This distinction is very much useful for me, especially for Epics, that span across fix versions. For example, if my Epic feature is being released in phases, e.g. 1.2.0, 1.2.1, 1.2.4 and 1.3.0, then should I:
(Side note: I realize that maybe I am not creating Epics correctly, that an Epic should ideally be rolled out in a single release (version)? If that is the case, please do correct me.)
1 Answer 1
JIRA was originally a bug tracking system and I believe that «Fix Version» was used to indicate which version you planned to fix a bug in.
For example, a team releases version 1.1 but then a bug is reported. They raise the bug in JIRA and give it a Fix Version of 1.2 as they want the bug to be fixed in the next release.
As JIRA is now a full-blown agile project management tool, a lot of fields aren’t used for their original purpose. It is really up to you to use them how you see fit. You can even add custom fields if the standard fields aren’t what you want.
Epics are just large stories. If you are releasing every sprint then often an epic will span several releases. If you are releasing less frequently then you could aim to fit epics in to releases, but there are no hard and fast rules about this.
Узнайте, как использовать версии в Jira Software
Руководство по использованию версий в Jira Software
Просмотр тем
Учебное руководство по версиям Jira
Из этого учебного руководства вы узнаете, как можно работать с версиями в Jira Software.
10 минут на прочтение. Прохождение учебного курса занимает не менее 2 недель.
Вы знакомы с принципами работы с досками Scrum и (или) Kanban в Jira Software
У вас есть права на администрирование всех проектов на вашей доске Scrum или Kanban. Дополнительную информацию см. на странице «Управление правами на уровне проекта».
Вы создали проект Scrum или Kanban в Jira Software
Вы добавили в проект задачи
Версии в Jira Software отражают состояние проекта на определенный момент времени. Они помогают организовать работу посредством создания контрольных точек, которых необходимо достичь. Вы можете связать задачи проекта с конкретной версией и организовать спринты для выполнения работы в рамках этой версии.
Шаг 1. Создание версии в Jira Software
В меню проекта нажмите Releases (Релизы).
Выберите текстовое поле Version name (Имя версии), введите имя и нажмите Add (Добавить).
Имена версий обычно состоят из цифр, например 1.0 или 2.1.1. Можно также использовать внутреннее кодовое имя.
Вы можете создать ровно столько версий, сколько необходимо. Создание нескольких версий поможет спланировать работу заранее, однако для начала можно ограничиться лишь одной или двумя.
После создания версии для ваших задач станут доступны поля Affects version (Затрагиваемая версия) и Fix version (Версия фикса).
Шаг 2. Добавление задач к версии
Если у проекта есть бэклог
Перейдите в бэклог проекта.
Откройте панель Versions (Версии) слева.
Перетащите задачу в нужную версию для добавления.
Если у проекта нет бэклога
Откройте задачу, которую нужно добавить в версию.
Найдите поле Fix version/s (Версия исправления) и введите имя версии, в которую нужно добавить задачу.
Затрагиваемая версия — это версия, в которой были обнаружены баг или проблема. Информация о таких версиях может быть полезна при отслеживании проблем, однако они используются в Jira довольно редко.
Версия фикса — это версия для клиентов, в рамках которой планируется выпуск новой возможности или устранение багов. Это поле используется для планирования релизов, отслеживания работы и скорости ее выполнения, а также для составления отчетов. Скорее всего, вы будете пользоваться им чаще остальных в процессе работы.
Шаг 3. Отслеживание работы над версией
Jira Software содержит множество инструментов, с помощью которых вы можете следить за работой над версией. Далее мы поговорим о некоторых из них.
Центр управления релизами
В центре управления релизами вы можете управлять всеми релизами, а также просматривать сведения о состоянии релизов и количестве задач в каждой версии.
Переход в центр управления релизами.
В меню проекта выберите Releases (Релизы).
Быстрые фильтры. Отобразите конкретные версии, исключив все остальные.
Список версий. Перетаскивайте версии, чтобы изменить их порядок.
Состояние. Версии могут находиться в одном из трех состояний: Unreleased (Не выпущена), Released (Выпущена) или Archived (В архиве).
Прогресс. Здесь показано количество задач, связанных с конкретной версией, а также состояние каждой задачи.
При интеграции Jira Software с репозиторием Bitbucket вы также увидите здесь информацию о разработке, связанную с коммитами, ветками и запросами pull.
Burndown-диаграмма релиза (только для Scrum)
На диаграмме Burndown релиза показан объем выполненной и оставшейся работы. С помощью таких диаграмм можно спрогнозировать, выполнит ли команда работу в срок. Они также отлично подходят для того, чтобы сообщить команде о расширении области проекта.
Обратите внимание: прежде чем использовать диаграмму Burndown релиза, необходимо оценить сложность задач. Подробнее см. в нашем руководстве по диаграммам Burndown.
Чтобы просмотреть диаграмму Burndown релиза, выполните следующие действия.
В меню проекта выберите Reports (Отчеты).
Выберите Release burndown (Диаграмма Burndown релиза).
Меню релизов. Выбор релиза, информацию по которому нужно просмотреть.
Добавленная работа. Сегменты темно-синего цвета отображают объем работы, добавленный в каждый спринт релиза. В этом примере объем работы измеряется в очках за пользовательские истории.
Оставшаяся работа. Сегменты светло-синего цвета отображают оставшийся объем работы в релизе.
Выполненная работа. Сегменты зеленого цвета отображают объем работы, выполненной в рамках каждого спринта в релизе.
Ожидаемое время завершения. В отчете показано, сколько спринтов потребуется для завершения работы над релизом с учетом скорости работы команды.
Шаг 4. Завершение работы над версией
Ваша команда усердно потрудилась — настало время выпустить релиз ПО. На этом этапе вы должны быть уверены, что версия готова к релизу. Убедитесь, что все задачи выполнены, код загружен и проверен, выполнено его слияние, сборки успешно протестированы и т. д.
Для развертывания релиза чаще всего необходимо выпустить версию в Jira Software, после чего выполнить сборку релиза и его развертывание в нужной среде.
Завершение работы над версией
Перейдите в проект.
В меню проекта выберите Releases (Релизы).
Кнопка «. »Выберите Actions () > Release (Действия > Выпустить) для версии, которую нужно выпустить.
На досках Kanban можно также выпустить все задачи из столбца Done (Выполнено) в качестве новой версии прямо со страницы доски.
Автоматизация позволяет оптимизировать работу с версиями в Jira. Эти и сотни других правил автоматизации можно найти в библиотеке шаблонов Jira Automation. Перейти в библиотеку
Хотите узнать больше?
Подробнее о работе с версиями в Jira Software см. в нашей документации по версиям.