
Глядя на текущее состояние дел в области подходов к автоматизации потоков работ (Workflow) не могу избавиться от ощущения, что здесь есть нечто, до сих пор ускользающее от внимания и практиков, и исследователей.
С одной стороны, есть BPM, эффективно действующий там, где есть процессы с устоявшимся и четко определенным порядком действий.
С другой – ACM, который отказывается от фиксации последовательности действий в пользу фиксации требований, предъявляемых к результату.
С третьей – есть машины бизнес-правил (BRMS), которые занимают промежуточную позицию: даже если нельзя полностью охватить последовательность действий от начала до конца бизнес-процесса, то можно автоматизировать хотя бы ту часть правил, которую удалось строго зафиксировать.
С четвертой – есть управление проектами (PM), когда с уникальностью процессов борются на этапах планирования и проектирования, предваряющих работы по каждому вновь начинаемому проекту.
Каждый из этих подходов имеет свои достоинства и недостатки. Но даже взятые вместе, они еще не охватывают достаточно эффективно всех условий, в которых могут существовать бизнес-процессы.
По-прежнему остается открытым вопрос: существуют ли модели, подходящие для автоматизации потоков работ там, где нет ни повторяющихся конкретных целей, ни фиксированного порядка работ, ни ресурсов, чтобы тщательно планировать работы для каждого экземпляра бизнес-процесса?
Известно, что для автоматизации обязательно должен быть повторяющийся устойчивый компонент. А что если в качестве такого компонента взять элементарные «строительные блоки» бизнес-процессов – операции? Одной из таких попыток является сервисно-ориентированная архитектура (SOA). Хотя и тут для организации сервисов в потоки работ почти всегда скатываются в итоге к классическому представлению - Workflow.
Но есть ведь и другие варианты. Например, если позаимствовать идеи из конструктивизма, то можно предложить такое направление: операции объединяются в потоки работ не на основе фиксированных статичных схем, а на основе конструктивных правил, задающих способ динамического построения схемы, подходящей для данного места и времени.
Если сравнивать с упомянутыми выше моделями, то отличия будут такими:
● В BPM схемы задаются статически, а здесь – динамически;
● В ACM гибкость обеспечивается решением пользователя, а здесь – системой;
● Правила BRMS не дают представления о порядке действий, хотя и задают его неявно, а здесь – у каждого экземпляра процесса есть явно заданная схема.
● В PM планирует пользователь, а здесь – система.
Выглядит слишком хорошо, чтобы быть правдой. Чем же за это придется заплатить?
Во-первых, таких систем еще нет.
Во-вторых, существующие в теории модели конструктивного построения схем на данный момент слишком сложны для того, чтобы выносить их на уровень бизнес-аналитика.
В-третьих, для таких систем затруднен статический анализ системы бизнес-процессов, поскольку схемы возникают лишь на этапе исполнения, а на этапе проектирования их еще нет.
На мой взгляд, все перечисленные проблемы – разрешимы. Правда, затрудняюсь с оценками: насколько полно и за какой период времени? А может быть есть и еще какие-то интересные альтернативы?
Изображение взято с сайта http://www.wannalearn.com/