Как превратить ремонт в управляемую систему: граф-модель в Онто
Зачем это вообще
Ремонт — это не список задач, а сеть взаимных ограничений: сроки поставок, зависимости этапов, доступность мастеров, бюджет, нормативы, локации. Граф в Онто позволяет:
  • видеть зависимости и критический путь без сложных диаграмм Ганта;
  • объединять задачи по месту/времени/ресурсам и экономить выезды;
  • контролировать бюджет и риски на уровне связей (что что блокирует и почему);
  • повторно использовать модель как шаблон для следующего ремонта — переносится не «чек-лист», а логика.
Базовая идея модели (минимальная версия)
Собираем 8 шаблонов (классов) и типовые связи между ними.
Шаблоны (минимум):
  1. ПроектРемонта — корневой объект (например, «Ремонт кухни 2025»).
  2. Помещение — кухня, коридор, санузел.
  3. ЭтапРабот — крупные блоки: «Демонтаж», «Электрика», «Штукатурка», «Покраска», «Плитка», «Сборка кухни».
  4. Задача — атомарные действия (до 1–8 часов).
  5. Материал — «Грунтовка Ceresit CT17 10л», «Краска Dulux».
  6. Поставщик — «Леруа», «Локальная мастерская».
  7. Исполнитель — «Электрик Иван», «Маляр Пётр», «Я сам».
  8. Ограничение — «Окно доставки материалов», «Тишина в выходные», «Бюджет ≤ 400 000».
Типовые связи (шаблоны связей):
  • ПроектРемонта содержит Помещение/ЭтапРабот/Ограничение.
  • Помещение включает ЭтапРабот; ЭтапРабот состоит из Задач.
  • Задача выполняется Исполнителем; требует Материал; закупается у Поставщика.
  • ЭтапРабот/Задача предшествует (блокирует/зависит от) другим Этапам/Задачам.
  • Материал имеет СрокПоставки (как свойство) и подчиняется Ограничению (например, «нельзя колеровать в воскресенье»).
  • Любой объект может нарушать Ограничение (связь риска), чтобы подсветить конфликт.
Такого минимума хватает, чтобы уже оптимизировать очередность, поездки в магазин и загрузку мастеров.
Полезные свойства (предлагаемые поля)
  • ПроектРемонта: бюджет_план, бюджет_факт, дата_старта, дата_дедлайна, приоритет_зоны.
  • Помещение: площадь, высота_потолка, адрес/этаж, особенности (влажная зона?).
  • ЭтапРабот: длительность_план (часы/дни), буфер, критичность (да/нет).
  • Задача: трудоёмкость_ч, earliest_start, deadline, статус (planned/ready/in_progress/done), чек-лист, стоимость_материалов_план.
  • Материал: единица_измерения, кол-во_план, кол-во_факт, цена_за_ед, срок_поставки_дн, артикул, субституты[].
  • Поставщик: график_работы, SLA_доставка, адреса[], способы_оплаты.
  • Исполнитель: доступность[] (окна по датам), ставка_час, навыки[], контакт.
  • Ограничение: тип (время/бюджет/шум/логистика), выражение (например, «тихо: СБ-ВС 9:00-11:00»), жёсткость (жёсткое/мягкое).
Шаг-за-шагом: как собрать модель
Шаг 1. Создать пространство проекта
Название: «Ремонт квартиры — 2025».
  • Добавьте корневой ПроектРемонта с бюджетом и дедлайном.
  • Создайте Помещения: «Кухня», «Коридор».
  • Свяжите их с проектом связью содержит.
Шаг 2. Разбить работу на этапы
Для каждого Помещения добавьте ЭтапРабот:
  • Кухня: «Демонтаж», «Электрика», «Штукатурка», «Плитка», «Покраска», «Сборка кухни».
  • Поставьте связи предшествует: «Демонтаж → Электрика → Штукатурка → Плитка/Покраска → Сборка кухни».
  • Отметьте критичность у этапов, которые влияют на общий дедлайн.
Шаг 3. Детализировать до задач
Разбейте этапы на Задачи (1–8 часов каждая). Примеры:
  • «Снять старую плитку (6 ч)», «Разметить розетки (2 ч)», «Прокинуть кабель ВВГнг 3×2.5 (4 ч)», «Грунтование стен (2 ч)».
  • Каждую Задачу свяжите с Этапом (состоит из), Помещением (в контексте), Исполнителем (выполняется).
Шаг 4. Привязать материалы и поставку
Для каждой Задачи:
  • свяжите Материал (требует), задайте количество и срок поставки;
  • свяжите Поставщика (закупается у), укажите график работы и доступные адреса;
  • при необходимости добавьте субституты материалов, чтобы иметь запасной вариант.
