Application for estimating and managing the implementation cost of large-scale industrial projects

Project summary:

Application for estimating and managing the implementation cost of projects in different spheres (oil and gas, energy, food industries etc.) allows to:

  • Make a reliable estimate of costs: from high level conceptual assessments to low-level detailing.
  • Manage costs and stay within the project time and budget.
  • Provide in-depth analysis of projects, compare assessments with reference projects and industry standards.

The company developing the application is a leading player in the consulting market in the field of economic engineering, providing its services and software.

The application is actively developing: gradual migration to the WEB is in progress, development of REST API and as well as implementation of new functional modules of the application are planned.

JazzTeam’s tasks directly included:

  • The implementation of a multi-user mode that allows several users to work with the same document (open and edit it) simultaneously. Users can view changes made by other users in real time. Such mode is utilized in Google Documents. For this purpose, our team from scratch develops and applies a framework for co-editing to the existing application. As a result, pessimistic locking is transformed to optimistic locking, three new locking levels are added, and conflict resolution through Last Write Wins is implemented. Events passing by means of ActiveMQ is ensured.
  • The implementation of the Recycle bin module for documents (like a recycle bin on Windows).

Project technologies:

Stack: Java 8, Active MQ, Swing, Maven
Infrastructure: Jira, Git
Test libraries: JUnit
DB: Microsoft SQL Server

Project features:

  • Work in the style of Agile/XP programming, weekly demo to the customer.
  • The necessity of using the framework in the existing functionality.
  • The complexity of the system, the ambiguity of the requirements, because of which constant communication with the customer and making the most optimal and acceptable joint decisions on implementation were necessary.
  • Distributed teams, business trips to the customer.

Project results:

  • Successful implementation of the multi-user framework.
  • User Acceptance Testing (UAT) stages are successfully completed. The new functionality is released in the new application version.
  • Detailed documentation of the implementation of the joint editing mechanism was compiled.

Company’s achievements during the project:

  • Multi-user framework was developed.
  • Technical consulting and assistance to the customer development team for the implementation of the Multi-user framework in one of the application modules. Important architectural decisions on the product development were made jointly.
  • Participation in Agile process establishment (planning, retrospective), Jira settings.