Стадии жизненного цикла
Восемь стадий, через которые проходит продукт, — от планирования до вывода из эксплуатации — и что происходит на каждой из них.
Обновлено:
Настоящий документ описывает процессы, посредством которых разработчик поддерживает жизненный цикл программного продукта TGPRINT: как планируются, разрабатываются, тестируются и публикуются изменения, как устраняются неисправности, обнаруженные в эксплуатации, как совершенствуется продукт, какой персонал необходим и как оказывается техническая поддержка. Он дополняет Функциональные характеристики (что продукт делает) и Руководство пользователя (как им пользоваться). Документ предназначен для типографий-пользователей, лиц, оценивающих продукт, и команды разработчика.
Продукт поставляется как сервис через интернет: единственная текущая версия, сопровождаемая разработчиком, работает для всех типографий-пользователей, каждая — на своём экземпляре. Поэтому в жизненном цикле нет «версий, установленных у клиента», которые требовалось бы переносить по одной: опубликованное обновление доходит до всех экземпляров, а описанные ниже процессы — это процессы разработчика. То, что относится к типографии-пользователю, описано в главе 02.
1.1. Восемь стадий
- Планирование
- Разработка
- Тестирование
- Демонстрация и подтверждение
- Внедрение и эксплуатация
- Совершенствование продукта
- Сбор и устранение неисправностей
- Вывод из эксплуатации
Стадии 1–5 повторяются для каждой выпускаемой версии; стадии 6 и 7 выполняются непрерывно, параллельно с эксплуатацией, и служат основой для планирования последующих версий; стадия 8 касается либо отдельного экземпляра (типографии, прекращающей использование), либо функции, выводимой из продукта.
1.2. Планирование
Решение о создании или изменении функции принимается на основании:
- запросов и замечаний типографий-пользователей, полученных по каналам поддержки, при внедрении или от закреплённого менеджера;
- опыта собственной эксплуатации: разработчик сам является типографией и ежедневно использует платформу на реальных заказах, поэтому проблема в рабочем процессе прежде всего ощущается на собственном производстве;
- развития рынка web-to-print и электронной торговли (платежи, доставка, ожидания конечных клиентов), а также предложений конкурентов;
- изменений законодательства и внешних поставщиков (НДС и выставление счетов, защита данных, интерфейсы платёжных провайдеров, курьерских служб и почтовых сервисов), которые имеют приоритет перед улучшениями;
- потребностей безопасности и обновления базовых компонентов.
Результатом планирования является план разработки с расставленными приоритетами: неисправности, останавливающие продажу или обработку заказов, имеют безусловное первенство, за ними следуют обязательства, вытекающие из законодательства и из требований поставщиков, затем — улучшения с наибольшей пользой для наибольшего числа типографий. Для каждого элемента оцениваются трудоёмкость, риск и влияние на существующие данные.
1.3. Разработка
- Детальный анализ изменения: какую задачу оно решает, кого затрагивает (конечного клиента, менеджера, оператора, бухгалтера), какие экраны и какие данные изменяются, каким образом сохраняют силу существующие данные — старый заказ должен открываться и читаться после обновления точно так же.
- Реализация в среде разработки, отделённой от эксплуатации, в собственной рабочей ветви кода, под управлением версиями: каждое изменение имеет автора, дату и описание и может быть отменено.
- Рецензирование изменения до включения в основную ветвь: корректность, безопасность, совместимость, читаемость.
- Обновление документации и переводов (румынский, русский, английский) для любого изменения, видимого в интерфейсе, — вместе с кодом, а не после него.
1.4. Тестирование
- Автоматические тесты, выполняемые при каждом изменении: механизм расчёта цены, правила для макетов, серверные проверки, а также статическая проверка типов и стиля кода.
- Ручное функциональное тестирование в среде разработки и в демонстрационном магазине (на условных данных), в поддерживаемых браузерах и на мобильных устройствах.
- Регрессионное тестирование критических сценариев перед выпуском: каталог → калькулятор → корзина и макет → оформление → оплата в тестовом режиме платёжного провайдера → заказ в панели управления → статусы и уведомления → документы.
- Проверка миграций данных на копии данных, когда изменение затрагивает их структуру или значение, с заранее подготовленной процедурой отката.
1.5. Демонстрация и подтверждение
Видимые изменения, а также изменения, запрошенные типографией, демонстрируются до выпуска в демонстрационном магазине и демонстрационной панели управления (Живое демо). Замечания собираются, после чего принимается решение: выпуск, доработка или отказ. Когда это возможно, типография, запросившая функцию, подтверждает её на своём реальном случае до того, как функция становится доступной всем пользователям.
1.6. Внедрение и эксплуатация
У этой стадии две стороны.
Внедрение в новой типографии (запуск) сопровождается разработчиком и включено во все тарифные планы. Обычный путь занимает две недели: договор и доступ к панели управления, с менеджером внедрения, который остаётся рядом вплоть до первого заказа; импорт каталога и формул цены из таблиц, которые типография уже использует, с их проверкой самой типографией; дизайн, контент и перенос магазина на домен типографии; тестовые заказы, оформляемые командой типографии, — от оплаты до доставки; запуск и оповещение существующих клиентов. Требования к вводу в эксплуатацию перечислены в документе Функциональные характеристики, глава 02.
Выпуск новой версии в эксплуатацию происходит без каких-либо действий со стороны пользователей и без остановки продаж: новая версия собирается на сервере, пока текущая версия продолжает обслуживать запросы, переключение происходит только после успешной сборки, а если сборка завершается неудачей, текущая версия остаётся нетронутой. Крупные изменения выпускаются вне часов пиковой нагрузки магазинов; срочные исправления — в любое время. После выпуска проверяются ключевые страницы и сценарии, в первые часы отслеживаются журналы событий и метрики, а администраторы магазинов информируются — как правило, заранее, до выпуска, — когда изменяется порядок работы. Предыдущая версия остаётся доступной для отката. Публичная документация обновляется вместе с версией; в каждой главе отображается дата последнего обновления.
1.7. Совершенствование продукта
Совершенствование ведётся непрерывно, на основании замечаний типографий, собственной эксплуатации и развития рынка, согласно процессу, описанному в главе 04.
1.8. Сбор и устранение неисправностей
Неисправности выявляются посредством мониторинга и журналов событий, по обращениям типографий и их клиентов, а также в ходе проверок после каждого выпуска; они классифицируются по критичности и устраняются согласно процессу, описанному в главе 03.
1.9. Вывод из эксплуатации
Прекращение использования типографией. Подписка не имеет минимального срока; по требованию типографии:
- подтверждается дата прекращения и определяется, какие данные экспортируются;
- предоставляется экспорт данных — клиенты, заказы, продукты и файлы — в стандартных форматах (CSV, Excel, PDF и сами файлы), до прекращения доступа;
- прекращается доступ к сайту и к панели управления; домен принадлежит типографии и может быть направлен ею на другой сайт;
- экземпляр и его данные удаляются из систем разработчика по истечении срока хранения, предусмотренного политикой конфиденциальности; документы, в отношении которых существуют законодательные обязательства по архивированию, остаются у типографии — благодаря экспорту, выполненному на шаге 2.
Вывод функции или интеграции из продукта производится с предварительным уведомлением администраторов магазинов, с указанием альтернативы и с сохранением исторических данных: старые заказы остаются читаемыми, со значениями, действовавшими на момент их оформления.
Прекращение существования продукта в целом, по решению разработчика, предполагает предварительное информирование всех пользователей, достаточный срок для экспорта данных и помощь при экспорте; ни один экземпляр не останавливается без того, чтобы его данные были предоставлены типографии.