Что значит управление жизненным циклом приложений (ALM)?
Обновлено: 18 ноября 2024
В жизненном цикле приложения или программного обеспечения происходит много событий.
Допустим, у компании есть идея продукта. Однако прежде чем стать продуктом, идея должна пройти через определенные этапы – планирования, выдвижения требований, разработки, оценки, тестирования, эксплуатации и сопровождения программного обеспечения. Для эффективного взаимодействия команд и стандартизации процессов используется скоординированное управление жизненным циклом приложения (Application Lifecycle Management).
В этой статье мы узнаем, что такое ALM, почему оно так важно, рассмотрим его 3 ключевых аспекта, инструменты и сравним с SDLC.
Что такое ALM?
Определить понятие ALM не так-то просто. Эксперты, разработчики, вендоры придерживаются совершенно разных точек зрения. Тем не менее, ALM – важная тема, и поэтому понимание того, что она включает в себя, крайне необходимо.
Управление жизненным циклом приложений (ALM) – «зонтичный» термин, охватывающий несколько различных дисциплин, которые традиционно считались отдельными – управление проектами, требованиями, процессом разработки, тестированием и обеспечением качества (QA), а также поддержка клиентов и оказание ИТ-услуг во время эксплуатации приложения.
Когда разработчики поняли, насколько эффективной может быть работа интегрированных команд, совместно определяющих требования, планирующих релизы и спринты, тестирующих продукт в процессе разработки и беспрепятственно внедряющих последние обновления, прежние раздельные инструменты потеряли смысл. По сути, ALM объединил дисциплины (связанные со всеми аспектами процесса поставки ПО) и обеспечил единую среду для взаимодействия команд на протяжении всего жизненного цикла программного продукта.
Три аспекта ALM
ALM можно разделить на три отдельные ключевые зоны: управление, разработка и эксплуатация.
Рисунок 1 иллюстрирует это, показывая каждый из трех аспектов в виде самостоятельной горизонтальной линии.
Жизненный цикл приложения, как и жизнь человека, состоит из значимых событий. Все начинается с идеи. После создания приложения наступает следующее важное событие – развертывание, когда приложение переходит в стадию эксплуатации. И наконец, когда приложение перестает приносить пользу бизнесу, оно завершает свою работу и выводится из эксплуатации.
- Управление, включающее в себя все процессы принятия решений и ведения проектов по созданию и поддержки приложения, охватывает весь этот период.
- Разработка, то есть процесс создания приложения, происходит в период от идеи до развертывания. Для большинства приложений процесс разработки повторяется еще несколько раз в течение жизни приложения – как при обновлении, так и при создании совершенно новых версий.
- Эксплуатация, работа, необходимая для запуска и поддержки приложения, – обычно начинается незадолго до развертывания и непрерывно продолжается до завершения поддержки.
Каждая из этих трех областей важна, и поэтому каждую стоит рассмотреть подробнее.
Управление
В ALM цель управления заключается в том, чтобы убедиться, что приложение всегда соизмеримо с поставленными целями для бизнеса.
Первым шагом в управлении ALM является разработка бизнес-плана. Как показано на
Рисунке 2, этот анализ проводится до начала процесса разработки. После его утверждения начинается разработка приложения, и управление теперь осуществляется через управление портфелем проектов. В некоторых организациях обычно прикрепляют проджект-менеджера к команде разработчиков.
Управление – единственный аспект, который распространяется на весь временной интервал жизненного цикла. Во многих отношениях это самый важный принцип ALM. Если неправильно подойти к нему, не удастся приблизиться к достижению максимальной ценности приложения для бизнеса.
Разработка
Хотя приравнивать ALM к процессу разработки программного обеспечения не совсем верно, разработка, безусловно, является фундаментальной частью жизненного цикла каждого пользовательского приложения.
После утверждения бизнес-плана начинается жизненный цикл разработки приложения. Если мы расширим части SDLC по отношению к линии разработки, показанной на
Рисунке 3, то современный процесс, вероятно, будет представлять собой разработку в виде серии итераций, каждая из которых включает в себя определение требований, дизайн, саму разработку и тестирование.
Когда процесс SDLC для первой части приложения завершен, приложение развертывается. Однако для большинства приложений развертывание не означает окончание разработки. Вместо этого приложение нуждается в периодических обновлениях, как показано на рисунке, и, возможно, в одном или нескольких полных SDLC для создания новых версий.
Эксплуатация
Каждое развернутое приложение должно контролироваться и управляться. На
Рисунке 4 показаны некоторые из важных частей этого операционного процесса.
Как и в случае с управлением, линия эксплуатации тесно связана с линией разработки. Например, планирование развертывания, скорее всего, начинается незадолго до завершения работы над приложением, а сам факт развертывания – фундаментальная часть операций. После развертывания приложения его необходимо контролировать на протяжении всего срока службы. Аналогичным образом, каждое обновление приложения должно быть развернуто после его завершения, как показано на рисунке.
Все три аспекта ALM – управление, разработка и эксплуатация – тесно связаны друг с другом. Их успешное выполнение является обязательным требованием для любой организации, которая стремится максимально повысить ценность пользовательского программного решения для бизнеса. Но достичь этой цели не так-то просто, ведь каждую из трех составляющих достаточно сложно реализовать самостоятельно, а добиться правильного сочетания еще сложнее.
Какие этапы включает в себя ALM?
Несмотря на то, что специфика работы может меняться от проекта к проекту, некоторые общие этапы ALM все же остаются неизменными:
- Определение требований: первый этап процесса, на котором необходимо определить все, что требуется от приложения. Этап включает в себя сбор требований к управлению, бизнес-потребностям, особенностям пользовательского интерфейса. Для их формирования часто используется иерархическая древовидная структура: в основе – общие потребности, которые далее «разбиваются», становятся все более конкретными по мере продвижения этапов структуры вниз.
- Оценка и планирование: прежде чем приступить к работе над проектом, важно определить, сколько времени будет затрачено на выполнение тех или иных задач и кто будет ими заниматься.
- Разработка: после согласования требований и составления плана действий необходимо приступать к разработке приложения, которая может происходить по разным методологиям, начиная от Agile, Waterfall и заканчивая Scrum, Kanban.
- Тестирование и QA: иногда этот этап частично пересекается с этапом разработки в зависимости от используемой методологии, но при этом имеет решающее значение для ALM и создания качественного продукта. Тестировщики оценивают, насколько приложение соответствует требованиям, установленным на начальном этапе, а также соответствует ли производительность, безопасность, интеграция ожиданиям заинтересованных сторон.
- Развертывание: наконец, продукт выпускается для пользователей, а этот этап – необходимый аспект, который варьируется от проекта к проекту и от организации к организации. План развертывания также зависит от типа приложения: будь то веб-приложение для широкого доступа или предназначенное для установки на внутренние серверы компании.
- Текущая поддержка и сопровождение: довольно часто компании пренебрегают финальным этапом в рамках ALM, однако он является решающим – особенно в условиях, когда программное обеспечение должно быть адаптировано к текущим проблемам клиентов или обновлениям. Несмотря на свою потенциальную непредсказуемость, этот этап обычно остается наиболее продолжительным в цикле, обеспечивая качество и долговечность вашего продукта.
Существует большая вероятность того, что работа над каким-то из этапов проекта может неожиданно остановиться. В таких случаях необходимо принимать правильные решения – ALM объединяет ресурсы и процессы в единый бизнес-процесс, что способствует контролю и быстрому реагированию на отклонения в любом из этапов жизненного цикла.
Этапы управления жизненным циклом приложений помогают компаниям достичь высокой эффективности и обеспечить системный выпуск высококачественных программных продуктов и решений.
Важность инструментов ALM
Платформы или системы ALM помогают обеспечить эффективное взаимодействие всех команд по трем аспектам - управление, разработка и эксплуатация. Работа со всеми тремя аспектами является обязательным требованием для любой организации, которая стремится максимизировать бизнес ценность пользовательского программного обеспечения. Но достичь этой цели нелегко. ALM инструменты должны быть интегрированы как по горизонтали, так и по вертикали, чтобы взаимодействовать в единой цифровой среде.
Платформа автоматизации SimpleOne и платформенные бизнес-решения помогают создать единую цифровую среду для управления всем жизненным циклом приложения. Например, SimpleOne SDLC - система для управления разработкой ИТ-проектов и SimpleOne ITSM автоматизирует ИТ-поддержку во время эксплуатации программного продукта
ALM и SDLC
В современную эпоху ИТ-технологий скорость и качество – главное, на что ориентируются компании по всему миру. Каждая организация хочет достичь невероятных уровней производительности, а для этого нужно быть «сверхзвуковой», чего можно добиться, управляя своим программным обеспечением изнутри. Именно здесь на помощь приходят такие процессы, как управление жизненным циклом приложений (ALM) и жизненным циклом разработки программного обеспечения (SDLC).
Обычно ALM сравнивают с SDLC. Однако, не стоит путать два этих термина, ведь ALM – гораздо больше, чем просто SDLC. ALM – более комплексный процесс управления всем жизненным циклом программного продукта, а SDLC все-таки – часть процесса ALM. ALM охватывает весь цикл: от первоначальной идеи до окончания срока службы, а SDLC – только этапы разработки приложения.
Заключение
Объем мирового рынка программного обеспечения для управления жизненным циклом приложений (ALM) составил 465,1 млн. долларов США в 2021 году и, по прогнозам, достигнет 1078,35 млн. долларов США к 2031 году, демонстрируя CAGR на 8,7% в течение прогнозного периода.
Спрос на ALM-инструменты растет из-за стремления к повышению эффективности работы бизнес-команд и стандартизации процессов создания и поддержки приложений и решений. В связи с расширением платформ и браузеров по всему миру множество программ и приложений нуждаются в комплексном управлением всем жизненным циклом программных продуктов.