Существует множество статей и дискуссий на тему внедрения технологий Mobile DevOps и их интегрирования в текущие процессы. Более того, сейчас можно найти информацию о том, как эффективно и выгодно использовать этот ресурс в контексте компании/бизнеса. Однако, разговоров на тему ПОЧЕМУ мобильный DevOps может принести большую пользу компаниям, стремящимся к полной интеграции IT и других операционных взаимодействий с их бизнес-целями, не так много.


Почему стоить отдать предпочтение Mobile DevOps и каковы главные приоритеты?


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


Mobile DevOps сокращает время до выпуска релиза?


Как упоминалось выше, Mobile DevOps — это инструмент для улучшения взаимодействия нескольких команд если процессы не налажены должным образом в рамках Waterfall-планирования/каскадной модели разработки продуктов/Waterfall практик. Но, на самом деле, Mobile DevOps — это нечто большее. Это набор практик, сочетающих разработку программного обеспечения и IT-операции, который позволяет компаниям обмениваться информацией между командами и другими участниками, а, также, значительно сократить время от стадии разработки проекта до его выпуска.


image


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


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


Mobile DevOps не только экономит время, но и более эффективно использует ресурсы


Быстрое внедрение фич, новая сборка и обновления становятся доступными только тогда, когда операционная среда (разработка, стейджинг, выпуск) стабильна и работает как часы. Этот момент сам по себе уже делает процесс разработки мобильных приложений гораздо более продуктивным и позволяет максимизировать преимущества для бизнеса.


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


Mobile DevOps способствует улучшению качества приложений


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


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


Что касается качества приложений и улучшения пользовательского интерфейса — создание корпоративных приложений ничем не отличается от создания приложений, ориентированных на индивидуального пользователя. Однако, процесс разработки и запуска корпоративных приложений может немного быть более комплексным/сложным. Те же самые инструменты и методы, как правило, используются в таком случае как для тестирования разработки (инструменты непрерывного интеграционного тестирования такие, как Jenkins, инструменты автоматизации тестирования и т.д), так и для опытной эксплуатации/испытаний в рабочих условиях (мониторинг нативных приложений, например, BitBar Monitoring, облачные приложения и приложения по контролю качества). И пускай флоу работы Mobile DevOps может меняться, можно отследить схожие тренды в использовании похожих друг на друга приложений, обладающих аналогичными функциями.


Инструменты Mobile DevOps обладают огромным набором функций


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


Безусловно, это прекрасно, что в наше время существует так много доступных и качественных инструментов, но в этом есть и свой недостаток — не каждое из таких приложений будет стабильно функционировать в процессе разработки, где все вся цепочка (разработка, тестирование и запуск) должна функционировать поступательно, увеличивая продуктивность. Большинство используемых инструментов и процессов Mobile DevOps, составляющих ядро этого механизма, обеспечивают непрерывную интеграцию, запуск и внедрение приложений. Частью этого процесса является использование инструментов автоматизации релиза/запуска, которые могут помочь с упаковкой и внедрением приложения от стадии разработки до производства.


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


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


Mobile DevOps поможет избежать уязвимые места


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


  • Нестабильные процессы в среде/средствах разработки. Средства разработки — это используемые инструменты, платформы, аппаратное и программное обеспечение. Во многих случаях именно мобильный DevOps отвечает за поддержание или техническое/сервисное обслуживание рабочего процесса в целом, а также его отдельных компонентов.
  • Ручные вмешательства. Когда рабочая среда спланирована под полную автоматизацию, любые настройки вручную неизбежно ухудшат ситуацию. Как правило, любые ручные вмешательства могут быстро привести к ошибкам (совершенными людьми) и исказить ход всего рабочего флоу/процесса.
  • Стабильность и зрелость рабочего процесса. Как говорится в старой пословице “где тонко, там и рвется”. Это напрямую применимо к процессу разработки программного обеспечения. Если вы используете инструменты или методы, которые не развивают продукт и отвлекают от фактического процесса разработки (и управления) — вы вряд ли достигнете результатов, к которым стремитесь.
  • Интеграция "старого" и "нового" пути. У каждой организации есть свой подход к решению разного рода вопросов. И если рабочий флоу обновляется, часто компании пытаются перетащить старые стратегии на новые процессы. Согласно множеству исследований, именно это является самым главным фактором, препятствующим внедрению Mobile DevOps и, как следствие, получению преимуществ, которые он предлагает.
  • Отсутствие операционной практики. Переходя на использование Mobile DevOps, компаниям нужно будет переключиться на абсолютно новый подход в организации рабочего процесса/операционной практике. Новый подход к разрешению проблем теперь будет проявляться в гибкости, прозрачности и максимальной эффективности в решении каждой задачи.
  • Процесс тестирования вручную (или "старомодный вариант"). Тестирование и контроль качества являются критически важными в разработке максимально качественных приложений с уникальными и инновационными функциями. “Что-то работает не так, как ожидалось” — это результат, который мы обычно пытаемся избежать чего бы нам это не стоило.
  • Конкуренция/Несогласованные действия и отсутствие права собственности. Это довольно распространенные проблемы, особенно для крупных организаций, где не каждому известно кто ответственен за процесс в целом, кто за какие-то определенные части и кто это может разъяснить. Налаживая Mobile DevOps процессы в вашей компании, стоит сразу решить вопрос права собственности и границ ответственности.

Итак, хорошо ли ваша организация адаптирована к практике и культуре мобильного DevOps? Поддерживает ли ваша инфраструктура масштабирование? Делитесь своими комментариями!

Комментарии (3)


  1. Ar0x13
    02.08.2021 10:03
    +1

    Судя по статье Mobile DevOps = devops для mobile app testing? если да, то это не совсем верно - эта методология применима не только к mobile, но и ко всему остальному, а потому как такового Mobile DevOps - нет, есть только DevOps практики и методология. А где они используются - роли не играет.


    1. ReDev1L
      03.08.2021 23:06

      Слишком bold


      1. Ar0x13
        04.08.2021 10:44

        сорян - с мобильного писал, и не увидел:(