Skip to main content

Was ist DSDM?

Die Dynamic Systems Development Method (DSDM) ist ein agiles Projektlieferframework, das erstmals 1994 entstand und zu dieser Zeit für die Softwareentwicklung genutzt wurde. Sie sollte eine Verbesserung gegenüber Rapid Application Development (RAD) darstellen, bei der schnelles Prototyping und Iterationen auf Basis von Nutzerfeedback im Mittelpunkt standen. Wie viele agile Methoden für die Projektabwicklung entwickelte sich das DSDM Agile Project Framework letztlich von einer reinen Softwarelösung hin zu einem allgemeinen Projektmanagement-Tool.

Elemente der Dynamic Systems Development Method umfassen:

  • Hebt sich von anderen Methoden durch die Abhängigkeit von soliden Grundlagen und Governance ab
  • Inkrementeller, iterativer Ansatz für den Fortschritt 
  • Nutzer- oder Kundenfeedback ist entscheidend für kontinuierliche Verbesserungen 
  • Stützt sich auf strikte Kosten-, Qualitäts- und Zeitvorgaben 
  • Priorisiert den Umfang nach Muss, Sollte, Könnte oder Wird nicht umgesetzt

Neben der Methode selbst führte DSDM auch zur Gründung des DSDM Consortium im Jahr 1994. Softwareingenieure und andere Experten schlossen sich zusammen, um das Framework als valide Alternative zu den gebräuchlicheren Rapid Application Methodologien zu entwickeln und zu verbessern. Zu dieser Zeit umfasste die Gruppe Vertreter von Unternehmen wie British Airways, American Express, Oracle, Logica, Data Sciences und Allied Domecq. Die Gruppe ist inzwischen umbenannt und firmiert heute als Agile Business Consortium.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Das DSDM-Handbuch wurde 2014 kostenlos online zur Ansicht und Nutzung bereitgestellt.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

DSDM vs RAD vs Agile

Die RAD-Methode war Anfang der 1990er Jahre als Systementwicklungsmethode für Softwareentwicklungs- und andere IT-Projekte äußerst beliebt. In dieser Zeit gab es einen Wandel von der traditionellen „Green Screen“-Benutzeroberfläche zu den grafischen Benutzeroberflächen, wie wir sie heute aus der Technik kennen. Diese Veränderung sorgte dafür, dass sich auch der Entwicklungszyklus anpassen konnte – durch die neue Art von visueller UI für die Kommunikation, schnelles Prototyping und Iteration. 

Die RAD-Methode war eine recht chaotische agile Systementwicklung. Es gab keinen einheitlichen Ansatz oder eine allgemeingültige Definition. Agile DSDM war ein strukturierterer Ansatz für dieses Softwareentwicklungsmodell. Die Dynamic Systems Development Method setzte einen starken Fokus auf Zeit- und Kostenkontrollen durch strikte Priorisierung des Umfangs. Ebenso wird die Kommunikation (und daraus resultierendes Handeln) zwischen allen Stakeholdern priorisiert. 

DSDM ist nicht nur strikt bei Terminen und Budgets, sondern hat auch einen festen Ablauf: Vorprojektphase, Projektlebenszyklusphase und Nachprojektphase. RAD-Softwareentwicklungsmethoden setzen mehr auf freie Arbeitsweise, lassen Kreativität und Unabhängigkeit auch auf Kosten von Ressourcenverbrauch überwiegen. 

Scrum vs DSDM

Scrum und DSDM weisen viele Gemeinsamkeiten auf, unterscheiden sich aber in einigen wichtigen Punkten. Manche sind rein terminologisch, etwa unterteilt DSDM die Arbeit in „Engineering Activity“ (auch bekannt als Entwicklungsphase) und „Emerging Solution“ (auch bekannt als Ergebnis). Bei Scrum hingegen wird das Ergebnis als „Potentiell auslieferbares Inkrement“ bezeichnet. 

