Приложение для оценки и управления стоимостью реализации масштабных промышленных проектов
Краткое описание проекта: приложение для оценки и управления стоимостью реализации проектов в различных сферах (нефтегазовая, энергетическая, пищевая промышленности и т.п.) позволяет:
- Производить надежную оценку затрат: от концептуальных оценок высокого уровня до низкоуровневой детализации.
- Управлять затратами и оставаться в рамках времени и бюджета проекта.
- Производить глубокий анализ проектов, сравнивать оценки с эталонными проектами и отраслевыми стандартами.
Компания, разрабатывающая приложение, является ведущим игроком на рынке консалтинга в области экономической инженерии, предоставляя свои услуги и программное обеспечение.
Приложение активно развивается: идет постепенная миграция в web, планируется разработка REST API, а также реализация новых функциональных модулей приложения.
Непосредственно в задачи JazzTeam входили/входят:
- Реализация многопользовательского режима, который позволяет нескольким пользователям одновременно работать (просматривать, редактировать) с одним документом. Пользователи в режиме реального времени могут видеть изменения, вносимые в документ другим пользователям. Такой многопользовательский режим используется в Google Documents. Для этого наша команда с нуля разрабатывает и применяет к существующему приложению фреймворк для совместного редактирования. В результате был произведён перевод приложения pessimistic locking на optimistic locking, добавлены 3 новых уровня locking’а, а также реализовано разрешение конфликтов через Last Write Wins. Реализован events passing при помощи ActiveMQ.
- Реализация модуля Recycle bin для документов (наподобие корзины в Windows).
Технологии проекта:
Stack: Java 8, Active MQ, Swing, Maven
Infrastructure: Jira, Git
Test libraries: JUnit
DB: Microsoft SQL Server
Особенности проекта:
- Работа в стиле Agile / XP programming, еженедельное демо заказчику.
- Необходимость применения фреймворка в уже действующем функционале.
- Сложность системы, неоднозначность требований, из-за которых было необходимо постоянное общение с заказчиком и совместное принятие наиболее оптимальных и приемлемых решений реализации.
- Распределенные команды, командировки к заказчику.
Результат проекта:
- Успешная реализация multi-user фреймворка.
- Успешно пройдены все стадии приемочного пользовательского тестирования (UAT — User Acceptance Testing) . Новый функционал выпущен в новом релизе приложения.
- Составлена подробная документация реализации механизма совместного редактирования.
Достижения компании на проекте:
- Разработан multi-user фреймворк.
- Техническая консультация и помощь для команды разработчиков со стороны заказчика для имплементации фреймворка совместного редактирования в одном из модулей приложения. Важные архитектурные решения по развитию продукта принимались совместно.
- Участие в налаживании Agile процесса (планирование, ретроспективы), настройки Jira.