SpectraWorkSpace
Девять лет работы одного сервиса, собранные в систему
SpectraWorkSpace — CRM сервисного центра
Система управления сервисным центром: приём, этапы работ, склад, деньги, начисления мастерам, отчёты. Пишется на замену версии 2017 года, которая девять лет вела наш сервис.
Откуда растёт
В 2017 году программист написал CRM по нашему техническому заданию. Она проработала девять лет почти без обновлений и вела весь сервис: приём, работы, деньги, клиентов. Её функционала уже не хватает.
Новая версия пишется не с нуля в вакууме: старая разобрана по исходному коду целиком — архитектура, схема базы, все страницы и кнопки, бизнес-правила, матрица прав, найденные баги. Переписывать код не надо, надо забрать из него бизнес-правила, которые нигде больше не записаны, и данные.
Чем она отличается от покупной CRM
Тем, что её пишет сервис для себя, и каждое правило в ней взято из девяти лет работы, а не из представления о том, как сервис должен выглядеть.
Простой пример. В старой версии начисления мастерам нигде не фиксировались — они пересчитывались на лету от текущей ставки. Изменил ставку — пересчиталась вся история за девять лет. В новой версии расчёт фиксируется снимком в момент закрытия этапа. Такие вещи не приходят в голову на этапе проектирования, они приходят, когда в марте не сходится отчёт за позапрошлый год.
Что в ней сделано иначе
Написана практикой
Девять лет эксплуатации предыдущей версии в действующем сервисе.
Миграция продумана
Что тащить в новую базу, что выбросить и где ловушки — расписано до начала работы.
Ошибки не повторяются
Найденные в старой версии дыры и баги выписаны отдельным документом, чтобы не наступить дважды.