Румянцев Константин, Директор ООО "Софтоматика"
В этой статье пойдет речь о концепциях построения ERP-систем на предприятиях, а именно имитационной и аддитивной, причем под ERP-системами будем понимать не столько планирование именно ресурсов, сколько создание корпоративной информационной системы на предприятии.
Для чего вообще нужны концепции?
Попробуем ответить на этот вопрос другим вопросом: каким Ваше будет предприятие через 10 лет? Какие свойства ERP системы будут тогда востребованы? В общем, никто не сможет четко ответить на задачу с такой отдаленной перспективой. При этом предприятие должно быть уверено, что и в отдаленном будущем имеющееся у него программное обеспечение (ПО) будет способствовать развитию бизнеса, и только такое ПО востребовано. Так вот, для того, чтобы конструировать систему, в т.ч. для целей, которые неясны, и задач, появление которых мы не можем предвидеть, и существуют концепции.
Пример: Начинаем автоматизировать маленькое предприятие, в нем три человека, один компьютер. Количество клиентов - 10, наименований товара - 20. Вопрос - какую архитектуру данных выбрать? Обратимся к концепции. Во-первых, определимся, что предприятие будет развиваться (т.е. мы его не закроем через месяц). Во-вторых, отрасль, в которой мы сейчас работаем - это тысячи наименований, хотя на данный момент у нас всего 10 (например, мы продаем исключительно мыло, видов мыла у поставщика может быть 100, ну 200 максимум, однако, если смотреть шире - зубная паста, щётки, гели и т.п., что называется хозтоварами, а это уже десятки тысяч наименований). Следовательно, исключить то, что мы будем представлять весь ассортимент, мы не можем так же как нельзя исключить, что со временем предприятие превратится в большую структуру. Тогда добавляем в концепцию постулат, что наша ERP-система должна поддерживать произвольное количество наименований товара и рабочих мест, плюс должна быть нетребовательна к сети. Иначе, как создавать филиалы, если каждый из них потребует прокладки высокоскоростной сети на многие километры? Теперь очевидно, что самая подходящая архитектура - Клиент-Сервер. Вот и решение!
Рассмотрим внимательно, что мы сейчас сделали. Сперва мы определили некие общие параметры, которые присущи или будут в присущи будущем нашей системе (концепция), затем приняли решение относительно конкретного вопроса (выбрали архитектуру данных). В дальнейшем, во время решения конкретных задач, мы должны будем применять такие методы, которые бы не противоречили концепции. Заметьте: мы уже решаем задачи, о которых еще ничего не знаем.
Имитационная концепция: имитирует реальное строение предприятия.
ERP системы, построенные в рамках имитационной концепции, повторяют (имитируют) реальное строение предприятия с выделением модулей, соответствующих отделам. Например, плановый, финансы, бухгалтерия, склад, продажи, логистика и т.п. Модули пишутся как отдельные задачи для автоматизации конкретных отделов, затем обмениваются необходимыми данными дабы увязать все в единую систему.
Аддитивная концепция: информационная система дополняет человека (отсюда и название - аддитивная).
В этом случае ERP системы строятся таким образом, что первоочередной задачей становится корректный сбор данных. Здесь задача разбивается на подзадачи в другой плоскости: корректный сбор данных, их правильное устройство и хранение, вывод данных и их анализ, предоставление информации в таком виде, который позволяет человеку легко принимать правильные решения (обратная связь). Понятно, что в этом случае информационные потоки существенно упорядочиваются. Принцип "Если данные устроены правильно, они могут быть выбраны любым желаемым образом" является основополагающим.
Как ведет себя энтропия при росте системы?
Давайте отвлечемся и посмотрим, для чего человек (человечество) все более специализируется и почему большие системы менее устойчивы, чем малые.
Во-первых, базовым понятием для систем вообще является ЭНТРОПИЯ, мера беспорядка. Чем выше организация, тем меньше энтропия. Критерием организованности является следующее определение: уровень организации тем выше (а энтропии тем меньше), чем больше свойства целого отличаются от простой суммы свойств. Т.е., если труд организован (энтропия минимальна), то два человека, работающие вместе, сделают больше, чем оба, но работая по отдельности. С этой самой энтропией мы и намерены бороться.
Во-вторых, основным средством для уменьшения энтропии является ИНФОРМАЦИЯ. Приведем пример: на складе есть товар, но продавцы не имеют информации об остатках на складе. Нет информации - нет отгрузок, система не работает, хотя и кладовщики, и продавцы готовы выполнить свои обязанности.
В-третьих, человек, существо хоть и разумное, но склонное к ошибкам. Оказывается, что корректно выполнить 100 простых операций проще, чем одну, но в 100 раз более сложную. Это свойство человека и заставляет людей специализироваться, а предприятия состоять из отделов, ибо быть специалистом по маркетингу еще можно, и то в какой-нибудь отрасли, а вот быть одновременно специалистом по маркетингу, документообороту и управлению очень трудно, даже невозможно.
В-четвертых, люди способны работать с ограниченным набором данных (объектов). В среднем, человек нормально воспринимает 5-9 объектов. Если объектов больше, человек гораздо чаще ошибается. Применительно к ERP-системам, это означает, что интерфейс пользователя должен содержать как можно меньше окошек с данными, опираясь на которые пользователь принимает решение.
Пример: Пусть предприятие продает леденцы. Пришел покупатель, говорит: вот деньги, хочу леденцов на 50 тыс. руб. Продавец видит остаток на складе и, если товара достаточно, то он отгружается; если товара нет, об этом сообщается клиенту, и как-то этот вопрос улаживается - это нормальная работа. Если же продавец видит остаток на складе на 1 число текущего месяца и движение по данному товару за две недели, то чтобы принять решение об отгрузке он должен будет вычесть всё, что напродавал он сам и его коллеги за эти две недели и прибавить то, что пришло за это время на склад. Представьте, сколько места на экране должны занимать все эти цифры! Причем продавцу придется вычислять количество леденцов либо в уме, либо на калькуляторе, но в любом случае, количество ошибок возрастёт многократно. Заметим, что и в первом и во втором примере информация, в общем, эквивалентна, но человеку гораздо проще работать, если все представлено в удобном виде.
Итак, мы выяснили, что люди организовываются в группы (системы) для того, чтобы их деятельность была более эффективной. Сложную задачу разбивают на более узкие и простые и эти подзадачи выполняют специалисты в своей области. Для того, чтобы каждый человек корректно выполнял работу на своем участке, ему необходима информация о состоянии дел во всей организации или её части. И, наконец, чтобы снизить ошибки, информация должна быть представлена в максимально удобном виде.
Теперь посмотрим, что происходит, если человеческая система начинает укрупняться. Представим одного рабочего. Допустим, он ошибается крайне редко и выпускает 1 бракованную деталь к машине на 1000 не бракованных. В общем, мелочь. Но как только узлов в машине становится порядка 1000, и их так же делают рабочие с таким же процентом брака, то окажется, что в каждой машине что-нибудь, да не работает. Этот пример говорит о том, что если такая система увеличивается, её энтропия тоже возрастает, и нужно принимать меры к её уменьшению. Иначе система просто умрет - кому нужны 100% бракованных машин?
Применительно к аддитивной и имитационной концепциям.
Посмотрим, как все это относится к нашим концепциям.
Имитационная. Предположим, есть абсолютно неавтоматизированное предприятие, оно состоит из отделов, сотрудники обмениваются бумажками, считают на калькуляторах и т.п. Вот мы решили автоматизировать это предприятие исходя из имитационной концепции. Для этого мы выясняем, что делает каждый отдел, и, таким образом, получаем некоторый набор задач по количеству отделов, которые и решаем. Хочу четко обозначить, что мы понимаем под словом "отдел". Совсем не обязательно, что это будет именно ОТДЕЛ, в том понимании, как это принято на предприятиях. Это могут быть и несколько отделов, и группы людей в разных отделах и подразделениях. Важно, чтобы была возможность сгруппировать задачу таким образом, чтобы при автоматизации предприятия она разбивалась на подзадачи. К примеру, если в предприятии 10 складов, то пишется 1 модуль под названием "Склад", ибо он решает задачу складского учета.
Как такая автоматизация влияет на работу предприятия?
Конечно, в определенной степени энтропия системы уменьшается. В первую очередь, за счет того, что компьютер - не человек, ему все равно, сколько цифр сложить (это не совсем так, но предположим, что у нас очень быстрый и стабильно работающий компьютер) и как долго хранить. Но посмотрим, как ведет себя информация в имитационной концепции: отделы не могут работать обособленно, и если раньше они обменивались бумажками, то теперь эту роль взяли на себя информационные потоки между модулями системы. По сути, энтропия перераспределилась в эти потоки. Если они хорошо налажены, система работает хорошо, энтропия уменьшилась, информации достаточно, чтобы принять правильное решение. И тем не менее...
Напоминаю, речь идет о человеческой системе. Причем это открытая система, которая завязана на состоянии рынка, поставщиках, клиентах, законодательстве, конкурентах и т.п. При таком количестве воздействий система не может быть не изменяться. Это значит, что налаженный вчера поток данных между модулями системы сегодня уже будет недостаточен и приведет не к уменьшению, а увеличению энтропии. Этот поток и так-то очень трудно наладить, всем знакома проблема со слабыми связями модулей ERP-систем, вплоть до того, что данные из одного модуля заносятся в другой руками. Так к чему может привести постоянное изменение информационных потоков?! Как видим, в имитационной концепции уменьшение энтропии на начальном этапе проектирования привело к её перераспределению в информационные потоки между модулями и к дальнейшей нестабильной работе системы.