Шаг 5. Внести ограничения
Создайте Ограничения: «Шум запрещён после 19:00», «Доставка в будни 10:00–14:00», «Бюджет ≤ 400 000», «Лифт пассажирский — нельзя возить мусор».
  • Свяжите Ограничения с Этапами/Задачами/Поставщиками (подчиняется, нарушает). Так вы явно увидите конфликты (например, «Штробление» нарушает «Тишина в выходные»).
Шаг 6. Навигация и диаграмма
  • Постройте диаграмму: группируйте по Помещению; упорядочьте Этапы слева-направо (временная ось), Задачи ниже этапов.
  • Вынесите Материалы и Поставщиков в нижний «логистический слой», Ограничения — в верхний «шапочный слой», соедините ребром к затрагиваемым объектам.
  • Для визуальной читаемости удерживайте равномерные зазоры между узлами (в Онто это ещё и помогает не «слипаться» представлениям).
Как этим пользоваться каждый день
1) Планирование недели
  • Фильтр: Задачи со статусом planned и окном доступности Исполнителя на текущую неделю.
  • Выносите в работу только те, у которых все материалы в наличии и нет конфликтов ограничений на выбранные дни.
2) Оптимизация выездов
  • Фильтр: Задачи, закупается у «Леруа» и требует материалы с общими проходами в одном отделе.
  • Группируйте покупки и поездки; связь «закупается у» подскажет, что стоит взять за один раз.
3) Управление критическим путём
  • Срез: цепочки предшествует от ближайших к дедлайну задач.
  • Всё, что лежит на пути — под увеличительное стекло: проверяйте досрочно наличие материалов и доступность мастеров именно для этих задач.
4) Контроль бюджета
  • Суммируйте стоимость материалов по Задачам → Этапам → Проекту.
  • Подсветите перетраты (красным), а экономию (зелёным); сносите решения в «Журнал решений» (см. расширение ниже).
Расширение модели (когда захотите мощнее)
Дополнительные шаблоны:
  • Риск (вероятность, влияние, план реакции) и связь угрожает Задаче/Этапу.
  • Решение (вариант А/В/С) и связь реализует к Этапу или смягчает к Риску.
  • Документ (чек, счёт, ТЗ от производителя) и связь подтверждает/описан в.
  • Событие (доставка, приезд мастера) и связь привязано к дате.
  • Инструмент (перфоратор, лазерный уровень) и связь требует инструмент к Задаче.
Гибкие практики:
  • Делайте наследование: «ЭтапРабот» ← «Электромонтаж» со своими типичными полями и готовыми шаблонами связей.
  • Используйте шаблоны связей: например, «предшествует» и «зависит от поставки» как преднастроенные типы, чтобы не путаться в трактовке.
Анти-паттерны (и как их избегать)
  • Линейный список без связей. Минимум: предшествует, требует материал, выполняется исполнителем.
  • «Плавающие» материалы. Всегда связывайте материал с конкретной Задачей, а не с Проектом в целом.
Повторное использование (cook once, eat twice)
Когда ремонт закончится:
  1. Сохраните модель как шаблон проекта (ПроектРемонта + типовые Этапы/Задачи/Материалы/Связи).
  2. В следующий раз просто реплицируйте: меняйте Помещение, площади, состав материалов; логика и зависимости останутся.
Мини-кейс: один вечер, максимум пользы
  • Вы видите, что «Штукатурка кухни» ждёт «Электрика», а тот в городе только во вторник.
  • За час отмечаете: купить грунтовку и валик; в графе видно: всё это есть в одном магазине, открытом до 23:00, и вы как раз едете мимо — связываете Задачи с Поставщиком и закрепляете «Событие: заезд в 20:30».
  1. На утро у вас нет «зависших» задач без материалов. Критический путь цел
Быстрый старт: контрольный чек-лист
  • Есть ПроектРемонта с бюджетом и дедлайном
  • Помещения созданы и привязаны
  • Этапы связаны «предшествует»
  • Задачи снабжены исполнителем/материалами
  • Поставщики и графики работы заданы
  • Ограничения завели и подвязали к объектам
  • На диаграмме читаема «логистика внизу, ограничения наверху»
Бонус: как это «прокачивает» графовое мышление
Вы перестаёте мыслить чек-листами и «проговариваете» себе связи: что на что влияет, где узкое место, какой альтернативой можно снять блок. Это переносится на работу: задачи любой природы перестают быть хаотичной лентой — вы начинаете видеть сеть причин и последствий.