IT-Development für den User: Mit DevOps und Design Thinking

Sauberer Quellcode ist ein wesentliches Merkmal von guter Software. Denn Anwendungen laufen durch sauberen Code schnell und zuverlässig, Programme bleiben durch ihn auch für künftige Entwickler verständlich und handhabbar. Und doch: Selbst der beste Code macht noch keine gute Software aus. Vielmehr kommt es auf zwei weitere Elemente an. Zum einen sind das Funktionen, die dem User Mehrwert bringen und ihn sein gewünschtes Ziel erreichen lassen. Zum anderen müssen moderne Anwendungen eine bedienungsfreundliche, leicht verständliche Oberfläche mitbringen, die so attraktiv ist, dass sie gerne genutzt wird.

In dem Maße, in dem die Ansprüche an Software steigen, stehen die Entwickler vor einem Problem: Woher sollen sie wissen, was die tatsächlichen Bedürfnisse der Nutzer sind? Welche Funktionen sind nicht nur in der Theorie wichtig, sondern erfüllen Anforderungen, die reale Menschen in realen Situationen stellen? Und wie lässt sich herausfinden, welche Eigenschaften die Benutzeroberfläche mitbringen muss, damit User sie mögen? Um sich den Antworten zu nähern, kam bislang klassisches Requirements Engineering zum Einsatz. Mit überschaubarem Erfolg. Inzwischen findet aber ein Wandel im Mindset statt: Weg vom Projekt-Denken mit vordefinierten Anforderungen – hin zum Produkt-Denken mit für den Nutzer designten Services.

Kundennähe mit DevOps

Wollen Entwickler einen am User ausgerichteten Produktgedanken in den Mittelpunkt stellen, funktioniert das nur, wenn Teams, die früher getrennt voneinander gearbeitet haben, miteinander kooperieren: Das Entwicklerteam, die Betreiber und die Nutzer müssen dafür nah zusammenrücken und wechselseitige Feedback-Kanäle etablieren. Der direkte Austausch ist das entscheidende Mittel, um die wahren Nutzerwünsche zu erfahren und zielgenau umzusetzen. Ein darauf abzielender Ansatz ist DevOps. Mit dieser Methode zur Prozessverbesserung können alle Beteiligten partnerschaftlich agile Prozesse aufbauen und die Entwicklung aus Sackgassen heraushalten.

Dadurch, dass Entwickler und User in DevOps unmittelbar miteinander sprechen, weiß die eine Seite immer, was die andere benötigt. Und weil mit DevOps neue Funktionen, Änderungen der GUI oder Sicherheitselemente in kurzen Zyklen entwickelt und an die Nutzer ausgespielt werden, lässt sich die Software schnell und kleinteilig verbessern und freigeben. Daher ist DevOps auch als Ansatz zu verstehen, der weit über einzelne Entwicklungsprojekte hinausweist. Es ist eine Methode, die den gesamten Software Development Life Cycle agil hält und die Qualität (aus Kundensicht!) kontinuierlich erhöht.

Auf Dauer angelegt

Der DevOps-Ansatz ist allerdings nicht als Technik, Tool oder agile Methode zu verstehen. Es geht eher um eine Denkweise oder Kultur, die in einem agilen Umfeld mit Continuous Delivery, Automatisierung und anderen Techniken hilft, die Effizienz und Innovationskraft zu steigern. Darauf müssen sich beide Seiten einlassen: Die Entwickler erlauben tiefe Einblicke in ihre Arbeitsweise und sehen es als Vorteil, dass ihre Arbeitsergebnisse durchgehend bewertet werden. Die Betreiber und Nutzer stellen sich auf häufige Änderungen und kurze Release-Folgen ein und geben konstruktives Feedback.

Wenn DevOps von den Beteiligten konsequent umgesetzt wird, führt die enge Kommunikation dazu, dass Einigkeit über Zielvorgaben herrscht und Missverständnisse minimiert werden. Tauchen im Entwicklungsprozess oder im Betrieb Probleme auf, so ermöglichen kurze Feedbackschleifen, diese rasch anzugehen. Für eine dauerhafte Kundenzufriedenheit sind beide Punkte Gold wert. – In der Praxis allerdings fehlt noch ein wichtiges Element: Schließlich reicht es nicht, immer genauer zu ermitteln, was der Kunde will und braucht. Dieses Wissen muss in neue Ideen umgesetzt werden, in innovative Produkte, die den Kunden ans Ziel bringen.

Design Thinking als kreativer Katalysator

