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.
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. Das Manufacturing Execution System (MES) HYDRA optimiert Produktionsprozesse für Fertigungsunternehmen, um Wettbewerbsvorteile zu erzielen. ‣ weiterlesen
MES-Integrator und 360-Grad-Partner für optimierte Fertigung
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.