Werden Produkte besser entwickelt als vom Kunden erwartet, hat das Overengineering-Phänomen um sich gegriffen. Damit die Kosten im Rahmen bleiben und Projekte nicht ausufern, muss das Anforderungsmanagement stimmen.
Overengineering ist in vielen Unternehmen ein Problem, das zunehmend hohe Kosten verursacht. Wird ein Produkt mit unnötigen Funktionen überladen, wird es dadurch automatisch komplexer und teurer als anfangs erwartet. Auch bei Dienstleistungen gibt es dieses Phänomen. Gründe dafür gibt es viele – nicht zuletzt mangelhaftes Anforderungsmanagement und ein fehlendes Verständnis für die Bedürfnisse des Anwenders, aber auch der grundsätzlich positive Wunsch, durch Innovation aus der Masse hervorzustechen.
Der Kunde will jedoch nicht immer die aller neueste technische Innovation haben, sondern ein Produkt oder eine Dienstleistung, die seine Erwartungen zuverlässig erfüllen und dabei möglichst erschwinglich bleiben. Es gilt also, dieses Ziel während der gesamten Entwicklung im Blick zu behalten und durch effektives Anforderungsmanagement dafür zu sorgen, dass jedes Feature einen echten Mehrwert für die Zielgruppe bietet. Fünf Tipps, mit denen dies in Unternehmen gelingt.
1. Ziele im Vorfeld definieren
Irgendwann ist im Entwicklungsprozess eine "magische Grenze" erreicht, ab der sich weitere Optimierungen nicht mehr wirtschaftlich rechtfertigen lassen. So steigt gemäß des Pareto-Prinzips der Aufwand für weitere Schritte massiv an, sobald 80 Prozent des Entwicklungspotenzials erreicht sind. Hier weiter zu machen, mündet schließlich in Überschreitungen des Zeitplans oder des Budgets.
Es ist also aus Kostengründen nicht zielführend, ein Produkt zu entwickeln oder eine Dienstleistung anzubieten, die alles kann. Stattdessen gilt es, klare Zielsetzungen und Meilensteine zu verfolgen. Das Erscheinungsdatum ist dabei ebenso wichtig wie die Frage, welchen Mehrwert sich für den Kunden ergibt. Letzteres sollte eindeutig in einem Anforderungsprofil definiert werden, das bei Produkten vorgibt, was diese funktional sowie in den Bereichen Sicherheit, Design, Benutzerfreundlichkeit und Markenidentität bieten sollen.
Bei Dienstleistungen ist eine klare Kommunikation über die Leistungsfähigkeit und Grenzen der Dienstleistung unabdingbar, um unrealistische Kundenerwartungen zu vermeiden und dadurch unnötige Erweiterungen der Dienstleistung zu verhindern. Auch gilt es, eine Balance zwischen personalisierten und standardisierten Servicekomponenten mit dem Kunden zu finden.
Denn zu viele Individualisierungen können zu Überkomplexität führen, während zu viele Standardisierungen die Kundenzufriedenheit beeinträchtigen. Die Dienstleistung sollte außerdem so konzipiert sein, dass sie bei steigender Nachfrage leicht angepasst werden kann, ohne an Qualität zu verlieren oder unnötig kompliziert zu werden. Regelmäßige Feedback-Schleifen können hier helfen, um Verbesserungspotenziale zu identifizieren, ohne in Overengineering zu verfallen.
2. Den Markt im Auge behalten
Auch der Blick auf die Konkurrenz kann sich als lohnend erweisen. So gibt die Analyse von Wettbewerbern Anhaltspunkte dafür, in welche Richtung sich das eigene Produkt oder die eigene Dienstleistung entwickeln sollten und was die Zielgruppe voraussetzt. Nicht gewünschte Features oder ungünstige Ansätze können auf diese Weise vermieden werden, um den Entwicklungsprozess effizienter zu gestalten.
Gleichzeitig bietet der Blick auf die Konkurrenz einen Einblick, welche Lösungen sich für häufige Probleme oder häufig gewünschte Features bewährt haben. Dadurch ist es oftmals möglich, Zeit für die Neuentwicklung von Lösungen einzusparen, indem etablierte Ansätze aufgegriffen werden.
3. Etablierte Lösungen hinterfragen
Die Ideen, die bereits existieren, sind jedoch nicht in Stein gemeißelt - ansonsten wäre es nicht sinnvoll, neue Produkte und Dienstleistungen zu entwickeln. Je mehr Innovation ein Projekt mit sich bringen soll, desto weiter muss es sich in der Regel von etablierten Lösungen entfernen. Häufig kann daher nur ein Teil eines bereits existierenden Ansatzes verwendet werden. Es ist also unerlässlich, bei jeder bestehenden Idee kritisch zu hinterfragen, ob sie für das eigene Projekt anwendbar ist und ob sie zukünftiges Entwicklungspotenzial besitzt.
Ferner sollten Unternehmen, die innovative und wirtschaftlich erfolgreiche Produkte und Dienstleistungen vertreiben wollen, immer offen für neue Ideen bleiben. Zu diesem Zweck ist es zunächst notwendig, eine Umgebung zu schaffen, die kreatives Denken begünstigt und in der Projektbeteiligte mit neuen Ansätzen experimentieren können.
4. Neue Perspektiven ins Entwicklungsteam bringen
Expertise ist zweifellos wertvoll, jedoch kann sie auch zu viel des Guten sein. Entwicklungsteams, die nur aus Spezialisten für die technische Seite des Projekts bestehen, neigen daher besonders zu Overengineering. Stattdessen sollte das Team so zusammengesetzt sein, dass alle relevanten Perspektiven gehört werden. Es sollten also neben Experten aus der Entwicklungsabteilung unter anderem auch Menschen in den Designprozess involviert werden, die mit den wirtschaftlichen Hintergründen und den Bedürfnissen der Zielgruppe vertraut sind.
Ebenso muss der Entwicklungsprozess klaren Prinzipien folgen. Erfahrungen aus vergangenen Projekten können dabei dazu dienen, Best Practices zu etablieren und klare Abläufe zu definieren. Dabei darf das Unternehmen allerdings auch den Draht zu den Stakeholdern des Projekts nicht vergessen. Diese sollten im Rahmen von Feedback-Schleifen und regelmäßiger Kommunikation die Gelegenheit bekommen, den Kurs der Entwicklung zu korrigieren und Missverständnisse frühzeitig aus der Welt zu schaffen.
5. Entwickler mit den richtigen Werkzeugen ausstatten
Damit sich die Kommunikation von Anforderungen und Zielen möglichst effizient gestaltet, sind zudem die richtigen Werkzeuge erforderlich. Excel-Tabellen reichen häufig nicht aus, um komplexe Anforderungen festzuhalten oder Änderungen sicher zu dokumentieren.
Daher sollten Unternehmen prüfen, ob sie ihrer Entwicklungsabteilung spezielle Engineering-Tools zur Verfügung stellen, die die Definition, Priorisierung und Dokumentation von Anforderungen im Detail ermöglichen, ohne in die Stolperfalle Overengineering zu tappen.