Please, change device orientation to portrait

Case Study | Agriculture

Platform Connects IoT Devices to Agricultural Machinery and Weather Stations

Our client develops data driven technologies that help farmers run efficient operations to produce more food. The company—servicing millions of acres worldwide—uses innovative digital agronomic tools to focus on the sustainable production of high-yield, high-quality crops. The solutions are designed to optimize inputs, minimize environmental impact, and protect the farm’s economic viability

Business Challenge

Our client's goal is to stay compatible with and appealing to the market. To achieve this, it is necessary to keep up with cutting-edge technologies. Specifically, the client wanted to replace current machine command, which is a separate platform, by bringing IoT device management into its platform.

The platform’s migration to Azure IoT Hub is dictated by a clear business need—better resource management and accessibility to main working environments. This also provides flexibility when updating and registering new IoT devices.

Project Description

The platform—on the client's side it's called device manager—is an internal tool used mostly by FE technical experts. The tool helps connect IoT devices to agricultural machinery and weather stations. These devices use GPS data, store information about the machine technical characteristics, and stores information about the machine’s users. Standard tool functionality includes edit, update, and delete.

The SoftServe team was mostly responsible for the migration of the IoT devices from AWS to Azure IoT Hub, which the team had not worked with before. As part of the migration, the product has undergone many design changes to make it more user-friendly and increase user satisfaction.

At the beginning of the project, the team had seven team members:

  • Back-end team—senior developer promoted to TL during the project and one Intermediate developer
  • WebUI team—two intermediate developers
  • DevOps—one person responsible for environment support
  • QC—one intermediate person and one junior person
  • Tech BA—intermediate business analyst

Within the timeframe, the team grew to include up to 20 members.

The business requirements were formed by the PO. After, the team dissected and clarified them so they could be prioritized and a backlog formed for each sprint. The team stabilized communication, which helped ensure a mutual understanding in order to meet the client’s needs.

During the project, the team needed to:

  • Obtain domain knowledge.
  • Understand the dependencies of the Monoliths architecture style, which the product is built on.
  • Manage the recently launched MS IoT Hub.
  • Work with beta developers, on the client side, to upgrade devices including emulator building and end-to-end testing.
  • Work closely with the PO to educate the client’s team about outsource processes:
    • Set up clear Scrum.
    • Release management and planning processes.
    • Work with product team to explain to the PO that the requirements were not ready-for-development—Tech BA was needed to transfer the requirements into technical tasks.
  • Work on new procedure set ups.

Technology Stack

Python Azure PyTest Nginx
React-Redux PyCharm GitHub AWS
PostgreSQL PyLint Jira Git
Django REST Jenkins Confluence

Value Delivered

The most significant achievements included:

  • Grower cost savings
  • Processes resource optimization
  • Easy and rapid integration of new device types
  • Real-time bi-directional communication for devices that require it
  • Revenue increase
  • Increase service reliability and maintainability
  • Upgrade client’s SDLC process

The Azure IoT Hub is easier to maintain and support saving the client money. Additionally, the SoftServe team improved the look of the product and made it easier and more convenient from the end-user perspective. The project was successfully completed and further support was transferred to the client’s team.