Промышленность и оборудование
Май 2021
Один из крупнейших производителей корпусной мебели во Франции (более 2000 сотрудников) запускал новое направление — изготовление шкафов и гардеробных по индивидуальным размерам.
В отличие от серийного производства, каждый заказ требовал применения множества взаимосвязанных правил: размеров, допустимых конструкций, сочетаний компонентов и производственных ограничений.
На старте у заказчика ещё не было полного описания этих правил. Более того, многие из них предстояло определить в процессе разработки нового направления бизнеса.
Требовалось создать систему, которая позволила бы постепенно формализовать требования, проверять их на реальных изделиях и самостоятельно развивать бизнес-логику без постоянных доработок основного программного продукта.
Вместо последовательной реализации отдельных требований была разработана универсальная платформа для описания, проверки и выполнения правил конфигурации мебели.
1. Анализ и структурирование предметной области
Работа началась с изучения требований совместно с заказчиком. Уже из первого десятка стало понятно, что новая предметная область потребует тысяч взаимосвязанных правил, причём многие из них ещё предстояло определить.
Были выделены повторяющиеся механизмы, общие ограничения и закономерности поведения изделий. Это позволило отделить универсальную техническую основу от изменчивых бизнес-правил конкретного производства.
2. Создание платформы бизнес-правил
Разработана программная платформа, позволяющая описывать правила конфигурации на привычном разработчикам языке C# с дополнительными специализированными возможностями.
Правила определяют допустимые конструкции, ограничения и автоматическое поведение изделий при изменении размеров и состава.
Такой подход позволяет добавлять новые типы изделий и изменять логику их конфигурации без вмешательства в ядро основного продукта.
3. Инструменты для быстрой разработки и проверки
Непосредственно в проектирующий продукт встроена полноценная среда разработки, обеспечивающая:
написание правил с подсветкой синтаксиса и интеллектуальными подсказками;
компиляцию на лету с отображением ошибок;
немедленную проверку результата на реальной модели изделия;
отладку и профилирование правил.
Благодаря этому команда заказчика получила возможность экспериментировать с предметной моделью и постепенно формализовать требования без отдельного цикла сборки и внедрения приложения после каждого изменения.
4. Производительность и техническая реализация
Для сохранения интерактивной скорости работы даже на сложных моделях платформа использует несколько уровней кеширования и автоматическую оптимизацию исполняемого кода.
Эти механизмы скрывают от разработчиков заказчика техническую сложность основного продукта, позволяя им сосредоточиться на бизнес-правилах, а не на особенностях их эффективного исполнения.
5. Передача разработки команде заказчика
Первые функциональные требования были реализованы непосредственно в рамках создания платформы. Затем началось обучение и техническое сопровождение команды заказчика.
По мере освоения инструментов команда постепенно приняла на себя самостоятельную разработку правил конфигурации, а платформа стала общей технической основой для их дальнейшего развития.
Созданная платформа стала повседневным рабочим инструментом команды заказчика. Разработчики самостоятельно создают и изменяют правила конфигурации, сразу проверяют их на реальных моделях, экспериментируют с новыми конструкциями и развивают ассортимент без постоянного вмешательства в основной продукт. Сложные технические механизмы остаются «под капотом», а работа с тысячами взаимосвязанных правил превращается в понятный и управляемый процесс.
Новый подход позволил объединить гибкость индивидуального проектирования с требованиями промышленного производства. Возможность быстро развивать ассортимент, создавать сложные нестандартные изделия и адаптироваться к запросам покупателей стала важным конкурентным преимуществом при выходе компании в новый для неё сегмент рынка.
Решение стало частью программной основы нового производства, специально построенного для этого направления. Сегодня площадка занимает около 25 000 м², а его производственная мощность рассчитана на выпуск до 30 000 мебельных деталей в неделю.