PROBLEM DRIVEN DEVELOPMENT

In der Welt der Softwareentwicklung müssen wir manchmal die Anforderungen der Kunden so schnell umsetzen, dass selbst diese sie nicht im vollen Umfang überblicken können. In diesem Umfeld wenden wir das „Problem Driven Development“ an. Wir entwickeln von Version zu Version ein Produkt, das technisch einwandfrei ist, aber fachlich nicht alle Kundenanforderungen abdeckt – bis zu einem gewissen Punkt nichts Ungewöhnliches.

Die Dynamik ändert sich, wenn plötzlich eine neue Anforderung auftaucht, die durch ein konkretes Problem für Endkunden entstanden ist. Der Endbenutzer kann nicht arbeiten und wartet regelrecht auf eine Lösung, und das stündlich. Dies markiert den Beginn einer intensiven Phase, in der wir eine Fehleranalyse durchführen, um herauszufinden, warum der aktuelle Stand nicht das erwartete Ergebnis liefert. In dieser Phase müssen wir alle Projektbeteiligten, einschließlich der Entwickler, aktiv zusammenarbeiten. Nach der Analyse haben die Entwickler ein klares Bild davon, was erwartet wird, und müssen unter Zeitdruck beginnen, das gewünschte Verhalten zu implementieren.

IHR BENEFIT

Das Besondere dabei: Wir erstellen die Anforderungsdokumentation und die Story parallel zur Entwicklungsarbeit und synchronisieren sie zu einem späteren Zeitpunkt. Erst nach dieser Synchronisation können wir die Story vollständig überprüfen und in den Entwicklungsplan integrieren. Das eigentliche Problem wird also während des Entwicklungsprozesses gelöst, und wir befinden uns schneller als gedacht im „Problem Driven Development“-Modus. In solchen Phasen ist es entscheidend, dass das Team als Einheit agiert und trotz des Drucks und der Wichtigkeit der Aufgaben die Menschen um sich herum nicht aus den Augen verliert. Nur durch gemeinsame Anstrengungen können wir eine Krise im Projekt überstehen und den Mut fassen, wieder zu den klassischen Projektmethoden zurückzukehren. Nach einer überstandenen Phase entsteht im Team ein starker Zusammenhalt, und der Kunde hat großes Vertrauen in die Arbeit des Teams. Denn letztendlich zeigt sich in solchen Herausforderungen, dass Zusammenarbeit und Teamgeist der Schlüssel zur Bewältigung jeder Krise eines Projekts sind.

Quelle: re:think Innovations GmbH

1. PROBLEM

In einem Augenblick der Erkenntnis wird ein Verhalten identifiziert, das die reibungslose Ausführung der Arbeit behindert. Dieses Phänomen stellt keine bloße Störung dar, sondern vielmehr eine bislang unentdeckte Anforderung. Es wäre unangebracht, Schuld zuzuweisen, da diese Umstände in der Regel niemandem bewusst waren. Der Nutzer mag es als Fehlverhalten betrachten, während das Requirement Engineering es als eine unerwartete Lücke in den Anforderungen betrachtet. Für uns jedoch ist es einfach ein Problem, das es zu lösen gilt.

2. ANALYSE

Alle beteiligten Parteien suchen gemeinsam nach einer Lösung. Ihr voller Fokus liegt darauf, das Problem umfassend einzugrenzen und potenzielle weitere Herausforderungen auszuschließen.

3. LÖSUNG

Gemeinsam wird eine Lösung erarbeitet, die das Problem effektiv lösen kann. Alle beteiligten Parteien bleiben weiterhin involviert, um ein effizientes Ergebnis zu erzielen.

4. AUSARBEITUNG

Eine Lösung wurde gefunden, während parallel dazu die Anforderungen aufgenommen und schriftlich festgehalten werden. Die entsprechenden Änderungen werden im Hotfix-Modus in die produktive Umgebung integriert, um den Benutzern das Ergebnis so schnell wie möglich bereitzustellen

5. DEFINITION

Die Ausarbeitung wird allen beteiligten Interessengruppen präsentiert und umfassend erläutert. Bei erfolgreicher Definition wird die Veröffentlichung der Lösung in die Produktivumgebung freigegeben.

6. FAZIT

Der User gibt Feedback, ob die erarbeitete Lösung zu einer zufrieden stellenden Arbeitsweise führt. Bei positiven Feedback ist der User in effizienter Zeit glücklich.

 

Grundsätzlich stärkt dieses Verfahren die Zusammenarbeit und fördert den Respekt unter den Beteiligten, da sie gemeinsam an einem Strang ziehen, um schnellstmöglich ihre Ziele zu erreichen. Durch das Verständnis der Nutzer für die Entwicklung entsteht Vertrauen in die effiziente Lösung von Problemen, sei es eine neue UserStory, ein Improvement, ein Bug oder ein Hotfix.

#softwareengineering #clouddevelopment #manageddevelopments #managedservices #multidisciplinaryteam

Lukas Zornhagen

Senior cloud engineer

DIESEN BEITRAG TEILEN:

Facebook
Twitter
LinkedIn
XING
WhatsApp
Email

DIREKT ZUM BERATUNGSTERMIN

VLADIMIR AFONICHEV
+49 174 6865 510
[email protected]

WEITERE BEITRÄGE UND WHITEPAPER

Was ist generative KI: Terminologie

Was ist generative KI: Terminologie

Einführung Generative KI ist ein dynamisches und sich schnell entwickelndes Feld innerhalb der künstlichen Intelligenz. Es konzentriert sich auf die Entwicklung von Algorithmen, die neuartige

Weiterlesen »

IHR KONTAKT ZU UNS

SEnden sie uns einfach eine anfrage mit ihrem anliegen.

Ihre digitale Transformation beginnt hier!

Sie haben konkrete Fragen oder wollen unser Portfolio kennenlernen? Geben Sie uns Bescheid und wir rufen Sie zu Ihrem Wunschtermin zurück!

Sie können uns auch gerne direkt anrufen.