- Принципиально процесс не меняем, но проводим локальную оптимизацию на отдельных его участках с учетом использования новых ИТ-инструментов, которые раньше были нам недоступны
Например, рассмотрим задачу планирования заявки на производство. У многих компаний этот процесс выстроен в Excel. В реальности параметров, которые влияют, например, на прогноз отгрузок, и которые мы хотели бы учитывать, порядка 10. При этом в Excel мы можем учесть всего 2-3 параметра. Соответственно при автоматизации такого процесса, когда у нас уже выделены все роли, в т.ч. планировщика, не менять принципиально порядок протекания процесса, но на каждой отдельной точке за счет использования новой ИТ-системы поменять исполнение функций, обогащая ее.
- Существенно пересматриваем процесс, проводя организационные изменения с выделением новых ролей. Начинаем делать то, что раньше не делали в принципе, а что-то делать перестаем
Обычно такие проекты автоматизации происходят в поддержку организационных изменений. Например, когда компания выделяет торговый дом. Есть два предприятия, которые занимаются обслуживанием клиентов. На каждом из них есть выстроенные процессы обработки заказов. Когда выделяется торговый дом, процессы начинают меняться: появляются новые люди, новые роли, процесс начинает протекать по-другому. То есть мы автоматизируем то, чего не было до момента построения системы автоматизации.
На пересечении этих двух параметров у нас появляется 9 вариантов проекта, под которые мы должны выбирать свою систему подготовки требований.
А какие виды подготовки требований существуют, если наложить их на те параметры, о которых ты сейчас рассказал?На основе 16 лет практического опыта автоматизации мы выделяем три вида подготовки к проекту:
- Подготовка функциональных границ
Это модель подготовки к проекту, которая находится наиболее близко к так популярному в последнее время Agile-подходу. Я против Agile ничего не имею, но часто его начинают использовать там, где его использовать не надо, как часто бывает с новыми инструментами. Однако, даже в проектах автоматизации бизнеса Agile тоже возможен.
Сюда подойдет случай, когда мы автоматизируем одно подразделение и несколько задач либо без изменений, либо с локальной автоматизацией. Тот же трейд-маркетинг. Или клиентский сервис в режиме смены одной платформы на другую: компания работает на «1С:УТ 10» и хочет перейти на «1С:УТ 11», либо на нашу коробку «ERP4FOOD», и на первом этапе нужно перенести процессы один в один. В таких случаях достаточно очертить границы проекта и не заниматься глубоким описанием, как должен выглядеть целевой порядок. Потому что, либо задача небольшая, и нам понятно – как будут протекать эти процессы, либо мы понимаем, как переносить существующий функционал, и когда в процессе проекта возникает какой-то вопрос, просто смотрим на то, как это работает сейчас.
В таких проектах достаточно описать функциональные границы:
- что является информационным входом задач проекта, а что выходом,
- какой список функций мы берем в работу,
- принципиальные требования к каким-то отдельным функциям или экранным печатным формам, которые мы хотели бы зафиксировать как требования к проекту.
Принципиально мы описываем границы, а дальше уже идем по Agile – делаем первую версию результата, показываем его, смотрим, что в нем отклоняется от виденья заказчику, корректируем, идем в следующую итерацию. Такой подход имеет право на жизнь, но еще раз хотелось бы подчеркнуть, что он применим в том случае, когда мы решаем либо локальную задачу, либо задачу с минимальным отклонением от того, как эти процессы работают сейчас. А также если у нас в команде есть достаточный уровень доверия как на стороне исполнителя, так и на стороне клиента.
- Подготовка функциональных требований
Этот подход применим в проектах, которые, как правило, затрагивают несколько подразделений. И при этом мы хотим автоматизировать не просто то, как это есть сейчас, а хотим выполнить хотя бы локальную оптимизацию.
Когда мы автоматизируем клиентский сервис или производство, в этих проектах даже если иногда на входе клиент говорит, что хотел бы просто из одной системы перенести в другую (старая система не поддерживается, не обновляется, большое количество историзмов, с производительностью проблемы), в реальности переход один к одному делается редко. Всегда возникает желание: если уж тратить ресурсы на проект, то логично выполнять как минимум локальную оптимизацию.
В таких проектах не просто расставляются функциональные границы, а происходит фиксация функциональных требований, которые заключаются в том, что сначала мы определяем границы предметной области на более верхнем уровне. Предметная область делится на список разделов, которыми она будет описана в конкретном проекте. В этом же клиентском сервисе: как мы принимаем заказы, ценообразование, как мы подготавливаем документы для выписки – это все как отдельные разделы.
Кроме того, что есть вход выход, определяются еще информационные границы между этими разделами. Каждый раздел – это, как правило, один процесс или набор взаимосвязанных процессов. Соответственно мы должны описать карту этих процессов – то, как они будут протекать.
Один элемент карты процессов – это одна функция, требования к которой будут зафиксированы. Причем как требования относительно функциональности данных задач, так и требования к их техническому обеспечению. Здесь у нас уже появляется такое что-то более похожее на техническое задание. (Я, кстати, термин «техническое задание» принципиально нигде не употребляю, потому что он очень заезженный, и под ним все понимают свое. В данном случае это функциональные требования).
Важно также правильно определить, кто должен готовить эти требования. Если для подготовки функциональных границ нам достаточно иметь квалифицированного функционального заказчика, то подготовка функциональных требований – это уже техническая история. Здесь нужен системный аналитик. Человек, который глубоко понимает систему как взаимосвязь элементов и способен на этапе формирования требований отсечь те вещи, которые нет смысла формализовывать, потому что они потом будут неисполнимы. Но так как принципиально не предполагается каких-то бизнесовых изменений, а мы все-таки опираемся на то, что это сохранение общей логики процесса в локальной оптимизации за счет использования ИТ-инструментов, то здесь работает именно системный аналитик, а не бизнес-аналитик.