Главное не результат, главное процесс

BPM-блог Анатолия Белайчука

Уровни процессного мышления

Брюс Силвер обубликовал в своем блоге заметку о трех уровнях BPMN: “BPMN’s Three Levels, Reconsidered“. (Это продолжение темы, начатой ранее: “Three Levels of Process Modeling with BPMN“.) Исходя из своего двухлетнего опыта преподавания BPMN, Брюс замечает, что многие студенты (чуть ниже он даже говорит о “большинстве”) просто хотят документировать, анализировать и усовершенствовать свои процессы и не интересуются исполняемыми моделями. Брюс называет это первым уровнем использования BPMN. Второй уровень охватывает также моделирование потока заданий, пригодное для непосредственного исполнения внутри BPMS, включая логику переходов, исключения, события, пересылку сообщений (процессная хореография подразумевается, хотя и не упоминается).

Но проблема ли это BPMN?

Мне нравится фраза на обложке новой книги Марка МакГрегора “Winning With Enterprise Process Management” (свободно скачивается на markmcgregor.com):

…процессное мышление принимает разные формы: BPM, непрерывное усовершенствование процессов, шесть сигм, бережливые шесть сигм, реинжиниринг бизнес-процессов и другие…

Марк прав: дело в мышлении. В процессном мышлении. В разных видах процессного мышления, чтобы быть точными.

Помните время, когда объетно-ориентированное программирование еще только изобрели? Было замечено, что дело не в языках программирования. Если вы ухватили идею, вы можете писать объектно-ориентированные программы хоть на Фортране (и кое-кто это делал, когда еще не было приличных компиляторов C++). И конечно можно писать на 100% функциональный код на C++ (что многие и делают).

Также в это время было замечено, что гораздо легче научить C++ новичка, чем опытного программиста на C. Причина заключалась в том, что в первом случае речь идет об инсталлировании определенного мышления (в данном случае объектно-ориентированного), а во втором - о смене типа мышления. Последнее оказалось намного труднее.

Сейчас я сталкиваюсь с абсолютно тем же у тех, кто пытается понять что такое BPMN (BPM, BPMS - не важно). Те, кто занимается бизнес-процессами годами и накопили опыт в реинжиниринге, ISO9000 и т.п., не могут взять в толк - что такого крутого в исполняемых моделях процессов? Они всегда считали, что исполнение - это “детали реализации”, что-то о чем должны беспокоиться ИТ-шники. Некоторые из них приходят в настолько сильное раздражение, что говорят или пишут, что в BPM нет ничего нового, что это чистый маркетинг, что это “зонтичная концепция” и т.д.

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

Возвращаясь к теме тренинга BPMN - Брюс использует для своих занятий Process Modeler for Microsoft Visio by itp commerce. Это могло бы быть отличным выбором - высокая степень совместимости с BPMN, богатые возможности имитационного моделирования (simulation) - но в нем нет исполнения. А объяснить что такое исполнение при помощи слов и слайдов невозможно - это надо видеть.

Когда мы это поняли несколько лет назад, мы записали и опубликовали простой демо-ролик, показывающий моделирование и исполнение средствами BPMS. И многие сказали “спасибо”, потому что это помогло им понять концепцию непосредственно исполняемого процесса, вне зависимости от используемой BPMS.

Поэтому, Брюс, чтобы больше людей переходило с первого на второй уровень, надо показывать им как модель исполняется средствами BPMS и как моделирование и исполнение делаются итеративно. Не следует оставлять это подразумеваемым и нельзя предполагать, что люди и так это знают. Потому что, по Вашим же собственным словам, большинство из них этого не знает, а это - ключевое предположение, на котором основывается BPMN.

08.12.08 | Отклики |    

