Политика выпуска релизов (обновлений) Monq
В данной статье описана политика компании "Monq Digital Lab" в отношении выпуска новых обновлений продукта, их частоте и влияние на производственные процессы компании использующей продукт.
Команда Monq придерживается современных Agile-практик, предполагающих частые поставки обновлений. Что позволяет нашим пользователям получать функционал и исправление ошибок как можно быстрее, обеспечивает быструю обратную связь между разработчиками и пользователями.А также, способствует непрерывному обновлению технологической платформы продукта.
Данный подход значительно уменьшает простои, связанные с обновлением системы, и сопутствующие изменениям риски, - "несколько маленьких обновлений, распределенных по времени, всегда безопаснее одного большого релиза".
Компания "Monq Digital Lab" не выделяет новую версию Monq в отдельный коммерческий продукт, как, например, компания "Microsoft" для "Windows", и отдельно их не продает.
"Windows 7", "Windows 10", "Windows 11" — это не версии операционной системы, это, строго говоря, разные программные продукты.
Продолжая аналогии с "Windows" от компании "Microsoft", прекращение поддержки в понимании "Microsoft" — это прекращение выпуска обновлений для данного программного продукта. Мы не прекращаем поддержку в понимании "Microsoft", мы непрерывно выпускаем обновления, ведь Monq — это один программный продукт. Поэтому у нас нет LTS-версий Monq. Отметим, компания Microsoft анонсировала, что также переходит к такому "бесшовному" подходу, и после "Windows 11" не будет никаких новых Windows, а будет последовательное обновление. На сегодняшний день — это современный и наиболее эффективный подход.
Разработчики Monq предоставляют своим пользователям возможность практически "бесшовного" переезда с одной версии продукта на другую, даже для очень крупных обновлений (например, как переход с "Monq 6.x" на "Monq 7.x"). Для этого мы выпускаем и поставляем в пакете обновлений специальные программы "миграторы", позволяющие осуществить обновление, не потерять данные и максимально возможно сохранить настройки системы.
Зачастую эти подготовительные действия занимают до 30% от всех наших трудозатрат. Но эта цена нашего принципа, что мы должны обеспечивать нашим пользователям возможность постоянного непрерывного улучшения продукта.
Частые обновления не так страшны, большая часть из них проходит вообще незаметно, даже без остановки интерфейса и деградации сервисов. Этому способствует специальная микросервисная архитектура продукта. Есть, конечно, обновления, которые требуют полной остановки Monq до несколько часов, но такие обновления бывают один раз в 12-18 месяцев и связаны зачастую с обновлением СПО, либо с масштабным изменением архитектуры (например, как переход с "Monq 6.x" на "Monq 7.x"). В релизной инструкции мы всегда указываем воздействие, примерные сроки и характер простоя, если он есть.
В случае крупных и "тяжелых" обновлений, мы сообщаем о них пользователям заранее посредством новостных каналов. Также, в отдельных случаях, мы идем на встречу пользователям и, в случае серьезного для инсталяции дефекта и невозможности пользователя быстро обновиться, выпускаем "патч-версию" с исправлениями для предыдущей версии.
В данном случае существует серьезное ограничение, данный "патч" не должен затрагивать данные в СУБД, методы API, не вносить нового функционала (одним словом, "маленький патч").
В противном случае будет невозможно дальнейшее "бесшовное" обновление продукта.
В любом случае, принятие решения о выпуске "патча" для предыдущей версии принимается исключительно командой Monq, как разработчиками продукта. Мы имеем право, как выпустить такой "патч", так и отказать пользователю в таком "патче", попросив его обновиться до актуальной версии ПО.
Коннекторы, обработчики, сценарии автопостроения РСМ и плагины - это программный код (расширения), который не относится к обновлениям ПО Monq.
По сути, это настройки продукта и его контентное наполнение.
Они изменяются без изменения версии самого Monq.
Жизненный цикл обновления составляет три календарных месяца с даты публикации и состоит из трех этапов:
Актуальное — последняя выпущенная версия. Для версии, находящейся в данном статусе доступен выпуск исправлений(патчей) в случае, если был выявлен Баг. Обновляется документация. Команда поддержки оказывает консультации по установке, эксплуатации и работе в пользовательском интерфейсе, принимает предложения по доработке продукта и имеет тестовый стенд для воспроизведения ошибок.
Поддерживаемое — для данных версий невозможен выпуск исправлений(патчей). Вносятся исправления в документацию. Команда поддержки оказывает консультации по эксплуатации ПО, обновлению и работе в пользовательском интерфейсе.
Устаревшее — не поддерживаемые версии. Документация не обновляется. Команда поддержки оказывает консультации, по вопросам связанным с работой в пользовательском интерфейсе и обновлению.
Список поддерживаемых версий содержится в таблице, опубликованной в разделе «Обновления».