Beide Methoden haben Aufgabenlisten, die anhand straffer Fristen abgearbeitet werden. Beide bauen darauf auf, ein fertiges Projekt zu erreichen, wobei Scrum dies kennzeichnet, wenn das Projekt den „Definition-of-Done“-Status erreicht hat. Allerdings gibt es im Projektverlauf keinen festgelegten Zeitpunkt, zu dem diese „Definition of Done“ vereinbart wird. Dies ist ein wesentlicher Unterschied zwischen Scrum und DSDM. 

Bei DSDM gibt es eine bestimmte Phase, in der die Definition der Arbeit (und der fertigen Arbeit) festgelegt wird: die Foundation-Phase des Projekts. Diese findet relativ früh statt, wodurch manchmal noch unbegründete Annahmen in die Planung einfließen. Aus diesem Grund wird die Definition der „fertigen“ Arbeit regelmäßig im Projektverlauf überprüft. Auch wichtig: Teamleiter sollen Big Design Up-Front (BDUF) vermeiden – ein wesentliches Merkmal der Wasserfall-Methodologien, aber nicht von Agile. 

DSDM-Prinzipien

Die DSDM-Agile-Prinzipien sind die Leitlinien für jedes Projekt. Insgesamt gibt es 8 Prinzipien.

  1. Fokus auf die geschäftlichen Anforderungen
  2. Pünktliche Lieferung
  3. Zusammenarbeit
  4. Niemals bei der Qualität Kompromisse eingehen
  5. Schrittweiser Aufbau auf soliden Grundlagen
  6. Iterative Entwicklung
  7. Stetige und klare Kommunikation
  8. Kontrolle nachweisen

DSDM-Techniken & Praktiken

Was DSDM unter anderen Systementwicklungsmethoden hervorhebt, sind die folgenden Techniken und Praktiken. 

Timeboxing: DSDM hält sich an strenge Fristen. Dafür wird das gesamte Projekt in kleinere Einheiten unterteilt, die jeweils ein festes Budget und einen festen Zeitrahmen haben. Um dies zu erreichen, werden die Anforderungen priorisiert. Wenn Zeit oder Geld knapp werden, werden Anforderungen mit der niedrigsten Priorität gestrichen. Ein fertiges Projekt besteht dann nur aus den wichtigsten Anforderungen. 

MoSCoW: Dies ist das System zur Priorisierung der Anforderungen, bei dem die Punkte von der höchsten bis zur niedrigsten Wichtigkeit eingestuft werden. Die Priorisierungsgruppen sind Muss-Kriterium, Soll-Kriterium, Kann-Kriterium und Wird-nicht-Kriterium. Konfigurationsmanagement hilft dabei, mit diesen konkurrierenden Anforderungen umzugehen, die oft gleichzeitig entwickelt werden.

Modellierung und iterative Entwicklung: Die Modellierung hilft, verschiedene Aspekte des Projekts während der gesamten Entwicklung zu visualisieren. Dadurch können einzelne Arbeitspakete sichtbar gemacht werden und ermöglichen eine fortlaufende Verbesserung durch regelmäßiges Feedback und die Implementierung von Optimierungen. 

Prototyping: Wie bei vielen agilen Methoden ist das Prototyping essenziell, um das Projekt schon in einer frühen, konzeptionellen Phase zu testen. So können die Grundfunktionen abgebildet, gravierende Schwächen erkannt und Benutzern die Möglichkeit gegeben werden, die Software auszuprobieren. 

Workshops: Nutzer und Stakeholder werden zusammengebracht, um Anforderungen, Probleme, Ergebnisse und Tests zu besprechen. DSDM setzt von Anfang an auf ein hohes Maß an Nutzerinteraktion. Tests sind im DSDM von großer Bedeutung, da so hohe Qualitätsergebnisse sichergestellt werden. 

DSDM-Rollen

Jede agile Systementwicklung hat eine Liste von Rollen, die besetzt werden müssen. Bei DSDM ist das genauso. Laut dem offiziellen Handbuch sind dies die wichtigen Rollen in jeder DSDM-Umgebung. 