Комментарии (22)

  1. Alexander Samarin 08.12.08 20:57

    I think, before “moving” people from Level 1 to Level 2 and further, we have to ARCHITECT all these levels — it is not nice to invite people into a chaotic place.

    Such architecting should be done from CUSTOMER position, but not from VENDOR position.

    Thanks,
    AS

  2. Anatoly Belychook 08.12.08 21:33

    Alexander

    So there will be architects and ordinary people? Not my phylosophy, sorry.

    An idea (inspiration, belief, logos) is always first, artefacts are just derivatives. Every man “moved” contributes.

    Process is everything, destination is nothing :)

  3. Alexander Samarin 09.12.08 00:39

    Anatoly,

    I didn’t say that.

    By definition, architects work for a client (including “ordinary people” in this case).

    Thanks,
    AS

  4. Anatoly Belychook 09.12.08 08:48

    Alexander, thank you for the comments and sorry for getting you wrong. I didn’t mean to push a particular vendor. My point is: anyone who wants to be professional in process management must have a hands-on experience with some BPMS. Any of them - there are more similarities than differences. Unfortunately many of “process people” today (majority according to Bruce) don’t have such experience and don’t even realize they should. Customer’s and vendor’s position - isn’t it a kind of hen and egg problem? You shouldn’t narrow your vision by one particular offering indeed. But if you are building something real than you can’t ignore current state of technology and build it with a future tool of your dream.

  5. Alexander Samarin 09.12.08 09:54

    Sure, we have to be pragmatic — my point is that even the biggest bosses of this planet understood that building of the right thing must
    start from its architecture (G20 discussed “financial architecture”). Organise chickens to provide a better stream of better eggs?

    Thanks,
    AS

  6. Anatoly Belychook 09.12.08 13:57

    Let’s consider the “architectural architecture” instead of financial.

    When I want to build a house I hire an architect first. Yet many people don’t - they rely on their own creativity and on engineer’s knowledge of construction technologies and materials. This is no good: you may have a dozen of brilliant design ideas but for sure there will be one or two really bad ones that will lead to disaster. A professional architect would never make them. An engineer (like an IT vendor) will look for a fast, reliable and hassle-free way to build your house. Will you feel comfortable with it? Not his problem.

    This is your point if I got it right. No objections of course. The only problem is to find a good IT architect - the enterprise architecture is a new discipline so it’s harder than finding a good “architectural architect” which isn’t an easy task either.

    My point: any architect should be familiar with modern construction technologies and materials. It’s a problem sometimes because technologies and materials progress rather fast. So if you hire an obsolete man he won’t develop the best project. I can witness that many IT architects are not aware of what they can get from today’s best BPMSes. This makes them obsolete and negatively affect architectures they develop. BPMN Training if taken alone can’t help - this is expected and this is what Bruce observes.

  7. bas 10.12.08 23:29

    Анатолий,

    М.б. Вы и правы продвигая идею BPM. Т.к. я люблю сравнивать разработку ПО со строительством, то пришла такая идея. Когда не было всяких 3Д графики, то после проектирования сложного здания далали его макет, чтобы лучше представлять - что же получится. Как появилась 3Д графика, то модель строят уже в специализированных программах. Так наверное и с БПМ, БМН - это бизнес архитектура, а исполняемая модель - уже макет.

    И вроде бы все хорошо, но встает следующий вопрос - если я хочу исполнять модель, то я должен покупать дорогущий инструмент для этого. А для моделирования БП я, например, ща использую полнофункциональную программу ЕА за 200 дол. для моделирования на ЮМЛ, БПМН + управление требованиями . Так могу ля использовать движок БПМ с моим любимым средством?

  8. bas 10.12.08 23:59

    Анатолий,

    Кстати, Брюс говорит об исполняемых моделях только на 3ем уровне, а не как ты пишешь.

  9. Anatoly Belychook 11.12.08 11:07

    По поводу русского и английского.

    1) А что, нормально когда весь мир обсуждает профессионально-ИТшные темы по английски, а русские устраивают междусобойчик в своем углу? Причем “весь мир” - это не фигурально. Я был в немецкой компании, был во французской - везде рабочий язык английский.

    2) Вот я написал отклик. На блоге у Брюса появилась обратная ссылка. По ней ходят люди (сверяюсь по статистике): из Штатов, из Германии, из Японии, из Бельгии… И что они должны видеть - что тут какие-то угрюмые русские что-то непонятное обсуждают на своем непонятном языке?

    3) Что касается Самарина, то ему по-английски подозреваю писать на профессиональные темы проще, чем по-русски (не надо подыскивать термины), и к тому же у него на рабочем месте нет клавиатуры с русской раскладкой.

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

  10. Anatoly Belychook 11.12.08 11:40

    Мне больше нравится другая аналогия: BPMS - это конструкторский софт, сопряженный со станком с ЧПУ (CAD/CAM, а не просто CAD).

    Можно использовать любую программу, да хоть на бумаге карандашом рисовать - дело не в этом, а в том, чтобы понимать что из нарисованного может быть исполнено хотя бы в принципе, а что нет. Люди в том же ARIS рисуют такие диаграммы… когда делаешь из них что-то исполняемое, просто камня на камне не остается, схема меняется до неузнаваемости.

    Причем я не против EA - наоборот, полностью “за”. Сегодня ситуация такова, что ни EA не заменяют BPMS, ни наоборот. Надо использовать и то, и другое, но по назначению. Что означает: в EA выполнять только высокоуровневое моделирование - связь процессов между собой и с другими артефактами. Но не опускаться на уровень детализации отдельного процесса - все равно ничего путного не получится, это надо делать средствами BPMS.

    А слухи о дороговизне BPMS “несколько преувеличены”. Если речь идет о моделировании и об исполнении “в песочнице”, а не в промышленно-корпоративном масштабе, то полно бесплатных вариантов.

  11. Julia Wagner 16.12.08 15:58

    If you are drawing analogies in this case the architect should design not only one house (process), but a building area (enterprise arcitecture). At this stage the architect does not detail each building separately, but he projects the general infrastructure and its communication with an external world. I think that it is the first level (without BPMS). As Anatoly has told, BPMS - it is already detailed elaboration level.
    (Oh, Anatoly, I speak Russian better! :)))

  12. Dafna Levy 26.12.08 18:52

    Your relating to EA reminded me of a quote I’ve read, something like:
    “Every organization has an architecture, even if it doesn’t have electricity…”
    Which means, (for me), that there is a big difference in the position and role of architects,
    as opposed to the house situation described above. Therefore a totally different approach might be needed.
    Although I appreciate the benefits of BPMN, I tend to think we might look at an organization as a person,
    with it’s uniqueness. Like a human being, they share the same “physiological systems & needs”, but each needs
    its own special solutions. Too much standardization might ignore this uniquness.

    Dafna

  13. Anatoly Belychook 30.12.08 22:17

    Dafna

    Thank you for your input.

    You raised an interesting set of questions: does an organization have an architecture if they even don’t have an idea about what is it? Is it correct to say that every organization has business processes - even if what they have are only chaotic, ad-hoc, non-repeatable and non-documented ones? Should we call “level 0″ processes (according to the process maturity model) - processes?

    It reminds me the old Russian army joke:
    Soldier: sergeant, are crocodiles able to fly?
    Sergeant: of course no!
    Soldier: but our colonel has said they are?
    Sergeant: really? OK, crocodiles can fly but only at very-very low altitude! :)

    “Naturally-grown” architectures and business processes are like “low-flying crocodiles” for me.

    As for uniquieness and standartization, the ultimate (and ideal) goal of process management probably should be:
    1) we identify and divide all our processes to those we want to excel on and those we don’t
    2) we utilize BPM on the former to develop unique processes that will outperform our competitors and use best practices and packaged solutions for the latter
    3) at the end, we outsource the processes we don’t care much about and become outsourcesers for the processes that we execute better than others

  14. Dafna Levy 02.01.09 11:15

    Anatoly,

    I like your response.. definitely agree with you. I guess we are “on the same page”. But the challenge is to introduce
    these perspectives and the relevant methodologies to organizations. Seems like the lack of “process orientation” or “process-thinking” is still a “global problem”.
    It amazes me to encounter managers and decision makers that still don’t know what is really a “business process”.
    BPM is also considered a “UFO”…
    I have just uploaded to Slideshare a relevant presentation with guidelines by Alec Sharp which I find to be very helpful and practical..
    http://www.slideshare.net/dafnal/alec-sharp-process-traction-presentation/

    Thanks,

    Dafna

  15. Anatoly Belychook 02.01.09 20:47

    Dafna - You are right, most people (including not only business men but also business consultants) don’t really understand what business processes are. Alec makes it very clear so thank you for the valuable link.

    But I came to the conclusion some time ago that introducing process thinking is loosing your own time. BPM is a different paradigm really. And one would only switch his paradigm if he was looking for certain ideas himself.

    So I make presentations on conferences and public seminars but never come to an existing customer to say “look, I want to share some new ideas with you, it’s about business processes”. I only meet with an organization if they alread got an interest in business processes and/or BPM. The good news is that more and more business people do become interested in process management every day.

  16. Александра 25.11.09 13:00

    Анатолий, такой вопрос. Скажите, а пере[jд от уровня 2 к уровню 3 как выглядит? Программист садится и начинает писать код для реализации диаграммы? Или BPMN предоставляет какие-то интрументы для автоматической генерации работающего кода?

  17. Anatoly Belychook 25.11.09 13:43

    Александра

    BPMN - это нотация, она не может предоставлять какие-то инструменты. Инструмент это BPMS - Business Process Management Suite, или BPM-система.

    “Программист садится и начинает писать код” - это традиционный подход, существующий десятки лет. Можно при этом рисовать схему в BPMN вместо IDEF, но к BPM это не будет иметь отношения. Не будет быстрого замкнутого цикла моделирование-исполнение-анализ-усовершенствование.

    В случае BPM/BPMS есть два варианта:
    1) автоматическая генерация кода, например из BPMN в BPEL
    2) непосредственно исполняемая диаграмма

    Эти два подхода подробно разбирает Кейт Свенсон, настоятельно рекомендую его статью: http://bpms.ru/library/articles/preserving-vs-transforming/index.html Мне лично больше импонирует второй подход.

  18. Александра 25.11.09 14:05

    Правильно ли я понимаю, что недостаток первого пути — некорректная генерация кода, который надо ещё проверять и дорабатывать, а второго — необходимость всё время обращаться к программисту при необходимости изменить или уточнить бизнес-процесс?

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

  19. Anatoly Belychook 25.11.09 14:24

    Не совсем так. Основной недостаток первого пути в том, что программист вносит ручные правки в сгенерированный код, а аналитик при этом продолжает исправлять диаграмму, и как потом объединить те или и другие правки - непонятно. (Есть и более тонкие материи, связанные с возможностями анализа, изменения процесса “на лету” и другие, но это основное.)

    Цель BPM не в том, чтобы полностью избавиться от программиста. Это невозможно и не нужно. Цель в том, чтобы а) не автоматизировать не до конца понятые или заведомо неоптимальные процессы, б) иметь возможность вносить в процесс определенного вида изменения (не любые!) без участия программиста.

    Системы, которые позволяют если не достичь, то приблизиться к этой цели, конечно есть. Но они очень сильно различаются по используемым технологиям, по сложности, по функциональности, по цене. Если Вас интересуют топовые системы, то я могу порекомендовать Oracle, Lombardi. Доступные по цене - Unify, ELMA. Условно-бесплатные JBPM, Runa WFE.

    Для компании какого масштаба нужна система, для каких задач?

  20. Александра 25.11.09 14:39

    Меня интересует не покупка промышленного решения, а техническая реализация этих решений.

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

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

    Не октаз от услуг программиста. А такая схема, где программист реализует то, в чём он специалист (функции, обращения, модули), а не сложную финансовую или иную логику, о которой он мало знает (только из схемы и разговоров с аналитиками, руководителями или специалистами других областей). А чтобы специалисты, в свою очередь, работали исключительно с теми понятиями, которые нужны им и могли не думать о том, что там есть переменная, которую надо хранить и передавать, например.

  21. Anatoly Belychook 25.11.09 14:44

    Может быть Вам лучше попробовать сделать что-то своими руками при помощи одной из перечисленных BPMS? Уверяю, это даст больше пользы и понимания предмета, чем рассуждения.

  22. Александра 25.11.09 20:45

    С некоторыми из перечисленных вами систем я знакома, про остальные читала (кроме, пожалуй, Lombardi). И, насколько я знаю, ни одна из них не решает проблему, которую я рассматриваю (автоматическая генерация рабочего кода на ходу сразу после создания диаграммы). С этого угла мало кто смотрит, и поэтому вопрос, вероятно, кажется странным и умозрительным. Многие вообще считают, что такой проблемы нет: «Посадим программиста и он нам реализует всё что скажем, главное — схему нарисовать». Этот аспект слишком тонкий и специфический, поэтому он не фигурирует в обычных маркетинговых презентациях. Но, тем не менее, затраты на преодоление семантического разрыва напрямую влияют на эффективность системы управления проектами, которая использует графическое моделирование.

    Спасибо за ответы.

Комментирование закрыто

Copyright © 2008-2024 Анатолий Белайчук. Спасибо Wordpress и Yahoo.  Контент  Комментарии