Solar Cloud/Web team is developing software for end customers who install photovoltaic (PV) systems in their homes or companies. Users can monitor & control their PV systems, using web or mobile applications. Given that applications are developed for a large number of end users, and that every PV system must display a huge amount of data that all devices within the system can send with the current state, and need to keep track of the historical data and process them, there are many technical challenges.
On the one hand, given the large amount of data passing through the system and being presented to the user, the system components must be highly optimized and well-designed, especially if real-time data is required. In addition to many different types of devices and sensors on them, it is necessary to support more generations of devices and data types as this area develops and changes hastily. Another challenge is to present this information elegantly and informatively to the user, using the latest technology and ways of creating user interfaces. Given that the client is not the only rival in the market and that competitors are also making great efforts, they must follow the trends and increasing expectations of end users. Part of this direction is embracing modern Cloud technologies for implementation of PV monitoring application.
Given the increasing number of new applications requirements that need to be supported by Solar Cloud/Web team, and the growing difficulty in making right skills and engineering capacity available, the client has decided to ask for support from Serengeti, with whom they have had a successful collaboration.
Serengeti has 2 teams working for client's Solar Energy division. One team develops (low level, embedded, C ++) software executed on the devices that are part of the PV system. The other Solar team uses the .NET platform to develop web / cloud services and applications that are more focused on end-users of the PV system, enabling them to monitor their PV systems.
To support the client's Solar Cloud/Web a new Serengeti team was formed. Team composition, on boarding and long term performance is delivered in proven and unique team extension model. In team extension model Serengeti guides client step by step through all phases of team setup. Two developers spent the first month in the client's offices, studying the existing situation on projects, work mode and business issues. After that most of the work was done from Serengeti office in Zagreb, with occasional arrivals at the client's office in Wels.
The first project was to create a REST service for large users (a couple of hundred PV systems) and external partners (a couple of thousand PV systems). For them existing application for an ordinary user to monitor few PV systems is not enough. It was necessary to devise and implement the way to quickly and efficiently shift a much larger amount of data in a safe and fast way, according to industry standards.
For the technology platform, the .NET Core and all new auxiliary tools are selected, suitable for creating fast and optimized applications and services that can easily be switched to the cloud environment. After the completion of this project, the Serengeti team will help the client's team to modernize and upgrade the rest of the system.
For team organization and project management, industry-recommended standards and tools are used - Scrum & Kanban, Jira, Confluence, GitLab, unit testing, CI / CD etc.
The development of new complete products, such as those made by our client, is highly complex. It includes hardware and low-level programming, back-end services and front-end applications, also many different teams that are responsible for certain parts of the mentioned large entities are included in the process. Serengeti team members experience in developing complex systems, as well as broad technical expertise and high technical education, understanding both energy business domain and software development, has helped the Serengeti team to quickly understand business issues and develop a solution for the client in a fast and productive way. After the successful first phase of co-operation, the Serengeti team has expanded, and new future projects are planned.
Fast pace of software delivery enabled the client to develop critical application for PV management on time and to strengthen its market position. Using a proactive approach, its extensive technical competencies in Cloud implementations and industry know-how, as well as understanding user’s business requirements, Serengeti consulted client on additional possibilities of advanced technology usage.
The cooperation that started in development of embedded components for Solar inverters expanded to development of Solar Cloud/Web application. The first version will run on client infrastructure but next step is to move everything into the cloud environment in the near future. Serengeti achieved long-term cooperation, allowing the client to shorten time to market period, to take advantage of full potential that technology offers in its operations and to achieve its ambitious plans for growth.