Минимизация ошибок с помощью прогрессивной доставки

Минимизация ошибок с помощью прогрессивной доставки

5 апреля 2022 г.

Поскольку пользователи жаждут новых версий и новых функций своих любимых приложений, разработчики программного обеспечения испытывают все большее давление, чтобы выпускать обновленные приложения все в более короткие промежутки времени. Однако, когда разработчики кодируют быстрее, они, естественно, склонны совершать больше ошибок, которые могут испортить пользовательский опыт и нанести ущерб цифровой репутации бренда, поскольку клиенты делятся негативными отзывами. Сколько бы времени у разработчиков не было на каждый релиз, запустить безошибочное приложение невозможно, так как некоторые баги неизбежны. Так как же предприятия ускоряют выпуск приложений, сохраняя при этом качество приложений?


Прогрессивная доставка — это метод разработки программного обеспечения, который позволяет организациям быстро выпускать обновленные приложения, сохраняя при этом качество и сводя к минимуму вероятность появления ошибок, наносящих ущерб стабильности приложения. Традиционная доставка приложений не позволяет разработчикам выполнять более быстрые выпуски приложений, не приводя к большему количеству ошибок кодирования, но прогрессивная доставка разработана специально для поддержки этой новой парадигмы.


Поэтапное развертывание, пометка функций и экспериментирование


Есть три ключевых особенности прогрессивной доставки. Первичный это:


  • Поэтапное развертывание: приложения сначала выпускаются только для избранного сегмента пользователей — часто наиболее продвинутых и активных пользователей, чьи действия обеспечат наилучшие отзывы, — а затем выпускаются для более широкой аудитории. Это позволяет инженерам оптимизировать приложение, выявляя и исправляя ошибки до того, как они повлияют на всю пользовательскую базу. Поэтапный подход к развертыванию, по сути, является определяющим аспектом прогрессивной доставки приложений, позволяя разработчикам выпускать небольшие и более частые обновления приложений, чтобы пользователи могли быстрее получать новые функции, не подвергая большинство из них ошибкам.

Две вторые особенности прогрессивной доставки подпадают под понятие поэтапного развертывания:


  • Пометка функции: Флажки функции используются для включения или отключения определенных функций для подмножества пользователей, что снижает риск за счет управления развертыванием новой функции для ограниченной аудитории для отслеживания ее влияния. Например, возможно, только один процент пользователей видит новую функцию в первый день. Затем, если все пойдет хорошо, десять процентов увидят эту функцию на следующий день и так далее.

  • Эксперимент: Проверка работы различных функций во время разработки приложения. Это может быть простое A/B-тестирование или оно может содержать несколько вариантов, чтобы можно было выбрать вариант, который оказывает наилучшее влияние. Например, можно поэкспериментировать с разными стилями кнопки регистрации, чтобы увидеть влияние на конверсию, а затем использовать наиболее удачный стиль в общем развертывании.

Прогрессивная доставка по сравнению с традиционной доставкой


Благодаря поэтапному развертыванию, пометке функций и экспериментам прогрессивная доставка поддерживает более быстрые выпуски и более высокое качество приложений. Что касается скорости, то при традиционном подходе большинство обновлений приложений имеют широкий охват и могут включать в себя несколько важных новых функций. В результате эти обновления занимают больше времени и появляются реже — примерно раз в 2–3 месяца. При прогрессивной доставке каждое обновление приложения имеет более узкую направленность и включает меньше важных новых функций. Это означает, что обновления приходят быстрее и могут отправляться пользователям каждые несколько дней. Вместо того, чтобы месяцами ждать новой версии приложения, пользователи могут получать новую функцию каждые несколько недель.


Прогрессивная доставка также обеспечивает лучшее качество и стабильность приложения. В традиционной доставке приложений тестирование и обеспечение качества выполняются на этапе подготовки к производству. Предполагается, что любые серьезные ошибки кодирования будут обнаружены до того, как эта новая версия будет выпущена для широкой публики. Но, как отмечалось выше, невозможно обнаружить все ошибки до того, как приложение будет выпущено, так как некоторые ошибки станут видны только тогда, когда они начнут влиять на реальных пользователей. Когда новый выпуск становится доступным для всех одновременно, эти ошибки могут повлиять на всю клиентскую базу. Затем инженерам приходится изо всех сил пытаться выявить и исправить эти ошибки, но ущерб пользовательскому опыту уже нанесен.


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


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


Балансирование более быстрых выпусков и качества приложений


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


С ускорением цифровой трансформации приложения стали важнее, чем когда-либо. После COVID клиенты все чаще потребляют продукты и услуги (как B2B, так и B2C) через веб-приложения и мобильные приложения. И с этой растущей зависимостью от приложений растут и ожидания: сегодня пользователи ожидают более быстрых выпусков приложений, дополненных новыми функциями, без необходимости жертвовать качеством или стабильностью приложений. Организации должны внедрить прогрессивную доставку, чтобы приспособиться к клиентам в этой новой среде.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE