У многих компаний есть «историческое» ПО: самописная CRM, внутренний портал, система учёта проектов. Когда-то она была современной, но сейчас каждый чих требует недели на доработку, баги множатся, а штат программистов раздут. И всё это на старом ASP.NET Web Forms или даже на PHP-фреймворке, который никто не поддерживает.
Мы столкнулись с такой ситуацией внутри своей компании. У нас была старая система учёта проектов, финансов, задач на ASP.NET MVC. Она работала, но развивать её было мучительно. Мы приняли решение перенести всё на Falcon Space. Расскажу, как это сделали и сколько сэкономили.
Исходная система (назовём её Legacy) была написана на классическом ASP.NET MVC с Entity Framework. База данных — MS SQL Server. Функционал:
Проблемы, которые накопились за 5 лет:
Мы терпели до тех пор, пока количество запросов на доработки не превысило 5-6 в неделю. Стало понятно: надо менять платформу.
Мы решили мигрировать на собственную же платформу Falcon Space. Причины:
Плюс была важная задача: сохранить существующую базу данных (MS SQL Server), не теряя данные, и постепенно перевозить функционал, чтобы система не простаивала.
Мы разбили процесс на этапы, чтобы не останавливать бизнес.
Установили Falcon Space на новый поддомен. Создали базовые таблицы, скопировали справочники (проекты, клиенты, сотрудники) из старой БД через скрипты. Реализовали аутентификацию — пользователи могли заходить и в старую, и в новую систему с теми же логинами.
Затем перенесли модуль «Проекты» — самый важный. Написали SQL-процедуры для отображения списка проектов, карточки проекта, задач по проекту. В старой системе эти функции занимали около 1000 строк кода на C#. В новой — 5 хранимых процедур по 20-30 строк каждая.
Сотрудников попросили работать параллельно: основные операции в старой системе, но заходить в новую для тестирования. Через месяц мы перевели просмотр проектов полностью, старая система осталась только для редактирования сложных объектов.
Перенесли модуль задач и timesheets. Сотрудники стали отмечать время в новой системе. Для этого использовали стандартные компоненты Falcon Space: таблица с inline-редактированием, фильтры по датам, экспорт в Excel.
Параллельно перенесли финансовый блок: счета и платежи. Здесь было сложно — старая система имела сложную логику расчёта НДС и договоров. Но в SQL мы повторили её один в один, причём производительность выросла, потому что расчёты происходят прямо в БД без лишних слоёв.
На этом этапе сотрудники уже активно работали в новой системе, старая использовалась только для отчётов и баг-трекера.
Баг-трекер перенесли как набор таблиц (bugs, comments, statuses) и страницы со списком багов и карточкой. Функционал поиска, фильтрации, приоритетов — всё есть в платформе из коробки.
Отчёты для руководства (финансовые, по проектам, загрузке сотрудников) сделали в виде дашбордов с графиками (диаграммы Ганта, круговые диаграммы). Для этого использовали стандартные виджеты + немного JavaScript.
Когда функциональность новой системы покрыла 95% старой, мы переключили DNS на новый сервер. Старую систему отключили, но оставили доступной в архиве на случай, если понадобится восстановить какие-то данные.
Общее время миграции — 5 месяцев (с учётом параллельной работы).
После миграции мы получили:
Мы также получили возможность быстро делать «горячие правки» прямо из кабинета разработчика, не отвлекая команду.
Из статьи, которую мы написали по этому поводу: «Самые лучшие решения принимаются, когда ты хорошо знаешь техническую часть и глубоко понимаешь бизнес-требования (т.к. ты их сам разработал из текущей реальной необходимости). У нас не было необходимости делать большое ТЗ на систему с дальнейшей приемкой результата. Система шлифуется практически еженедельно. Самые лучшие решения приходят постепенно, в процессе работы в рамках системы, а не на этапе начальной проработки». (История создания платформы).
Если вы узнали свою ситуацию (медленные доработки, дорогие программисты, страх что-то менять), вот вам план:
Мы предлагаем услуги по миграции с любых платформ (PHP, Java, .NET, 1С) на Falcon Space. Стоимость зависит от объёма — ориентировочно 300 000 — 800 000 руб. Окупаемость за счёт снижения затрат на поддержку — 6-12 месяцев.
Напишите нам, мы проведём бесплатную предварительную оценку сложности переноса. Пришлите описание вашей текущей системы и требования — ответим сроками и бюджетом.
P.S. Если вы хотите не переносить, а создать новую систему с нуля на Falcon Space, у нас есть готовые решения и большой опыт. В любом случае — мы поможем вам выбраться из legacy-болота.