Выступление Максима Цепкова, нашего главного архитектора дирекции развития решений, на ежегодной конференции CEE-SECR – 2016 (29 октября 2016 года, Москва).
По материалам сайта подготовлена и отпечатана в типографии брошюра для широкого круга разнообразованных пользователей "Основы бережливого производства" с внутренним глоссарием "Атлантис-Пак"
Разработка пользовательских элементов управления в WPFCUSTIS
Открытый семинар для студентов в компании CUSTIS (20 июня 2013 года).
Лектор: Павел Музыка, ведущий разработчик (С#, SQL), сертифицированный разработчик Microsoft (MCTS, MCPD, MCITPro).
Аннотация: WPF — это система построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем. С помощью WPF можно создавать широкий спектр как автономных, так и браузерных приложений. Из семинара вы узнаете об особенностях создания и кастомизации пользовательских элементов управления в Windows Presentation Foundation.
Видеозапись выступления: https://vimeo.com/69144418.
UI тестирование WPF приложений в Дойче БанкеGoSharp
Мы расскажем о техническом решении для тестирования WPF приложений в Дойче Банке, использующем простую технику DLL-иньекции.
Поймем, что можно легко тестировать UI без библиотеки Microsoft UI Automation и даже напишем свой собственный подобный мини-фреймворк.
Выступление Игоря Беспальчука, нашего руководителя проектов, на профессиональной встрече CUSTIS Meetup: Микросервисы в Enterprise (16 марта 2017 года, Москва).
По материалам сайта подготовлена и отпечатана в типографии брошюра для широкого круга разнообразованных пользователей "Основы бережливого производства" с внутренним глоссарием "Атлантис-Пак"
Разработка пользовательских элементов управления в WPFCUSTIS
Открытый семинар для студентов в компании CUSTIS (20 июня 2013 года).
Лектор: Павел Музыка, ведущий разработчик (С#, SQL), сертифицированный разработчик Microsoft (MCTS, MCPD, MCITPro).
Аннотация: WPF — это система построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем. С помощью WPF можно создавать широкий спектр как автономных, так и браузерных приложений. Из семинара вы узнаете об особенностях создания и кастомизации пользовательских элементов управления в Windows Presentation Foundation.
Видеозапись выступления: https://vimeo.com/69144418.
UI тестирование WPF приложений в Дойче БанкеGoSharp
Мы расскажем о техническом решении для тестирования WPF приложений в Дойче Банке, использующем простую технику DLL-иньекции.
Поймем, что можно легко тестировать UI без библиотеки Microsoft UI Automation и даже напишем свой собственный подобный мини-фреймворк.
Выступление Игоря Беспальчука, нашего руководителя проектов, на профессиональной встрече CUSTIS Meetup: Микросервисы в Enterprise (16 марта 2017 года, Москва).
Золотая лихорадка MSA: почему нам не подошли микросервисы?CUSTIS
Выступление Юрия Веретельникова, сооснователя и технического директора Solit Clouds, на профессиональной встрече CUSTIS Meetup: Микросервисы в Enterprise (16 марта 2017 года, Москва).
Опыт построения микросервисной архитектуры в цифровом банкеCUSTIS
Выступление Андрея Солощака, ведущего архитектора «Бинбанка», на профессиональной встрече CUSTIS Meetup: Микросервисы в Enterprise (16 марта 2017 года, Москва).
ITGM#8 Максим Цепков Process and Case management: совмещай и властвуй!SPbCoA
На ITGM#8 Максим Цепков рассказал про совмещение подходов process- и case-management при моделировании бизнес-процессов с большим количеством ответвлений, требующих принятия решений на месте.
Выступление Максима Цепкова, нашего главного архитектора дирекции по развитию решений, на конференции Software Project Management Conference (26 ноября 2011 года, Москва).
Бизнес-процессы. Что это? От чего зависят ? Как их изобразить, чтобы всем было понятно о чем идет речь. Нельзя автоматизировать то, что не понятно как выполняется. Эффективность от данной работы начинается проявляться уже на стадии описания, потому что при описании Вы понимаете сами, как протекают у Вас процессы.
Международная научно-практическая конференция International Conference on Big Data and its Applications (ICBDA) выросла из мероприятия Big Data Russia и проводится один раз в год, объединяя на одной площадке создателей новых технологий в области больших данных, представителей бизнеса, а также научных сотрудников и молодых ученых.
Организаторы: Rusbase и Global Innovation Labs.
Организаторы ICBDA благодарят Data-Centric Alliance (DCA) за поддержку мероприятия, а также отдельное спасибо Artox Media и NVIDIA.
Выступление Владимира Рахтеенко, нашего генерального директора, и Германа Алексеева, ИТ-директора ГК «Спортмастер», на Неделе российского ритейла (7 июня 2017 года, Москва).
Будущее уже наступило: от Agile к бирюзовым организациямCUSTIS
Выступление Максима Цепкова, нашего главного архитектора дирекции развития решений, на форуме «Дни PR и маркетинга на Юге» (1 июня 2017 года, Ростов-на-Дону).
Диаграммы учета как средство для наглядного и целостного отображения правил у...CUSTIS
Выступление Максима Цепкова, нашего главного архитектора дирекции развития решений, на конференции «Соколовские чтения «Бухгалтерский учет: взгляд из прошлого в будущее» (22 апреля 2017 года, Санкт-Петербург).
От монолитных моделей предметной области — к модульнымCUSTIS
Выступление Максима Цепкова, нашего главного архитектора дирекции развития решений, на World Information Architecture Day (18 февраля 2017 года, Санкт-Петербург).
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыCUSTIS
Выступление Артема Казакова, директора по маркетингу Retail Rocket, на бизнес-завтраке «К 2017 готовы: продвинутые инструменты маркетинга для интернет-магазинов» (13 декабря 2016 года, Москва).
This document summarizes Adam Sitnik's presentation on .NET performance. It discusses new features in C# 7 like ValueTuple, ref returns and locals, and Span. It also covers .NET Core improvements such as ArrayPool and ValueTask that reduce allocations. The presentation shows how these features improve performance through benchmarks and reduces GC pressure. It provides examples and guidance on best using new features like Span, pipelines, and unsafe code.
Опыт применения метода ATAM для оценки архитектурыCUSTIS
Выступление Игоря Беспальчука, нашего руководителя проектов дирекции архитектуры, на заседании русского отделения INCOSE (9 ноября 2016 года, Москва).
Видеозапись выступления:
https://vimeo.com/190918892
RBAC & ABAC: гибридное решение для управления правами доступаCUSTIS
Выступление Вячеслава Муравлева, нашего ведущего разработчика, на международной выставке InfoSecurity Russia (20 сентября 2016 года, Москва).
Видеозапись выступления:
https://vimeo.com/183804752
Омниканальная модель в ритейле: решения и кейсыCUSTIS
Выступление Петра Асратяна, директор программы модернизации информационных систем «Леруа Мерлен Восток», на конференции «IT в ритейле» (12 сентября 2016 года, Москва).
Process и Case Management в информационной системе: от автоматизации As Is к поддержке развития бизнеса
1. Process & Case Management
в информационной системе:
от автоматизации As Is
к поддержке развития бизнеса
29 октября 2016
Максим Цепков
Соучредитель и главный архитектор
2. Классический подход к организации бизнеса –
создание бизнес-процессов и поддержка их
информационной системой, Process Management
В любом процессе есть много особых случаев
Включение их как ветвей процесса ведет
к чрезмерной сложности процесса и софта,
поэтому особые случаи стремились исключить
Тренд персонализации влечет увеличение
количества особых случаев
О чем будет доклад
Решение: объединив Process и Adaptive Case
Management, обеспечить простоту и гибкость
Бонус – поддержка развития бизнеса
2/34
3. Для архитекторов – они проектируют
информационные системы для бизнеса
Для аналитиков – они определяют способы
поддержки бизнеса софтом
Для разработчиков, которым важно, чтобы
их софт реально помогал бизнесу
Для всех, кто считает ИТ партнером бизнеса
Для кого этот доклад
3/34
4. Ситуация заказа разработки
Оборот вырос, сбои в доставке стали чаще –
надо исправлять ситуацию
Планируется развивать бизнес, расширяя доступные
услуги, а ограничения системы позволяют сделать не все
Пример собран для доклада как хорошая
иллюстрация его тезисов на понятном кейсе
Рассказ будет о заказной разработке, но мы
применяем те же подходы для разработки
тиражируемых решений
Пример – интернет-магазин
4/34
6. Процесс обработки заказа
Заказ
Подтверждение
Сборка заказа
Курьерская
доставка
Доставка
в пункт
выдачи
Выдача
Покупатель оформляет
заказ на сайте
Звонок – подтверждение
оператора о наличии
товара и времени доставки
Сборка заказа на складе
Курьер доставляет в руках
или на своей машине
Отправка в пункт выдачи
и получение в нем
Кажется,
все просто
и понятно
6/34
8. Курьерская
доставка
З: Их назначает менеджер доставки.
А: OK, здесь вложенный процесс, а не один шаг…
А: А курьеров всегда хватает?
З: Да, мы знаем, сколько можно развезти,
и операторы это учитывают при подтверждении заказа.
З: Но бывает, что курьер заболел или заказ нужно
далеко везти, надо позвонить и перенести дату.
А: Менеджер звонит
и договаривается?
З: Нет, звонят операторы.
З: Если дату перенесли,
заказ не собирают.
А: Курьеров назначают
до сборки?
OK, перерисовываем…
Курьерская
доставка
Заказ
Подтверждение
Сборка заказа
Доставка
в пункт
выдачи
Выдача
Доставка
курьером
Назначение
курьеров
Уточнение
времени
А: Как заказы назначают курьерам?
8/34
9. З: Да, обычно это делают накануне.
З: И склад собирает заказы одного
курьера вместе.
З: Но о болезни курьеров становится
известно утром, заказы могут
перераспределять…
Заказ
Подтверждение
Сборка заказа
Доставка
в пункт
выдачи
Выдача
Курьерская
доставка
Назначение
курьеров
Уточнение
времени
Ранее логичный бизнес-процесс
теперь напоминает сеть, а контур
доставки уже не выделяется.
Но все-таки сложность приемлема
Уточнение
курьеров
А: Заказ курьерам назначают
до сборки?
9/34
10. А: А какие бывают сбои и проблемы в доставке?
З: Ну, это не совсем сбои, это особые ситуации, их надо обрабатывать.
Бывает, что покупателя нет на месте и мы договариваемся о новой дате
Бывает, что мы перепутали товар и надо доставить повторно правильный
Бывает, что везем несколько вариантов вещи и покупатель выбирает
Бывает, что у покупателя не хватило наличных, но он может заплатить
картой на сайте (сейчас это невозможно)
Бывает, что адрес или состав заказа изменяют после того, как
его собирали на складе, и надо поменять и передать другому курьеру
Бывает, что покупатель отказывается от части заказа или нашел дефект
и просит скидку, созваниваемся и согласуем – надо поменять сумму
в системе
З: И надо проверить, что курьер вернул весь недоставленный товар.
Каждая ситуация – отдельная ветка процесса!
Представление получили,
переходим к задачам разработки
10/34
11. Сейчас операторы звонят по каждому заказу, а мы хотим перейти
на СМС-уведомления в зоне, где риски невелики
Мы хотим попробовать такую схему: сопутствующие товары предлагает
не оператор, как сейчас, а курьер, представляя их покупателю на месте
Часть товара находится на выставках в пунктах выдачи, сейчас
за этим следят вручную, а надо, чтобы система об этом знала
Заказы в другой город доставляет почта или транспортная компания,
нужна специальная упаковка. Компания забирает со склада, а на почту
отвозим мы. Это надо поддержать в системе, мы будем развивать
такие продажи
Бывает, что у нас просят срочную доставку и готовы платить. Сейчас
это организуют вне системы, а мы хотим сделать услугу срочной доставки
Система должна позволять легко развивать процесс,
пробовать новые варианты
Это сейчас, а что будет развиваться?
11/34
12. Попытка учесть в бизнес-процессе все
ветви приведет к недопустимой сложности
Сложный софт не получится развивать
в требуемом для развития бизнеса темпе
Очевидна проблема
Ситуация типична для большого
количества корпоративного софта
12/34
14. Различаем основной бизнес-процесс
и исключения из него
Для основного процесса применяем подходы
Process Management
Для исключений – подходы Adaptive Case
Management
Решение
А что это такое?
14/34
15. Process Management вырос как способ
организации однородного труда за счет
разложения в конвейер простых операций
Adaptive Case Management появился в таких
отраслях, как медицина и юриспруденция,
где обслуживание персонализировано
и каждый случай отличается от других
Персонализация обслуживания смещает
акцент в сторону Case Management
Process and Case Management
Case Management – это
не Project Management
15/34
16. Основной процесс
Способ совмещения подходов
Исключения
АнализРешения
Возникновение
исключения
Продолжение
процесса
Возврат на предыдущие
этапы
Прерывание
Обработка исключений – это не процесс. Этапы
определяют форму, а не содержание
16/34
17. На любом шаге основного процесса
возможны исключения
Обработка исключений ведет
к «проталкиванию» процесса
или возврату на предыдущие шаги
При проектировании нужно определить
типы исключений
ожидаемую частоту
варианты результатов
Процесс и исключения
17/34
18. Процесс и исключения
в интернет-магазине
Заказ
по телефону
Заказ
Подтверждение
Сборка заказа
Доставка
в пункт выдачи
Выдача
Курьерская
доставка
Назначение
курьеров
Заказ
не получен
полностью
Доставка
по плану
невозможна
Заказ доставляем, но в другую дату
Заказ
отменяем
Покупатель
меняет заказ
Товар
с витрины
Схема процесса приняла обозримую форму
с небольшим количеством типов исключений 18/34
20. Их необходимо зафиксировать на этапе
бизнес-анализа
Формат Use Case, на первый взгляд, подходит: помечаем
альтернативные сценарии как исключения
Однако обработку исключений выполняют не те люди,
что ведут основной процесс
Поэтому лучше разделять описания, указывая в основном
процессе лишь наличие исключений
В архитектуре системы необходимо выбрать
уровень поддержки обработки исключений
и реализовать его
Исключения есть в любом процессе!
20/34
21. Минимальный – позволяет «протолкнуть»
исключения через систему
Средний – позволяет анализировать
исключения и достраивать бизнес-процесс
Глубокий – позволяет прозрачно
и качественно обрабатывать исключения,
используя Adaptive Case Management
Уровни работы с исключениями
Выбор уровня зависит от построения бизнеса
21/34
22. Обучаем BPM-движок
остановить экземпляр процесса
создать экземпляр процесса
в неначальном состоянии
вернуть экземпляр процесса на несколько шагов
или, остановив один, сделать копию в раннем состоянии
На эти функции накладываем ограничения по доступу,
но они есть для всех процессов во всех состояниях
Делаем операции для отражения результатов
обработки исключения
например, форма возврата товара курьером с приемкой
кладовщиком
Обработка исключений идет вне системы
Минимальный уровень обработки
Без этого система
фактически не работает,
но об этом часто забывают,
и разработчики выполняют
действия вручную
22/34
23. Дополняем систему журналом исключений,
который фиксирует
Остановку или возврат по бизнес-процессу и особые операции
с указанием типа исключения, его времени и обстоятельств
Результат обработки исключения и время обработки
Реализуем аналитические отчеты по журналу
для технологов бизнеса
Уровень анализа
23/34
24. Функции системы
Отметить неполученные позиции
или весь заказ, для анализа указать
в журнале причину, по которой их не получили
При необходимости повторной доставки сделать новый заказ
тому же адресату, наследующий оплату, связать новый заказ
с предыдущим, указав причину в журнале
Вернуть оплату для оплаченных на сайте заказов
Принять недоставленный товар на складе на хранение
до следующей доставки или как свободный для других заказов
Причины указываются из стандартного списка
с возможностью дополнения и описания ситуации
в комментарии
Пример реализации:
заказ получен не полностью
24/34
Синим выделены
расширения уровня
анализа
25. Исключения – отдельный объект системы
Бизнес-логику реализует пара: BPM-движок
и task-трекер
При исключении для экземпляра процесса в BPM-движке создается
тикет в трекере, процесс приостанавливается
По тикету идет взаимодействие по обработке исключения
Результат обработки отображается в экземпляре процесса
BPM-движка
Реализуем интерфейсы работы с исключениями
Современный вариант интерфейса – чат с уведомлениями
Анализ исключений ведем по тикетам
Уровень Case Management
25/34
26. Возможный сценарий работы
Оператор по звонку курьера заводит отдельный тикет
к заказу, где указаны ситуация и набор ожидаемых действий
(связаться с клиентом, принять товар на склад, повторно
доставить, вернуть оплату)
Сотрудники следят за появляющимися тикетами и обрабатывают
их, набор ожидаемых действий изменяется
Обработка носит асинхронный характер
В некоторый момент инцидент считается решенным
и продолжается основной процесс обработки заказа
Система поддерживает сценарий в виде чата
вокруг тикета, включая уведомления
Case «Заказ получен не полностью»
26/34
27. Архитектурная схема
Уровень Case Management
Уровень анализа исключений
Минимальный уровень
Стандартный бизнес-процесс
BPM-движок
Task-трекер
Журнал исключений Аналитические отчеты
Чат для коммуникаций
Система уведомлений
Расширение BPM
для исключений
Специальные
операции
27/34
29. Позиция бизнеса для каждого уровня
Адаптивный и развивающийся бизнес
Анализ исключений для достройки процесса
Минимальный уровень – рабочий бизнес-процесс
Стандартный бизнес-процесс
Исключения – зло, это всегда ошибка
сотрудников, пусть сами и мучаются
В процессе бывают неожиданности,
с ними надо уметь справиться
Качество работы с исключениями важно
для обслуживания клиентов, а их
анализ позволит совершенствоваться
Надо пробовать новое и развиваться,
предоставлять новые услуги
и персонализировать существующие
29/34
30. Эффективный масштабный бизнес основан
на хорошей организации процессов
При этом любые нештатные ситуации жестко решаются не в пользу
клиента – персонал не умеет иначе
Сейчас это ведет к конкурентному проигрышу
Фиксируя исключения, можно организовать работу
с ними отдельно от основного процесса
Привлечь персонал другого уровня
Держать под контролем обработку исключений
Анализировать их и совершенствовать бизнес
Контроль в масштабном бизнесе
30/34
31. Первый шаг – эксперимент
Развитие бизнеса через механизм
Adaptive Case Management
Новая
идея
Новый тип
исключений
(тикетов)
Сотрудники, которые
их обрабатывают
без регламентов
Оценка
эксперимента
Требует
дальнейшей
доработки
Неудача
Дорабатываем
бизнес-процесс
Сохраняем
как типовой кейс
Широко востребовано,
можно эффективно сделать
Спрос ограничен, полезна
как персональная опция
Это малое
и быстрое изменение
31/34
32. У ряда товаров есть сопутствующие
(например, чехлы и защита для смартфонов)
Обычно операторы предлагают их заказать
Альтернатива – курьер привозит и предлагает на месте
Вариант с курьером можно проверить
В заказ включать скрытые позиции, выдавая курьеру
Если не получилось – оформлять возврат
Эксперимент потребует малых доработок
Можно провести ограниченно для конкретных товаров
При успехе – продумывать сценарий поэтапного
массового внедрения
Пример – сопутствующие товары
32/34
33. Придумываем, как организовать срочную
доставку отдельных заказов
без существенных напряжений
По запросу такой услуги заводим тикет,
который отрабатывается сотрудниками
придуманным способом
Ограничиваем число доставок доступной
мощностью
Оцениваем процесс и стоимость услуги:
убрать ее, оставить дорогой опцией
или пробовать сделать массовой
Пример – срочная доставка
33/34
34. Современные ИТ – партнер бизнеса
Современный бизнес требует персонализации
сервиса и непрерывного развития услуг
Качество бизнеса определяется и процессами,
и обработкой исключений в них
Process & Case Management совместно дают
баланс простоты и гибкости, обеспечивая
качество бизнеса и его развитие
Подводя итоги
Спасибо! Вопросы?
Максим Цепков mtsepkov.org
34/34