Industrie-Anwendungen agil entwickeln

Auch für Industriebetriebe gewinnt Software als Produktbestandteil an Bedeutung. Der agile Entwicklungsprozess Scrum bietet dazu einfache Regeln, während sich das skalierbare V-Modell durch eine eindeutige Schnittstelle zwischen Auftraggeber und -nehmer auszeichnet. In Kombination können die beiden Methoden als verbindlicher und dennoch flexibler Rahmen für Software-Projekte dienen.



Software-Entwicklung nach dem Scrum-Prinzip geht von einem Product Backlog aus. Die dort hinterlegten Anforderungen an die zu entwickelnde Software werden ihren Prioritäten entsprechend in sogenannten Sprints abgearbeitet. Bild: Phoenix Contact Deutschland GmbH

Viele Industrieunternehmen – etwa Hersteller von Automatisierungstechnik – programmieren zunehmend auch Software für ihre Kunden, die damit immer häufiger zu einem Entscheidungskriterium bei der Suche nach einem geeigneten Anbieter oder der passenden Lösung wird. Außerdem steht zu erwarten, dass die Bedeutung von Software für die Kundenbindung weiter wächst. Um innovative und erfolgreiche Anwendungen zu entwickeln, müssen Unternehmen ihre Entwicklungsprozesse allerdings in vielen Fällen zunächst anpassen. Denn Industrieunternehmen sind keine typischen Software-Entwickler und -Lieferanten, da sich ihre Entwicklungsprozesse in der Regel auf die Konzeption von Hardware ausrichten. Diese Abläufe entsprechen nicht immer der effizienten Entwicklung von Software.

Verantwortlichkeiten im Prozess hinterlegt

Fertigungsunternehmen greifen für die Produktentwicklung in der Regel auf das V-Modell als Standard zurück, wenn Endkunde oder Zielbranche eine Zertifizierung von Entwicklungsabläufen und Audits fordern. Auch in der Software-Entwicklung wird vielfach nach dem V-Modell gearbeitet. Der Ansatz beginnt zunächst mit der Anforderungsanalyse, einer Planung der Inkremente und dem Software-Entwurf, dem ein oder mehrere Implementierungsschritte folgen. Auf Seiten der Qualitätssicherung gibt es eine analoge Abfolge über Modul-, Integrations- sowie System- und Abnahmetests. Das V-Modell wird von einem ‚Quality-Gate‘-Prozess überlagert, bei dem der jeweils nächste Schritt nur gestartet werden darf, wenn der aktuelle Schritt gemäß einer Checkliste abgeschlossen ist. Der Vorteil dieser Vorgehensweise liegt in einer durchgängigen Dokumentation des Projektfortschritts und der Terminplanung sowie der klaren Zuweisung von Rollen und Verantwortlichkeiten. Die Praxis zeigt jedoch, dass insbesondere bei der Software-Entwicklung Termine häufig nicht eingehalten werden können und die Ergebnisse unter Umständen nicht den Wünschen des Auftraggebers entsprechen.

Agile Methoden zur Software-Entwicklung

Alternativ steht deshalb eine Reihe agiler Entwicklungsmethoden zur Verfügung, die hauptsächlich in kleinen Unternehmen genutzt werden. Die Methoden gehen davon aus, dass sich Anforderungen während des Projektverlaufs inhaltlich, aber auch in ihrer Priorität verändern können. Dazu zählt auch der Scrum-Prozess, der auf einem zentralen Lastenheft, dem Product Backlog basiert. Hier sind alle Anforderungen an die Software aufgeführt und mit Prioritäten versehen. Die Verantwortung für das Dokument liegt in der Rolle des Product Owners. Umgesetzt wird das Lastenheft in sogenannten Sprints. Hierbei handelt es sich zum Beispiel um vier Wochen Inkremente, in denen ein Team die Anforderungen prioritätsgesteuert abarbeitet. Für die Zuordnung der Arbeitsprozesse und deren Realisierung ist das Team zuständig. Am Ende des Sprints wird das Ergebnis dem Product Owner vorgestellt, Feedback eingeholt und dieses bei Bedarf in Form priorisierter Anforderungen in den Product Backlog geschrieben. Auf diese Weise nähern sich Beteiligte aus Entwicklungs- und Marketing-Abteilung in enger Abstimmung dem Software-Release.