«Das Team steht über allem!»

Auch die Schweizerischen Bundesbahnen arbeiten mit Open Source. Der Einsatz von Eclipse-Produkten erweist sich in mehrfacher Hinsicht als Vorteil: Einerseits steht ein grosser Pool an frei zugänglichen Plugins zur Verfügung, andererseits haben die SBB auch rasch und unkompliziert eigene Erweiterungen nach ihren spezifischen Anforderungen entwickelt.

Die RCS-Lösungen der SBB basieren auf Eclipse. Wieso setzen die SBB auf Open Source?

Der Einsatz der Eclipse-Plattform hat sich in unserem Projekt in mehrfacher Hinsicht als grosser Vorteil erwiesen: RCS wurde von Anfang an mithilfe der Eclipse-IDE entwickelt, wobei wir auf einen grossen frei zugänglichen Pool an hilfreichen Erweiterungen (Eclipse-Plugins) zugreifen konnten und auch eigene Erweiterungen für unsere speziellen Anforderungen entwickelt haben.

Auch die RCS-Plattform selbst basiert inzwischen weitgehend auf Eclipse-Technologien: Das User-Interface, also zum Beispiel die Arbeitsplätze der Disponenten für den Zugverkehr, basiert auf Eclipse RCP. Serverseitig verwenden wir die Eclipse-OSGI-Implementierung Equinox als Laufzeitcontainer. Die Offenheit der Eclipse-Plattform hat es uns immer wieder erlaubt, Bugfixes und Feature Requests zu platzieren, die wir für RCS benötigt haben.

Da wir bei RCS versuchen, primär Eclipse-Entwurfsmuster und API zu verwenden, finden sich neue Kollegen, die bereits Eclipse-Know-how mitbringen, schnell in unserer Codebasis zurecht.

Wir haben aber neben Open-Source-Produkten durchaus verschiedene kommerzielle Lösungen im Einsatz, die sich für bestimmte Problemstellungen als beste Lösung erwiesen haben, zum Beispiel im Bereich Datenbanken, Real Time Messaging und Optimierung.

Sämtliche Anwendergruppen sind direkt im Projekt vertreten und bringen ihre Anforderungen aus der Praxis ein.

Inwiefern unterscheiden sich die SBB von anderen Bahnunternehmen?

Ich habe als Softwarearchitekt noch kein Unternehmen erlebt, das sich derart mit seinem Produkt identifiziert. Den Willen, die bestmöglichen Lösungen für die effiziente und reibungslose Steuerung des Eisenbahnverkehrs zu entwickeln, spüren wir hier täglich im Projekt: Sämtliche RCS-Anwendergruppen wie Disponenten, Zugverkehrsleiter und Lokomotivführer sind direkt im Projekt vertreten und bringen ihre Anforderungen aus der Praxis ein.

«Eisenbahn ist Herzenssache. Alle wollen, dass es optimal funktioniert.»

Marc Hoffmann, Architekt des RCS-Dispo-Teams

Mit dem Open-Source-Projekt Scout ist BSI stark in der Eclipse-Welt verankert. Was schätzen Sie an der Zusammenarbeit mit BSI besonders?

Da BSI eine Menge Eclipse-Know-how mitgebracht hat, haben sich alle BSI Kollegen sehr schnell in unserer Codebasis zurechtgefunden und konnten von Anfang an wertvolle Beiträge in den einzelnen Projektteams liefern. Was ich neben dem umfangreichen technischen Verständnis persönlich besonderes schätze, ist die Lösungsorientierung und das Engagement der BSI Mitarbeitenden für das Projekt.

Wie verläuft die Qualitätskontrolle in den gemeinsamen Projekten?

Die Qualitätssicherung ist fest in unserem Entwicklungsprozess verankert. Zu jedem Scrum-Team gehört mindestens ein Tester. Auf der Coding-Seite kommen Unittests, Continuous Integration und Continuous Inspection (mithilfe von Sonar) zum Einsatz.

Unsere Entwicklungsumgebungen werden mehrmals täglich mit der vollständigen RCS-Software deployed, so dass uns die Anwendervertreter direkt auf die Finger sehen und die implementierten Lösungen validieren können.

«Das Team steht über allem. Teamwork macht einfach Spass.»

Marc Hoffmann, Architekt des RCS-Dispo-Teams

Da es sich bei RCS um ein sehr sensibles System für den Eisenbahnverkehr in der Schweiz handelt, werden darüber hinaus für jeden Release umfangreiche Integrations- und nichtfunktionale Tests durchgeführt. Jeder RCS-Release wird so etwa zwei Monate lang auf Herz und Nieren getestet, bevor er in Produktion geht.

Nach welcher Projektmethodik gehen Sie vor?

Wir haben vor zwei Jahren Scrum in allen Entwicklungsteams etabliert. Diese Entwicklungsmethodik hat den Projektfortschritt transparenter gemacht, aber auch interne Probleme deutlich aufgezeigt. Nachdem wir diese Probleme schrittweise behoben haben, konnten wir die Entwicklung effizienter gestalten. Und das Arbeiten im Team macht wirklich jede Menge Spass

Marc Hoffmann arbeitet als freier Softwarearchitekt und hat seit 2004 verschiedene kommerzielle Projekte sowie Open-Source-Lösungen auf Basis von Eclipse/RCP mitgestaltet. Für die Schweizerischen Bundesbahnen (SBB) ist Marc Hoffmann seit 2008 als Architekt für ihr Rail Control System (RCS) im Einsatz.