Einführung moderner Software-Entwicklungsmethodiken

Situation

Ein international führendes Unternehmen der Halbleiterindustrie befindet sich seit 20 Jahren im konstanten Wandel von rein mechanischen Systemen zu komplexen mechatronischen Systemen. Anfänglich wurde die Transformation durch die Integration einiger, weniger Low-Level-Elektronik (Mikrocontrollern) umgesetzt. Dies reicht im Zeitalter der Industrie 4.0 mit exponentiell wachsendem Anteil an Software-Komponenten nicht mehr aus. Maschinen benötigen einen immer höheren Automatisierungsgrad und Kunden erwarten immer stärker spezialisierte Varianten. Diesen stetig wachsenden Herausforderungen stellte sich das Unternehmen anfangs mit einzelnen Entwicklern, die ohne moderne Software-Entwicklungsmethoden, wie zum Beispiel Requirements Engineering, Release Management, Testautomatisierung, Continuous Integration usw. agierten. Da es keinen Software-Entwicklungsprozess gab, waren Releases kaum planbar und im Feld traten häufig Software-Fehler auf. Da auch ein Change-Management fehlte und Änderungen „auf Zuruf“ umgesetzt wurden, ließ sich die Software langfristig weder warten noch wiederverwenden.

Das Unternehmen erkannte schließlich aufgrund von Kundendruck, dass es einen Software-Entwicklungsprozess nach aktuellem Stand der Technik benötigte, und beauftragte Method Park als externe Unterstützung für die Einführung und Durchführung moderner Software-Entwicklungsmethoden.

 

Dauer des Projektes

2 Jahre

1 Systems Engineer (Enterprise Architect)

2 Requirements Engineers (TFS, Doors Next)

1 Product Owner

Scrum Master

5 Engineers (C#, WPF, WCF, Ranorex, nSubstitue, xUnit, TFS)

Haben Sie Fragen?

Wollen Sie sich zu unserem Themen-Portfolio beraten lassen?

Contact card open Contact card close

Lösung

Das Method Park Team erstellte gemeinsam mit dem Kunden ein Konzeptpapier, das die oben genannten Probleme/Herausforderungen in absehbarer Zeit effizient beheben sollte.

Als erstes unterstützte Method Park den Kunden bei der Auswahl einer geeigneten Toolchain für Requirements Engineering, Software Engineering und Testautomatisierung.

Anschließend führte das Team von Method Park den agilen Software-Entwicklungsprozess Scrum in die Software-Entwicklung ein. So sollte der Kunde deutliche flexibler auf inhaltliche Veränderungen und Wünsche der Stakeholder reagieren können. Dadurch sollte das Entwicklerteam außerdem befähigt werden, den Entwicklungsfortschritt in Sprint Reviews besser zu präsentieren.

Mit der Einführung eines umfangreichen Testkonzeptes trat Method Park mangelnder Software-Qualität entgegen. Dies umfasste die Erstellung einer Testspezifikation, das Einführen von Unit Tests mithilfe von Workshops auf Klassenebene mit nSubsitute und xUnit, die Entwicklung einer Testautomatisierung mithilfe von Ranorex zur Umsetzung von Integrations- und Software-Tests sowie das mentale und technische Coaching des Entwicklerteams.

Method Park Engineers entwickelten darüber hinaus einen Simulator (C#, WPF, WCF, .NET), der die verwendete SPS simuliert und so die Entwicklung der Produkt-Software ohne real existierende Maschinen ermöglicht. Mithilfe des Simulators beschleunigte das Team die Entwicklungszyklen, da nun paralleles Arbeiten an der Produkt-Software möglich wurde. Der Simulator war ebenfalls ein wichtiger Baustein für die Testautomatisierung.

Lösung

Continuous Integration (TFS)

Coaching und Einführung des agilen Software-Frameworks Scrum

Coaching und Einführung systematischer Testmethoden auf allen Testebenen

Testautomatisierung (Ranorex)

Unit Testing (nSubstitute, xUnit)

Entwicklung eines Simulators (C#, WPF, WCF, .NET)

Coaching zu den Themen Requirements Engineering, UML, Software Architektur, Software Tests

 

 

Ergebnis

Auf Grund der hervorragenden Zusammenarbeit zwischen Kunde und Method Park konnte bereits nach einem Jahr eine neue Produktlinie erfolgreich auf den Markt gebracht werden. 

Die Stimmung beim Kunden ist seitdem deutlich gestiegen, da Auftraggeber mehrfach positives Feedback zur Software-Stabilität gaben.

„Einsame Software-Helden“ gehören der Vergangenheit an, da Scrum den Teamgedanken in den Vordergrund rückt und somit für jedes Teammitglied eine spannende und herausfordernde Aufgabe bereitstellt.

Das Testframework für die Testautomatisierung ist modular gestaltet, damit es ohne große Anpassungen auf andere Produktlinien portiert werden kann.

Das fachlich überzeugende Auftreten des Method Park-Teams stellte den Kunden äußerst zufrieden, sodass Method Park weiterhin beauftragt wurde, an neuen Produktlinien mit zu entwickeln. Aktuell erstellt Method Park gemeinsam mit dem Kunden eine Software-Plattform, die auf verschiedenen Produktlinien des Unternehmens zum Einsatz kommen wird. 

 Benefits:

Erfolgreiche Auslieferung einer neuen Produktreihe 

Release- und Bug-Management

Signifikante Steigerung der Software-Qualität 

Stimmung der Mitarbeiter deutlich gestiegen

Ständige Weiterentwicklung durch Coaching