Разработка ПО
Во многих организациях, использующих информационные технологии, существует деятельность по разработке информационных систем. В общем случае её можно представить как следующий порядок этапов (шагов, процессов):
Этой деятельностью организации управляют для того, чтобы получить больше ценности и возможностей при меньших затратах. Типичные запросы, поступающие на вход этой цепочки (потока):
- Изменение программного обеспечения (например, изменение или создание новой функциональности в программном обеспечении).
- Реализация изменений с помощью инструментов no-code или low-code, то есть через конфигурирование имеющихся информационных систем (например, добавление атрибутов к объекту какой-либо ИТ-системы, включая модификацию пользовательского интерфейса, экранных и печатных форм).
- Реализация изменений путём переобучения или дополнительного обучения ранее созданных языковых моделей (например, изменение потребительских характеристик чат-бота через обучение его на новом массиве данных).
При этом поступающие запросы могут быть как простыми (например, одна пользовательская история), так и комплексными (эпик, требующий декомпозиции). Кроме того, запросы могут быть изолированными (ничего не требуется, бери и делай) и взаимозависимыми (невозможно сделать данный запрос, пока не будет выполнен какой-либо другой запрос).
Управление изменениями
Также во многих организациях, использующих ИТ, определена и формализована деятельность по управлению изменениями. Её можно в общем случае представить так:
Организации управляют изменениями для того, чтобы снизить риски (так нам рассказывал ITIL 2 и ITIL v3), а также чтобы увеличивать долю успешных изменений при заданных качестве и скорости (так учит ITIL 4). Примеры запросов на изменение включают:
-
Изменение исключительно аппаратного обеспечения (например, установка дополнительного модуля памяти в физический сервер, замена диска в системе хранения данных).
-
Изменение характеристик виртуальных сред (например, изменение объёма доступного дискового пространства виртуального сервера, создание виртуального кластера).
-
Реализация изменений через конфигурирование инфраструктуры (например, подключение нового узла к системе мониторинга).
Запросы на изменение также могут быть простыми (бери и делай), а могут быть сложными (требующими проектирования решения, декомпозиции на отдельные задачи). Запросы могут быть независимыми от других изменений и работ, а могут быть взаимосвязанными (данное изменение требуется для других изменений или зависит от других работ).
Это точно разное?
Традиционно два этих процесса в организациях различны. Они имеют разных ответственных и разные регламенты. Отчасти это обусловлено тем, что все основные источники знаний и лучших практик (ITIL, COBIT, ISO 20000) с начала 2000-х годов описывают их как отдельные процессы. При этом условный ITIL исторически близок к управлению инфраструктурой (а потому делал акцент на управлении изменениями, а не разработкой ПО), а методологии разработки ПО исторически мало что содержат про управление изменениями. Два мира, два процесса.
Тем не менее, у них много общего – даже слишком много:
- Схожая суть того, что приходит на вход. Фактически, на вход поступает потребность в изменении чего-либо. Способ изменения (через ПО, через “железо”, через комбинацию того и другого) вторичен.
- Практически идентичная суть того, что на выходе – изменение в среде эксплуатации. Большое или маленькое, простое или комплексное, не важно.
- Одинаковая суть первых трёх этапов обработки: анализ/проектирование, реализация/выполнение, тестирование/валидация. Разница лишь в четвёртом этапе, развёртывание/тиражирование. Этот этап, как правило, требуется для распространения изменений в ПО и редко необходим для выполнения запросов на изменение.
- Сильно совпадающая цель деятельности – реализация ценности через изменение среды эксплуатации.
- Идентичный набор метрик, как связанный с процессом (скорость, объём работы), так и с результатом (доля неуспешных изменений или дефектов).
- Одинаковые особенности, связанные с декомпозицией: комплексные запросы приходится разбивать на составные части.
- Так же одинаковые особенности в области взаимозависимостей и связей: запросы могут быть связаны как между собой, так и с другими запросами.
Последний пункт особенно интересен. Не секрет, что для части запросов на разработку ПО требуется выполнение каких-либо запросов на изменение (например, добавление вычислительных мощностей в инфраструктуру, чтобы мог нормально работать следующий разработанный блок функциональности). Некоторые передовые компании имеют практику явного выделения в комплексных запросах на разработку ПО той части, которая связана с изменениями технологических возможностей и ресурсов (technical enablers и подобное).
Как сделать в РИТМе?
Сейчас активно идёт разработка РИТМа – рациональной ИТ-методологии. Предлагается в процессной модели РИТМа описывать и регламентировать оба вида деятельности как единый поток создания ценности.
Следствия такого решения:
- В РИТМе не будет описано отдельного процесса управления изменениями, совсем. Все изменения (как ПО, так и инфраструктурные), будут описываться и реализовываться через единый производственный поток.
- Нюансы отдельных видов изменений (кодирование; low-code/no-code; настройка инфраструктуры; апгрейд сервера) могут быть описаны внутри четырёх этапов, приведённых выше (анализ/проектирование, разработка/настройка, тестирование/валидация/приёмка, распространение/тиражирование).
Так как это важное архитектурное решение, то архитекторы и авторы РИТМа решили провести исследование. Что об этом радикальном предложении думают профессиналы управления ИТ?
Заполните, пожалуйста, короткий опросник. Ваше мнение имеет значение!
Если по какой-то причине форма выше не отображается, то перейдите, пожалуйста, по ссылке.
Благодарю за участие!
По опыту анализа первого десятка ответов могу сообщить следующее:
1. Наиболее полезны ответы, имеющие аргументацию. Просто “да” или “нет” – интересно, но почему?
2. Уже появились очень интересные новые для нас аргументы. Спасибо!
3. Если вы хотите стать автором или экспертом, не забывайте указывать контакты! Иначе вас не найдут.