Ongoing development without operational disruption

50five uses technology to manage and plan Electric Vehicle charging station installations. They have developed an application that connects a number of user groups who interact with this application simultaneously: technicians in the field with a mobile application, planners in an office setting utilizing a portal, and an external ERP system that relies upon current and accurate data being available.

Technieken
Python, Flask, API
Expertise
Backend, Integrations

Client

50five
Industry
Energy & mobility

Team

Olaf

Anytime a change occurs within this type of environment it typically impacts more than just one screen. The Glossary · In briefbackendThe backend is the part of an application that processes data, applies business rules and communicates with other systems on the server. Users usually access it through a frontend or API.Read more of the application provides the connection point for the technician's mobile app, planner portal, and the external systems. All of these components rely upon consistent and timely data exchange. As a result, the interdependence of the various components creates additional challenges.

50five

The situation

One application for technicians, planners, and administration

Although 50five sought to increase the amount of development resources they had, they were seeking a long-term partner that could take over the responsibilities associated with maintaining the current application and then build on top of that application.

50five needed additional developers and a partner who could take responsibility for maintenance and ongoing development. New features had to be added while technicians and planners continued using the application.

The question behind the question

A long-term partner for maintenance and development

Even small technical changes can affect scheduling and the work of technicians. That is why 50five wanted to improve the existing system in small steps.

We assumed responsibility for both managing and continuing the development of 50five's application. Although the overall structure of the Python Flask backend remained unchanged, we modernized in a controlled fashion. Specifically, we refactored code to clean it up and incorporated new capabilities based on input from end-users.

Approach

Management, modernization, and targeted expansion

Field technicians and office planners need the same up-to-date information. Real-time synchronization between their apps is essential, including during ongoing development. The Flask backend distributes data across the applications.

  • Assumption of Existing Software: 10KB accepted responsibility for managing and developing an existing business-critical system.

What we add

  • Improvement Without Disruption: New architecture and capabilities were introduced in an incremental fashion without interfering with day-to-day operations.

  • Continuity in Integration: The integration between the app, portal, and ERP continued without interruption; no pause occurred in their respective logic due to our modifications to the backend.

  • It is the alignment of different roles within this application that make it valuable. Technicians operating in the field have access to accurate, up-to-date information as do planners and administrative systems via reliance on identical data.

Quality and continuity

Software that planning and execution lean on

We first examined how the existing system worked and how changes could affect planning and execution. We then chose changes we could Glossary · In briefrollbackA rollback reverses a change so software, configuration or data returns to an earlier state. Teams use it when a change causes errors or other unwanted effects.Read more or introduce in stages.

Through this engagement at 50five, an existing application continues to serve as an operational foundation while also providing sufficient opportunity for introducing new functions/renewal. The application was not merely maintained but rather continually enhanced step-by-step.

Result

A system that could keep growing

During development and modernization, we accounted for the daily use of the application by technicians and planners.

  • Taking ownership of an existing field service system is frequently more advisable than undertaking a complete rewrite thereof when incremental improvement opportunities exist which do not interfere with day-to-day operations.

Key takeaways

  • When incorporating mobile apps/portals/ERP, a Flask backend typically exists as a central integration component. Therefore, synchronization/agreement regarding API stability becomes necessary.

  • Planning software needs to remain reliable for its users during ongoing development as well.

CONTACT

Get in touch with us

Have a question or want to discuss your software? Leave your details and we will get back to you soon.