Agile Methoden als Treiber für Innovationen

Design Thinking

von - 06.07.2018
Ein Ansatz, den insbesondere Unternehmen wie SAP und IBM im Rahmen von Software-Entwicklungsprojekten nutzen, ist Design Thinking. Die Methode für Entwicklungsarbeiten lässt sich in ganz unterschiedlichen Bereichen verwenden – von der Werkzeugmaschine bis zum Cloud-Service. Laut Design-Thinking-Konzept sind die Anforderungen von Kunden der Ausgangspunkt von Innovationen, also eine Problemstellung. Das Ziel ist, praxistaug­liche und nutzbringende Lösungen zu entwickeln. Weitere Vorgaben sind: Die Innovationen müssen sich technisch umsetzen lassen und dem Nutzer, sprich Kunden, einen Vorteil bringen.
Taskboard von Scum
Taskboard von Scrum: Es enthält alle Elemente des Backlogs, an dem die Entwickler gerade arbeiten.
(Quelle: Microsoft)
Wesentliche Elemente von Design Thinking sind ein auf den Menschen bezogener Ansatz (Human Centric) und eine enge Zusammenarbeit von Teams mit Mitarbeitern aus unterschiedlichen Sparten – Entwicklern, Fachleuten aus Vertrieb, Marketing und Produktion sowie Führungskräften. Hinzu kommen Kunden und Fachleute von Partnerunternehmen.
Ein weiteres Element von Design Thinking ist – wie bei Scrum – eine iterative Vorgehensweise. Das heißt, Problemanalysen, Entwicklungsschritte und Optimierungen erfolgen schrittweise. Das bedeutet jedoch nicht, dass kein Raum für „verrückte“ Ideen vorhanden sein sollte. Vielmehr ist es wichtig, auch solche Vorschläge zu sammeln und zu prüfen. Eine Schere im Kopf, die beispielsweise die Entwicklung einer App oder eines Online-Services für ein Einsatzfeld sofort ausschließt, sollte es nicht geben.
Michael Wintergerst
Michael Wintergerst
Development Executive – Head of SAP Cloud
Platform Core
Foto: SAP
„Es ist viel wichtiger, eine agile Firmenkultur zu etablieren, als jeder neuen Methode hinterher­zurennen, die als der einzig richtige Weg angepriesen wird.“
Scrum und Design Thinking weisen einige Gemeinsamkeiten auf, so Michael Wintergerst von SAP: „Sowohl bei Design Thinking als auch bei Scrum wird mit kurzen Zyklen gearbeitet. Das Credo heißt hier ‚Fail fast, fail often‘.“ Fehler werden bewusst in Kauf genommen. Idealerweise sollten diese aber eher zu Beginn eines Entwicklungszyklus auftreten, weil sie sich da noch relativ schnell beheben lassen. Doch eine solche Vorgehensweise bedarf Wintergerst zufolge einer entsprechenden Grundeinstellung bei den Entwicklern und einer Firmenkultur, die diese Arbeitsweise unterstützt. „Eine solche Kultur fällt nicht von Himmel, sondern muss durch das Management vorgelebt werden. Auch müssen entsprechende Strukturen geschaffen werden“, so der SAP-Manager.
Vorteil Container-Technologien
Die schnelle Bereitstellung neuer Applikationen hängt nicht nur von Steuerungskonzepten wie Scrum ab. Auch Technologien wie Software-Container spielen eine Rolle.
„Containerisierung bietet einerseits ein Standardformat zum Austausch von Software zwischen Entwicklungsumgebungen, andererseits Standardmethoden zum Betrieb von Applikationen – unabhängig davon, welcher Technologie-Stack im Container verwendet wird“, erläutert Wolfram Richter, Principal Solution Architect – Chief Architect Manufacturing Vertical Germany bei Red Hat. „Für Entwickler bedeutet dies: Sie können die am besten geeignete Technologie wählen, um eine Aufgabe zu bewältigen.“
Speziell bei Microservices, bei denen eine komplexe Applikation in separate fachliche Einzelanwendungen zerlegt wird, ist eine solche Wahlmöglichkeit von Vorteil. Außerdem sind Container verhältnismäßig schlank und ermöglichen eine hohe Packungsdichte. „Damit sind sie ein geeignetes Werkzeug, um eine Applikation, einschließlich ihrer Abhängigkeiten und Konfigurationseinstellungen, von einer Entwicklungsumgebung über Test- und Integrationsstufen in die Produktion zu überführen“, ergänzt Richter. Dieser Vorgang lässt sich mit Hilfe von Continuous Integration und Continuous Delivery (CI/CD) automatisieren.
Verwandte Themen