Der Schritt, auf individuelle Zielvorgaben oder auf unerwartete Problemstellungen mit innovativen Lösungen zu antworten, ist keineswegs trivial. Fachwissen und Methodenkompetenz werden hier durch einen kreativ-schöpferischen Prozess ergänzt. Doch leider kommen kreative Eingebungen nicht auf Bestellung. Besonders dann nicht, wenn sie unter Zeitdruck entstehen müssen und realisierbar, nützlich und effizient sein sollen. Gesucht wird also ein Ansatz, der Teams dabei unterstützt, kreative Lösungen und Innovationen zu erschaffen – wie Design Thinking.

Im modernen Entwicklungsprozess sind es Entwickler gewohnt, Kundenvorgaben mit etablierten Technologien und standardisierten Entwurfsmustern umzusetzen. Vor dieser technischen Aufgabe steht jedoch die kreative Problemlösung aus Nutzerperspektive. Um auch diesen Teilprozess strukturiert und weitgehend planbar zu gestalten, greift Design Thinking auf einen iterativen Prozess zurück. Darin arbeiten interdisziplinäre Teams (beispielsweise Entwickler, Fachabteilungen und Endanwender) miteinander und finden schrittweise den „Sweet Spot“ für Innovationen. Also eine Lösung, die zugleich attraktiv ist für die Nutzer, rentabel fürs Geschäft und technologisch machbar. Dabei besteht Design Thinking im Wesentlichen aus sechs Einzelschritten:

1. Aufgabe verstehen
Das Problem der Zielgruppe wird erläutert und definiert. Auch wird beschrieben, wie die Nutzer bislang zu einer Lösung kommen.

2. User beobachten
Die Annahmen aus dem ersten Schritt werden dadurch überprüft, dass die Nutzer in ihrem realen Umfeld beobachtet und befragt werden.

3. Sichtweise definieren
Aus den vorangegangenen Schritten werden Einsichten (Insights) aus verschiedenen Perspektiven (Nutzer, Betreiber, Entwickler) formuliert.

4. Ideen finden
Über Brainstorming, Mindmapping oder andere intuitive Techniken entwickeln gemischte Teams grobe Lösungsansätze.

5. Prototypen entwerfen
Die Ideen erhalten eine visuelle Gestalt, an der die Entwickler erste Erfahrungen sammeln können.

6. Produkte testen
Die Prototypen werden mit der Zielgruppe getestet – und gegebenenfalls umgehend verworfen. Dieser Prozess wiederholt sich so lange, bis ein Gros der Zielgruppe von der Idee überzeugt ist.

Hoher Nutzen – hohe Akzeptanz

Ganz im Sinne des DevOps-Gedankens spielt also auch hier der kontinuierliche Dialog der Beteiligten eine entscheidende Rolle. Das Design Thinking peilt dabei zunächst ein „Minimum Viable Product“ an – ein erstes einsatzfähiges Produkt, das im Austausch miteinander immer weiterentwickelt wird. Auf dem Weg sind die Prototypen entscheidend. An ihnen lässt sich testen, ob Design-Konzepte vom User so verstanden werden, wie von den Entwicklern erwartet. Das Verhalten des Nutzers wird dabei genau beobachtet, damit die fertige Anwendung auch mit unerwarteten Aktionen umgehen kann. Auf diese Weise lassen sich Denk- und Design-Fehler frühzeitig beheben und das Team kann sein Produkt nachbessern.

Die Entwickler müssen in der Lage sein, ihre Perspektive gegen die der Nutzer einzutauschen. Und auch Management und CIOs sollten experimentierfreudig sein und nicht länger Funktionen in den Mittelpunkt stellen. Denn die Mitarbeiter werden sperrige und altmodische Anwendungen immer weniger annehmen. Schließlich sind sie aus ihrem Privatleben praktische und elegante Services gewohnt – mit wachsenden Erwartungen. Deshalb ist die Akzeptanz einer strikt kundenorientierten Lösung mithilfe von DevOps und Design Thinking vom ersten Moment an ungleich höher, als es mit traditionellem Requirements Engineering möglich wäre.

E-Book:
Kernkompetenzen agilen Führens und Arbeitens in der IT

ZUM DOWNLOAD

E-Book: Agiles Projektmanagement mit Scrum


ZUM DOWNLOAD

E-Book:
Stressbewältigung: 10 Tipps für einen entspannten Tag

ZUM DOWNLOAD

E-Book: Tipps für mehr Durchsetzungs-
vermögen

ZUM DOWNLOAD