1. Executive Sponsor (der „Projekt-Champion“) – Die Anwenderorganisation und/oder der Kunde stellen jemanden für diese Rolle zur Verfügung. Er oder sie kann nach Bedarf Budget und Ressourcen bereitstellen und ist die entscheidende Instanz in allen Fragen der Entscheidungsfindung.

2. Visionär – Ausgestattet mit klaren Zielen und einem Verständnis für das Geschäft der Nutzer beginnt der Visionär das Projekt, indem er frühzeitig die wichtigsten Anforderungen identifiziert und das Team entlang dieser Prioritäten führt. 

3. Benutzerbotschafter – Ein idealer „Testnutzer“, der die Perspektive der Benutzercommunity in das Projekt einbringt. Sie liefern während des gesamten Prozesses wertvolles Feedback. 

4. Beraternutzer – Ein weiterer Nutzertyp, der wichtige neue Standpunkte zur Projektarbeit beitragen sollte. Sie können über besondere Einblicke oder Expertisen verfügen, die sie zu idealen Kandidaten machen. 

5. Projektmanager – Ein Projektmanager koordiniert und steuert das gesamte Projekt. 

6. Technischer Koordinator – Diese Rolle entwirft die Systemarchitektur und ist für die Qualitätskontrolle aller technischen Elemente verantwortlich. 

7. Teamleiter – Der Leiter des Teams, verantwortlich für die Koordination und die Förderung der Zusammenarbeit. 

8. Lösungsentwickler – Steuern Anforderungen des Systems, modellieren das System, entwickeln die zu liefernden Codes und erstellen Prototypen.

9. Lösungstester – Testet das Produkt und liefert Kommentare sowie Dokumentation, wenn Fehler auftreten. Zudem erfolgt die erneute Prüfung nach Implementierung der Korrekturen. 

10. Protokollant – Hält Anforderungen, Absprachen, Entscheidungen und andere wichtige Informationen zum Projektverlauf fest. 

11. Moderator – Verantwortlich für die Motivation und Vorbereitung des Workshops, um einen stetigen Fortschritt sicherzustellen. Ein exzellenter Kommunikator, der das ganze Team zielgerichtet hält. 

12. Spezialrollen – Diese werden durch Fachkräfte aus ihrem jeweiligen Gebiet oder ihrer Branche besetzt, um bei Bedarf zusätzliche Unterstützung zu leisten. Sie können je nach Projekt und Team variieren. Zu solchen Rollen zählen Business Architect, Qualitätsmanager, Systemintegrator und weitere. 

DSDM-Projektmanagement-Tipps

Diese Tipps helfen dabei, das Beste aus Ihrem DSDM-Projekt herauszuholen. Auch andere agile Systeme können von diesen Ansätzen profitieren. 

1. Das Management und alle Mitarbeitenden müssen die gewählte Methodik verstehen und unterstützen. 

2. Das Team, das das Projekt leitet, muss sich auf Benutzertests, Feedback und die Nutzerbeteiligung während des gesamten Prozesses—von der Idee bis zum Launch—einlassen.

3. Es muss ein stabiles und befähigtes Kernprojektteam existieren. Die Mitglieder dieses Teams müssen Entscheidungsbefugnisse besitzen, um zu vermeiden, dass unnötige Genehmigungsprozesse den Ablauf behindern. Außerdem muss das Team über alle notwendigen Ressourcen verfügen, etwa die passende Technologie, eine förderliche Entwicklungsumgebung, Projektmanagement-Tools und mehr. 

4. Zwischen Kunde und Anbieter muss eine unterstützende und proaktive Zusammenarbeit herrschen, unabhängig davon, ob Projekte intern entwickelt oder extern beauftragt werden. 

5. Das Team muss die Fähigkeit zeigen, Projektanforderungen ehrlich zu priorisieren und niedrig priorisierte Elemente gegebenenfalls entschlossen zu streichen. Nur so bleibt das Vorhaben im Zeit- und Budgetrahmen.