Our client, an Austrian company founded more than 70 years ago with over 5.000 employees, divided into 3 major divisions: Perfect Welding, Solar Energy and Perfect Charging. Although the company originally started with battery charging systems, over time it has transformed itself into one of the most prominent manufacturers of solar energy utilization systems and robotic welding machines.
After 2002, the company started expanding its operations outside Europe, to United States, where it gained large market share. The company's headquarters are still in Austria, in Wels, where most manufacturing facilities are located, there are also sales offices in 28 countries around the world.
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.