Die Ausgangssituation
Ein international führendes Unternehmen der Halbleiterindustrie befindet sich seit 20 Jahren in einem stetigen Wandel von rein mechanischen zu komplexen mechatronischen Systemen. Anfänglich wurde die Transformation durch die Integration von Low-Level-Elektronik (Mikrocontroller) umgesetzt. Im Zeitalter von Industrie 4.0, in dem immer mehr Softwarekomponenten zum Einsatz kommen, reicht das allerdings nicht mehr aus. Maschinen müssen immer stärker automatisiert und an spezielle Kundenwünsche angepasst werden können.
Diesen wachsenden Herausforderungen stellte sich das Unternehmen anfangs mit einzelnen Entwicklern und ohne moderne Softwareentwicklungsmethoden wie Requirements Engineering, Releasemanagement, Testautomatisierung oder kontinuierlicher Integration. Ohne einen Softwareentwicklungsprozess waren Releases jedoch kaum planbar und Softwarefehler keine Seltenheit. Da auch ein Änderungsmanagement fehlte und Änderungen „auf Zuruf“ durchgeführt wurden, war die Software langfristig weder wartbar noch wiederverwendbar.
Mit zunehmendem Kundendruck erkannte das Unternehmen, dass es höchste Zeit für einen Softwareentwicklungsprozess nach neuestem Stand der Technik war. Zur externen Unterstützung bei der Einführung und Implementierung moderner Softwareentwicklungsmethoden wurde UL Solutions Software Intensive Systems hinzugezogen.
Projektdauer und -ressourcen
- Zwei Jahre
- Ein Systemingenieur (Unternehmensarchitekt)
- Zwei Requirements Engineers (TFS, DOORS Next)
- Ein Product Owner
- Ein Scrum Master
- Fünf Ingenieure (#C, WPF, WCF, Ranorex, nSubstitute, xUnit, TFS)
Unser Ansatz
Gemeinsam mit dem Kunden erarbeitete das SIS-Team ein Konzept, mit dem die oben genannten Probleme und Herausforderungen zeitnah und effizient gelöst werden sollten.
Als erstes unterstützte SIS den Kunden bei der Auswahl einer geeigneten Toolchain für Requirements Engineering, Softwareengineering und Testautomatisierung.
Anschließend führte das SIS-Team den agilen Softwareentwicklungsprozess Scrum ein. Damit sollte der Kunde wesentlich flexibler auf inhaltliche Änderungen und Wünsche der Stakeholder reagieren können. Und außerdem konnte das Entwicklungsteam so den Entwicklungsfortschritt in Sprint Reviews besser präsentieren.
Die mangelnde Softwarequalität sollte durch ein umfassendes Testkonzept behoben werden. Dazu gehörten die Erstellung von Testspezifikationen, die Einführung von Unittests mit Workshops auf Klassenebene von nSubsitute und xUnit, die Entwicklung einer Testautomatisierung mit Ranorex zur Implementierung von Integrations- und Softwaretests sowie das mentale und technische Coaching des Entwicklungsteams.
Zusätzlich entwickelten die SIS-Ingenieure einen Simulator (C#, WPF, WCF, .NET), der die eingesetzte SPS simuliert und so die Entwicklung von Produktsoftware ohne reale Maschinen ermöglicht. Mit dem Simulator konnte das Team die Entwicklungszyklen beschleunigen, da eine parallele Entwicklung der Produktsoftware möglich war. Der Simulator war ebenfalls eine wichtige Komponente für die Testautomatisierung.
Highlights unseres Ansatzes
- Kontinuierliche Integration (TFS)
- Coaching und Einführung des agilen Softwareframeworks Scrum
- Coaching und Einführung systematischer Testmethoden auf allen Teststufen
- Testautomatisierung (Ranorex)
- Unittests (nSubstitute, xUnit)
- Entwicklung eines Simulators (C#, WPF, WCF, .NET)
- Coaching zu den Themen Requirements Engineering, UML, Softwarearchitektur, Softwaretests
Vorteile
Durch die hervorragende Zusammenarbeit zwischen dem Kunden und SIS konnte bereits nach einem Jahr erfolgreich eine neue Produktlinie auf den Markt gebracht werden.
Die Stimmung beim Kunden hat sich seitdem deutlich verbessert, da mehrfach positives Feedback zur Softwarestabilität eingegangen ist.
Das Testframework für die Testautomatisierung ist modular aufgebaut und kann ohne große Anpassungen auf andere Produktlinien übertragen werden.
Das technische Fachwissen des SIS-Teams hat den Kunden mehr als überzeugt, weshalb er sich auch bei der Entwicklung weiterer Produktlinien von SIS unterstützen lässt. Aktuell erstellt SIS gemeinsam mit dem Kunden eine Softwareplattform, die für verschiedene Produktlinien des Unternehmens zum Einsatz kommen wird.
Die wichtigsten Vorteile für den Kunden im Überblick:
- Erfolgreiche Auslieferung einer neuen Produktlinie
- Release- und Fehlermanagement
- Deutlich gesteigerte Softwarequalität
- Deutlich bessere Stimmung bei den Mitarbeitern
- Ständige Weiterentwicklung durch Coaching
Mehr zu dem Thema
Kontaktieren Sie unser Team
Vielen Dank für Ihr Interesse an unseren Produkten und Dienstleistungen. Wir würden gerne ein paar Informationen sammeln, damit wir Sie mit der richtigen Person in Kontakt bringen können.