загрузка страницы
 

Лоскутная автоматизация, или как управлять "зоопарком" программ

Николай Лисин, руководитель отдела разработки, компания ИТРП

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

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

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

"Зоопарк" или "гигантомания" – истина посередине и немного сбоку

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

Здесь имеет смысл раскрыть понятие "сущностей", имеющихся в каждой автоматизированной системе. Любая программа оперирует сущностями и их данными. Примерами таких сущностей могут быть "Номенклатура", "Склад", "Запасы", "Остатки товарно-материальных ценностей", "Основные средства", "Сотрудник", "Производственное подразделение", "Касса", "Единица оборудования", "План продаж", "Контрагент", "Кредиторская задолженность" и т. д. Сущности могут быть связаны между собой: например, касса тесно связана с взаиморасчетами и сотрудниками, но никак не связана с производственным оборудованием (если речь идет не о системе торговой организации).

При решении о внедрении информационной системы предприятия необходимо учитывать ряд известных "аксиом" автоматизации:

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

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

В качестве иллюстрации бизнес-процессов, которые обычно автоматизируются, на рис. 1 показана "нервная система" предприятия. Даже если не пытаться проанализировать все изображенные здесь связи, можно оценить сложность схемы. Участки бизнес-процессов предприятия переплетены в очень тесный клубок, и такие же связи должны быть реализованы в автоматизированной системе. Причем взаимосвязей в системе гораздо больше, чем участков работ (прямоугольников на схеме).

Взаимосвязь бизнес-процессов предприятия
Рис. 1. Взаимосвязь бизнес-процессов предприятия

Чем же руководствоваться специалистам компании при выборе стратегии автоматизации? Внедрение локальных программ оправдано, если:

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

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

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

Срок жизни "зоопарка" программ

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

Области задач, решаемых комплексной информационной системой
Рис. 2. Области задач, решаемых комплексной информационной системой

Рассмотрим типичную ситуацию с автоматизацией учета и управления на предприятиях, ИТ-системы которых развивались эволюционно, начиная с времен появления первых доступных средств создания ИТ-инфраструктуры в конце 1990-х гг. Автоматизированная система (АС) в такой ситуации включает в себя несколько разрозненных программ и баз данных, обмен данными между которыми постепенно отлаживался силами собственного ИТ-персонала компании. Большая часть таких программ – это уникальные заказные, либо ПО собственной разработки, либо типовые решения с доработками, обычно достаточно глубокими. На сопровождение такой АС тратятся существенные силы местной команды ИТ-специалистов. Сопровождение, помимо сиюминутных доработок по пожеланиям пользователей, включает выполнение регламентов обслуживания системы, регламентов обмена, трансформации и синхронизации данных между различными базами. Бухгалтерия в такой ситуации в лучшем случае ведется с использованием типового решения фирмы "1С", и если глубокие доработки не практикуются, это приводит к стабильности системы регламентированного учета. Доработки действующего ПО при этом, как правило, не носят системного характера, поскольку направлены на удовлетворение текущих пожеланий пользователей как можно меньшими средствами.

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

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

В итоге несистемные решения и доработки приводят к постепенному разрушению целостности действующего ПО. Это касается любого программного продукта, особенно тех, которые решают экономические задачи (учет, управление), независимо от качества исходной системы. Разрушение целостности работающего на предприятии ПО – это объективный процесс, который приводит к ограниченности срока жизни любой действующей системы автоматизации. По статистике, срок жизни автоматизированной системы, решающей экономические задачи, – не более 5–7 лет. Разрушение целостности системы сказывается на качестве ее функционирования и ощущается пользователями; страдает качество (согласованность, детальность), оперативность, достоверность получаемой информации. Развитие системы, добавление в нее новых функций затрудняется и сопровождается сопротивлением отдела ИТ. При этом ПО на платформе "1С:Предприятие" обладает большей степенью "живучести", так как открытость кода позволяет быстро выполнять необходимые доработки. Однако и разрушение таких систем может происходить быстро.

Вместо заключения

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

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

Опубликовано на сайте BYTEmag.ru.