Всё предусмотрел, а на одном месте потерял неделю
Систему делал заранее блочной. Ядро отдельно, модули отдельно: учёт заказов, маркетинг, склад — каждый своей группой файлов. Вид общий, начинка независимая.
Даже мелочи закладывал наперёд. Делаем блок работ — сразу думаю: сюда потом добавится дата плана, сюда ещё пара полей. Место оставлено, дорабатывать можно, не ломая соседнее.
И всё равно просчитался. В одном месте — зато так, что чиню неделю.
Матрица доступов.
Роли-то я завёл. Девять уровней: администраторы, руководители на местах, отдел продаж, маркетинг, финансы и дальше по списку. Что каждая роль существует и как называется — предусмотрел.
Чего не предусмотрел: как они связаны между собой. Система многорегиональная. Значит, вопрос не «что видит финансист», а «что видит финансист в своём регионе и что — в соседнем». Каждая роль умножается на территорию.
Девять ролей на несколько регионов — это уже не список, это таблица. И нужна она была до первого экрана, а не после сорокового.
Почему это так дорого. Блочность спасает от того, что лежит внутри блока: склад можно переделать, не трогая маркетинг. А доступы сквозные. Они проходят через каждый экран и каждое обращение к данным — их нельзя починить в одном месте, потому что они везде.
Неделя уходит не на «дописать проверку прав». Она уходит на то, чтобы пройти каждое место, где данные достаются, и честно ответить: кто именно это видит и в каком регионе.
Что забрать себе. Если у вас больше одного типа сотрудников — нарисуйте таблицу «кто что видит и что может менять» раньше, чем закажете второй экран. А если бизнес разбит по территориям, филиалам или направлениям, рисуйте сразу в двух измерениях: роль и территория.
Полчаса работы. Мне они сэкономили бы неделю.
Telegram
Читать новые разборы в Telegram
Кейсы с цифрами, работа с ИИ-агентами и ошибки, за которые уже заплачено. В канале они выходят первыми, там же обсуждение и файлы.