Модернизация устаревшего программного обеспечения для крупнейшего производителя теплообменников

Наш клиент – один из ведущих мировых производителей теплообменников, специализирующийся на индивидуальных решениях, подходящих для экстремальных условий окружающей среды. 

Реализуются поставки для многих отраслей, включая транспорт, энергетику, нефтяную, газовую, химическую, морскую, тяжелую промышленность, пищевую промышленность, производство напитков и холодильное оборудование.

Задача

Набор программных инструментов, который заказчик использовал на протяжении более двух десятилетий, стал сложным и устаревшим. Проблема заключалась в том, что программное обеспечение было основано на старых технологиях и разрабатывалось людьми, которых уже не было в компании. Его обслуживание требовало дополнительных ручных усилий, что приводило к увеличению стоимости процесса. “Нам нужно современное решение” – именно на этом акцентировал внимание наш заказчик во время телефонного разговора. Заказчик хотел получить программное обеспечение, которое бы быстро и легко предоставляло результаты расчетов, поскольку это один из ключевых факторов в теплообменной отрасли, оперативность которого в свою очередь влияет на решение клиента при выборе поставщика.

Основные проблемы:

  • слабая производительность
  • сильная зависимость (если система перестала работать в головном офисе, она перестанет работать везде)
  • устаревшие подходы к идентификации и авторизации пользователей
  • необходимость поддерживать собственную среду, что требовало больших усилий и было сопряжено с риском
  • проблема резервного копирования и хранения данных (локальные установки – не самое оптимальное решение для резервного копирования)
  • старомодный дизайн и не интуитивно понятная функциональность

Цели

  • повышение эффективности процесса управления продажами/заказами, включая дальнейшее развитие инструментов и приложений, используемых клиентом
  • стабилизировать текущую систему, сохранив все ее компоненты и бизнес-логику
  • интегрировать инструменты с системой аутентификации заказчика
  • модернизировать пользовательский интерфейс, сделав его более современным, и при этом свести к минимуму изменения в UX, тем самым снизив барьер для входа на рынок
  • использовать SharePoint в качестве системы управления и хранения документов

Что сделано

Объем работы был весьма значительным и он требовал тщательного анализа. На начальном этапе заинтересованные стороны в компании-заказчике не могли прийти к единому мнению о целях проекта. Чтобы убедиться, что результат реализации проекта будет отражать то, что действительно нужно заказчику, было решено начать с семинара Pre-Discovery: мы уточнили все детали, обсудили болевые точки заказчика и выбрали направление для дальнейшего анализа. Это позволило предотвратить неверное направление проекта с самого начала и создать правильную базу для этапа Discovery.

 

На следующем шаге мы определили задачи, спланировали ресурсы и этапы реализации, а также составили смету проекта. Такой подход позволил избежать принятия неверных стратегических решений и способствовал успешной реализации проекта: переносу устаревшей системы в Azure Cloud (с выполнением всех требований заказчика) и внедрению нового пользовательского интерфейса.

Результаты работы команды:

  • Усовершенствование архитектуры и технического решения, совместимого с Azure Cloud
  • Устав проекта с установленными процессами релизов и планом коммуникаци
  • CI/CD 
  • Стратегия UX/UI и реализация новых дизайнерских решений

Преимущество решения для клиента:

минимизация ошибок и усилий при тестировании

упрощение процесса технического обслуживания

снижение затрат на техническое обслуживание до минимума

снижение рабочей нагрузки (меньше времени на разработку требований и простота повторного использования рабочих модулей)

унификация всего процесса конфигурирования оборудования

приведение программного обеспечения в соответствие с современными стандартами, что делает добавление новых функций и модернизацию существующих экономически эффективными

Стек технологий

  • Java 11
  • Spring Security
  • Gradle
  • Spring Cloud
  • Spring Boot
  • Spring Web
  • Microsoft Graph
  • Spring JDBC

Cloud

  • Docker
  • Azure Pipelines
  • Azure AD
  • Azure App Configuration
  • Azure Monitor
  • Azure SQL Database
  • Azure DevOps
  • Azure Container Registry
  • Azure AKS
  • Azure Key Vault
  • Azure Files
  • Microsoft SharePoint