The team above all else!

The Swiss Federal Railway (SBB) also works with open source. The use of Eclipse products has proven to be beneficial in several regards: For one, there is a large pool of freely accessible plugins available, and for another, the SBB has also been able to develop its own enhancements according to its specific requirements, quickly and without complications.

SBB’s RCS solutions are based on Eclipse; why has SBB decided for open source?

The use of the Eclipse platform has proved to be a major advantage in our project in several respects: RCS was developed right from the start using Eclipse IDE, which enabled us to tap into a large, freely accessible pool of helpful extensions (Eclipse plug-ins). We have also developed our own extensions to meet our special requirements.

The RCS platform itself was extensively based on Eclipse technologies: The user interfaces, such as the workstations for the train traffic dispatchers, are based on Eclipse RCP. On the server side, we use the Eclipse OSGI Equinox implementation as a runtime container. The openness of the Eclipse platform has consistently enabled us to place bug fixes and feature requests that we needed for RCS.

Since we primarily attempt to use Eclipse design patterns and APIs with RCS, new coworkers who already have Eclipse know-how quickly find their way in our code basis.

Besides open source products, we also use various commercial solutions that are proven to be the best solutions for specific problems, such as in the areas of databases, real-time messaging or optimizing.

All user groups are directly represented in the project and bring their requirements from real life to the table.

To what degree does SBB differ from other rail companies?

As a software architect, I have yet to find another company that identifies with its product like SBB does. The will to develop the best possible solutions for efficient and smooth management of train traffic is something we feel on a daily basis in the project. All RCS user groups, such as dispatchers, train traffic managers and locomotive engineers, are directly represented in the project and bring their practical requirements with them.

“Railways are a matter of the heart. Everyone wants them to function optimally!”

Marc Hoffmann, architect of the RCS Dispatch Team

BSI is strongly anchored in the Eclipse world with the Scout open source project. What do you especially appreciate when working together with BSI?

Because BSI has a great deal of Eclipse know-how, all our BSI colleagues very quickly found their way in our existing code basis and were able to make valuable contributions to the individual project teams right from the start. Personally, what I appreciate, in addition to their comprehensive technical understanding, is the BSI staff’s solution orientation and dedication to the project.

How was quality control handled in the joint projects?

Quality control is solidly anchored in our development process. There is at least one tester on each Scrum team. Unit tests, continuous integration and continuous inspection (using Sonar) are used on the coding side.

Our development environments are deployed several times daily with the complete RCS software so that the user representatives can look over our shoulders and validate the implemented solutions.

"The team is above all else! Teamwork is loads of fun!"

Marc Hoffmann, architect of the RCS Dispatch Team

Because with RCS we are dealing with a very sensitive system for train traffic in Switzerland, comprehensive integration tests and non functional tests are thoroughly conducted for each release. Each RCS release is tested from top to bottom for around two months before it goes into production.

What project method do you work with?

We established Scrum among all development teams two years ago. This development method has made project progress more transparent while also clearly revealing internal problems. After we incrementally solved these problems, we were able to design the development process more efficiently. And it makes working on the team really a lot of fun.

Marc Hoffmann works as a freelance software architect who, since 2004, has co-designed various commercial projects and open source solutions on the basis of Eclipse/RCP. He has worked for SBB since 2008 as an architect for its Rail Control System (RCS).