ICL Services разработала веб-приложение для международного производителя компьютерного оборудования

Крупной компании, производителю компьютерного оборудования, потребовалось заменить многофункциональное приложение, которое помогало менеджерам в составлении заказов на производство и комплектацию оборудования. За короткие сроки специалистами ICL Services для данного заказчика было разработано новое бизнес-приложение и обеспечена миграция из старого приложения более 20 тыс. пользователей по всему миру.

О заказчике

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

Об исполнителе

ICL Services входит в рейтинг топ-100 лучших компаний аутсорсинга в мире. В сервисном каталоге ICL Services - более 60 услуг, благодаря чему компания может гибко подойти к задачам клиентов и подобрать именно те решения, которые нужны. В портфолио - 80 крупных клиентов из 30 стран мира.

 

Предпосылки проекта

У заказчика устарело многофункциональное приложение, которое помогает менеджерам в составлении заказов на производство и комплектацию оборудования. Программа позволяла сформировать ценовое предложение, исходя из состава решения, наличия оборудования на складе и другим параметрам. Для решения проблемы заказчик обратился в компанию ICL Services.

Для начала работы над проектом команда специалистов ICL Services детально изучила функционал старого приложения заказчика, требования и текущие бизнес-процессы компании. На основе полученных данных были сформированы как предложения, основанные на собственном большом опыте разработки приложений для бизнеса, так и предложение по разработке новой версии приложения в формате веб-приложения (web-based application).

Цели, которые были поставлены перед специалистами ICL Services:

  • заменить бизнес-приложение заказчика на новое без потери эффективности;
  • разработать новое приложение в формате веб-версии;
  • реализовать дополнительные функции.

Реализация проекта

Несмотря на существующие недостатки, старая версия приложения имела ряд весомых преимуществ, которые делали его одним из лучших в своём классе. Поэтому уже изначально была поставлена высокая планка качества для будущей работы. Более того, на момент старта проекта приложением пользовались более 20 тыс. пользователей по всему миру, что предъявляло высокие требования к стабильности работы и удобству.

На реализацию ключевого функционала нового приложения было отведено всего два года, в то время как предыдущее предложение развивалось и дорабатывалось порядка 10 лет. В короткие сроки со стороны ICL Services была сформирована команда в составе 30 человек: аналитики, разработчики, специалисты по тестированию и управлению.

С учётом жестких ограничений по времени было важно организовать эффективное взаимодействие с заказчиком. С этой целью была создана чёткая структура управления проектом – со стороны заказчика выделены ключевые сотрудники, со стороны ICL Services назначен руководитель проекта, а также были выбраны форматы и частота взаимодействия, определены ключевые стейкхолдеры и назначены ежемесячные встречи.

По результатам анализа требований для реализации проекта были выбраны стеки технологий. Для реализации серверной части приложения (Back-end) использовались .Net framework версий 4.6 и 4.7.2, .Net Core 3.1, для оптимизации доступа к базам данных применялся Dapper, а в качестве планировщика задач использовался Hangfire. Клиентскую часть приложения (Frontend) специалисты ICL Services реализовали на технологии Angular, новейшей версии 9.0. Приоритетом было быстродействие системы.

Специалисты ICL Services создавали веб-приложение, которое должно было сохранять скорость обработки информации вне зависимости от количества пользователей (одновременно рассматривалась возможность работы десятков тысяч пользователей), сложности и состава обрабатываемых заказов (сотни тысяч позиций в заказах). В организации разработки активно использовались DevOps-практики – были реализованы Continues Integration и Continuous Delivery.

 

 

Особенности организации работ

Специалисты ICL Services выполнили глубокую автоматизацию как тестирования (Unit-тесты и Coded UI), так и развертывания приложения на серверное окружение. Тесты выполнялись каждую ночь, и утром разработчики проверяли влияние изменений на сборку приложения. В процессе тестирования также автоматически генерировались и подготавливались тестовые данные. Это позволило разработчикам видеть проблемы заранее: так как сборка выполнялась каждую ночь, на следующий день специалисты видели, какие были выявлены проблемы, и могли их оперативно устранить. После развёртывания на окружение также проводились автотесты и специалисты отслеживали возможные сбои, связанные с особенностями окружения.

Такая организация процесса разработки, тестирования и развертывания позволила ощутимо сократить время разработки и сэкономить деньги заказчика.

В ходе проекта специалисты также разработали детальную систему нефункциональных требований, где были описаны все ограничения, которые необходимо было учитывать, и полностью автоматизировали тестирование, в том числе в части производительности. Вместе с заказчиком были сформулированы жесткие KPI, которые отслеживаются до сих пор. Кроме этого, в работе было учтено не самое лучшее качество каналов связи у европейских пользователей нового продукта, что было выявлено в ходе отдельного тестирования и моделирования различных ситуаций. А благодаря привлечению UX-специалистов была обеспечена максимальная наследственность элементов интерфейса.

Достигнутые результаты

  •  За первые полгода работы над проектом была разработана первая версия приложения и начато ее распространение с базовым функционалом.
  •  В начале 2020 года был реализован полный функционал в соответствии с требованиями заказчика и стартовал массовый переход пользователей на новую версию.
  •  По просьбе заказчика было разработано API и выполнена интеграция со сторонними системами электронной коммерции для работы в режиме реального времени.

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

Автор: Александр Абрамов.

Тематики: Интеграция, ПО

Ключевые слова: разработка программного обеспечения, ICL Services