Software Quality and Development Practices
The developers at RST work by time-proven reliable methods. Almost all our employees have a Master's degree in computer sciences and are well versed in current development and quality assurance practices. The result is a living company culture that ensures best practices.
Rules and Code Styles
Fixed coding rules enforce the writing of unified and cleanly structured source code right from the start. They are complemented by the consistent use of pre made frameworks that prevent chaotic outgrowths of wild code and thus form the basis for creating well structured and organized software. All source code is extensively documented to ensure frictionless handovers of projects between different developers at any time.
By the way: in this context, our own middleware Gamma V can be thought of as a framework in itself that ensures faster and simpler application development on all kinds of embedded systems.
Use of Simulation Models
Especially when it comes to machine building and PLC programming, today's code is often still generated right on the target machine, leading to a lot of trial and error and long downtime as the system is blocked during the development and test phase. Our software, on the other hand, is programmed against a virtual model of the target system. This allows us to adapt and test system specific applications via simulation without necessitating access to the target hardware. This approach offers a number of advantages compared to classic methods:
- In order to create our simulation models, we closely research the properties of the target system and processes in the machine right at the start of a project. This way, we possess profound knowledge of the development goals, any restrictions we need to consider, and all relevant processes and coherencies before we even start programming.
- The programming work isn't done on site, but at our offices in Ottobrunn. This not only saves on travel expenses but also prevents unnecessary downtime of the customers' systems.
- Drawn out and cost intensive tests on the target machine can be replaced with automated software test processes (see below).
Another advantage are distinctly faster and easier startup operations. It is a well known truism in the automation industry that the final 5% of any project usually end up eating 50% of the time spent working on it. This leads to a familiar scenario: development staff who spend days on the customer site ironing out any kinks in the system or working around newly discovered compatibility issues. Our quality oriented approach and our way of programming by reference to exact simulation models enables us to circumvent these common problems. Almost all our projects are delivered in a "turnkey ready" state. Any remaining modifications can usually be done fully remotely via a network connection from our offices in Ottobrunn. Stress and costs are reduced to a minimum.
As mentioned under "Use of Simulation Models", we rely on thorough software tests throughout the entire development process. All newly created functions are first verified through unit tests. These singular tests then lead to integration tests of the full application.
We coordinate these efforts through use of a Hudson server that automates and documents our development process through continuous integration. Applications are automatically compiled, tested and turned into deployment ready installation packages.This constant automated testing ensures that the solutions RST delivers to customers are fully operational "out of the box". If the customer chooses to be involved in the development process they receive a tested package with every update throughout the development process that are generally directly usable.
Project Management and Versioning
To coordinate all processes in a project we employ a process management tool that centrally provides information, coordinates proceedings and monitors deadlines. If requested, customers can be integrated into this management network. This facilitates communications, curbs the usual deluge of back-and-forth emails and allows all participants a full overview of the proceedings.
Service and Support
Customer support is one of RST's priorities. Particularly in the producing industry, long term planning is essential. That is why we still offer active support and modifications for installations that have been up and running for 20+ years. In this, we profit not only from our standardized interfaces of our platforms but also the company culture described on this page. Especially the use of simulation models and is invaluable for this since when working on a support request, we can test our code based on a simulation model without necessitating our customer to send in the target hardware or our developers to visit the site. Individual modifications and long term support are also facilitated by this approach.