MONOLITH LAW OFFICE+81-3-6262-3248Wochentags 10:00-18:00 JST [English Only]

MONOLITH LAW MAGAZINE

IT

Was sind die rechtlichen Vor- und Nachteile der verschiedenen Entwicklungsmodelle in der Systementwicklung?

IT

Was sind die rechtlichen Vor- und Nachteile der verschiedenen Entwicklungsmodelle in der Systementwicklung?

Es gibt eine bestimmte Methodik für die Durchführung von Systementwicklungsprojekten. Normalerweise, wenn man über rechtliche Fragen im Zusammenhang mit der Systementwicklung in Büchern und ähnlichem lernt, basiert dies oft auf der sogenannten Wasserfallmethode, der klassischsten Methode. Allerdings ist die Wasserfallmethode nicht die einzige Methodik oder Modell für die Systementwicklung. Zum Beispiel wird in jüngster Zeit oft das Agile Entwicklungsmodell gewählt.

In diesem Artikel werden wir das Wasserfallmodell und das Agile Entwicklungsmodell aus der Perspektive von rechtlichen Risiken und Streitprävention vergleichen und erläutern.

Was ist ein Entwicklungsmodell?

Was ist das Wasserfallmodell?

Was ist ein Entwicklungsmodell in der Systementwicklung?

Die gängigste und klassischste Methode zur Durchführung der Systementwicklung ist wie folgt:

  • Anforderungsdefinition: Identifizierung der Funktionen, die das zu erstellende System haben sollte, und der erforderlichen Spezifikationen
  • Grundlegende Design: Design des Gesamtbildes des Systems aus der Perspektive des Benutzers, hauptsächlich Bildschirmdesign und Bildschirmübergänge
  • Detailliertes Design: Design des Gesamtbildes des Systems aus der Perspektive des Entwicklers, hauptsächlich die Verbindung zwischen Programmdateien
  • Programmierung und Implementierung: Codierung des Programms gemäß dem Design-Dokument
  • Test: Überprüfung, ob das erstellte Produkt den Spezifikationen entspricht, und Anforderung einer Bestätigung durch den Benutzer

Diese Methode der Entwicklung, die so weit wie möglich verhindert, dass Schritte vor- und zurückgehen und dass es zu Rückläufen kommt, ähnlich wie ein Fluss von der Quelle zur Mündung fließt, wird als “Wasserfallmodell” bezeichnet. Dieser Prozess ist nicht unbedingt erforderlich, um ein funktionierendes System zu erstellen. Bei der Systementwicklung, die jedoch oft ein Projekt mit vielen Mitarbeitern und einer langen Laufzeit erfordert, ist die Planung wichtig. Daher wird auch Wert auf die Aufteilung der einzelnen Prozesse, die Klärung der Rollen und die Klärung der Verantwortungsbereiche der jeweiligen Verantwortlichen gelegt.

Was ist das Agile Entwicklungsmodell?

Andererseits ist die Art und Weise, wie Entwicklungsarbeiten durchgeführt werden, nicht immer geeignet, sie in einem Durchgang von “Upstream → Downstream” durchzuführen. Natürlich ist die Planung und Technik der Projektion aufgrund der Art der Arbeit wichtig. Bei der Arbeit, die jedoch in erster Linie mit der Schaffung von Neuem und der Herstellung von Werken zu tun hat, ist es oft von Anfang an unmöglich, einen perfekten Plan zu erstellen. Wenn man diesen Punkt berücksichtigt, sollte es auch einen Ansatz geben, der nicht nur die Durchführung von Arbeiten gemäß dem erstellten Plan, sondern auch die Flexibilität zur Anpassung an nachträgliche Korrekturen und Änderungen der Spezifikationen und die Erhöhung der Anzahl der Versuche und Fehler betont. Diese Denkweise spiegelt sich im “Agile Entwicklungsmodell” wider. Im agilen Entwicklungsmodell wird in der Regel so wenig Aufwand wie möglich auf die Erstellung detaillierter Pläne und Design-Dokumente verwendet, und kleine Programme werden implementiert und wiederholt getestet, um sie schrittweise in größere Programme und Systeme umzuwandeln.

Das Waterfall-Modell erleichtert das Lernen von Rechtsfragen

Bevor wir die beiden Entwicklungsmodelle vergleichen, möchten wir zunächst auf die mit jedem Entwicklungsmodell verbundenen Rechtsfragen und die Leichtigkeit der Informationsbeschaffung und des Rechtsstudiums eingehen.

Die meisten Referenzbücher basieren auf dem Waterfall-Modell

Wenn Sie Rechtsfragen im Zusammenhang mit der Systementwicklung oder Rechtskenntnisse studieren möchten, ist das Waterfall-Modell in Bezug auf die Leichtigkeit der Informationsbeschaffung überlegen. Rechtsbücher, die sich mit Systementwicklung befassen, basieren in den meisten Fällen auf dem Waterfall-Modell. Da die klassische und allgemeine Systementwicklung nach dem Waterfall-Modell durchgeführt wird, wird die agile Entwicklung dort oft nur ergänzend behandelt und nur kurz vorgestellt. Daher ist es einfacher, das Studium voranzutreiben, wenn Sie Informationen aus Büchern zu Rechtsfragen im Zusammenhang mit der Systementwicklung im Waterfall-Modell erhalten möchten.

Das Waterfall-Modell hat auch viele gesammelte Gerichtsentscheidungen

Da das Waterfall-Modell eine klassische und allgemeine Methode der Systementwicklung ist, gibt es auch viele gesammelte Fälle von Konflikten, die tatsächlich in der Vergangenheit aufgetreten sind. In rechtlichen Diskussionen sind nicht nur die Gesetzestexte, sondern auch das Wissen über frühere Gerichtsentscheidungen von großer Bedeutung. Selbst in Fällen, in denen es schwierig ist, eine Aussage als “weiß” oder “schwarz” zu treffen, nur indem man den Wortlaut des Gesetzes interpretiert, kann man in einigen Fällen den Inhalt des Gesetzes ergänzen, indem man Erkenntnisse aus früheren Gerichtsentscheidungen gewinnt.

Auch wenn es sich nicht um ein kodifiziertes Gesetz handelt, kann die Ansammlung von Urteilen, die von Gerichten gegeben wurden, als Entscheidungsgrundlage etabliert werden, genau wie der Gesetzestext. Solche Dinge werden als “Rechtsprechungsgrundsätze” bezeichnet. Selbst in Bereichen, in denen bereits eine Ansammlung von Rechtsprechungsgrundsätzen besteht, kann es relativ einfach sein, das endgültige Ergebnis eines Konflikts vorherzusagen, selbst wenn es sich um einen unbekannten Konflikt handelt. In dieser Hinsicht bietet die Systementwicklung auf der Grundlage des Waterfall-Modells viele Vorteile.

Vorteile verschiedener Entwicklungsmethoden

Was sind die Vor- und Nachteile des Wasserfallmodells und der agilen Entwicklung?

Unter Berücksichtigung des oben Gesagten werden wir die Vor- und Nachteile jeder Methode vergleichen und organisieren. Der erste Teil konzentriert sich hauptsächlich auf die Vorteile des Wasserfallmodells, während der untere Teil die Vorteile der agilen Entwicklung klarer darstellt.

Vergleich in Bezug auf Planbarkeit und Vorhersehbarkeit

In Bezug auf Planbarkeit und Vorhersehbarkeit ist das Wasserfallmodell wahrscheinlich überlegen. Unabhängig davon, wie groß das zu erstellende System ist, wird es immer in “Upstream-Downstream”-Prozesse unterteilt. Wenn Sie eine Frist für jeden Prozess festlegen, wird es relativ einfach, den Fortschritt planmäßig zu verwalten.

Auf der anderen Seite neigt die agile Entwicklung dazu, eher ad hoc zu sein, da sie nicht viel Kosten oder Aufwand in die vorläufige Planung oder das Gesamtkonzept investiert.

Vergleich in Bezug auf die Klarheit der individuellen Rollen und Verantwortungsbereiche

Im Wasserfallmodell ermöglicht die detaillierte Unterteilung der Prozesse eine klare Definition der Rollen jedes Projektmitglieds.

Auf der anderen Seite neigt die agile Entwicklung dazu, unklar zu sein, wer die Verantwortung für unvorhergesehene Probleme übernimmt, da die Prozessabteilung oft unklar ist.

Vergleich in Bezug auf die Einfachheit der Großentwicklung

Das Wasserfallmodell, das in Bezug auf Planbarkeit und Rollenklärung überlegen ist, wird umso vorteilhafter, je größer die Entwicklung ist. Selbst wenn viele Mitarbeiter organisiert werden müssen, können die Kosten für die Anpassung der menschlichen Beziehungen durch die Unterteilung der Prozesse und die Förderung der Arbeitsteilung minimiert werden.

Auf der anderen Seite ist das agile Entwicklungsmodell nicht besonders gut für Großentwicklungen geeignet. Da es sich um einen Ansatz handelt, der die Geschwindigkeit bis zum Start mehr schätzt als die Planbarkeit und Rollenklärung, ist es schwierig, ihn in Situationen anzuwenden, in denen eine Verschiebung des endgültigen Liefertermins befürchtet wird.

Vergleich in Bezug auf Geschwindigkeit und Effizienz

Die agile Entwicklung beginnt schneller

In Bezug auf die Geschwindigkeit, mit der eine Funktion, die der Benutzer wünscht, tatsächlich implementiert wird, ist das agile Entwicklungsmodell überlegen. Denn im Wasserfallmodell ist es üblich, dass die Verantwortlichen für die Upstream- und Downstream-Prozesse klar getrennt sind, was zu mehr Kommunikationsaufwand innerhalb des Anbieters führt. Dieser erhöhte Kommunikationsaufwand ist oft mit einer Schwäche bei der Anforderung von Spezifikationsänderungen nach der Tatsache verbunden.

Auf der anderen Seite kann man von der agilen Entwicklung erwarten, dass sie ohne Vermittler schnell in die Umsetzung und Ausführung einsteigt. Dies ist eng mit dem größten Vorteil des agilen Entwicklungsmodells verbunden, nämlich der einfachen Anpassung an nachträgliche Spezifikationsänderungen. Allerdings kann auch das agile Entwicklungsmodell, wenn es kontinuierlich und unkontrolliert auf Anfragen zur Änderung oder Erweiterung der Spezifikationen reagiert, das Projekt “in Brand setzen” und ein Risiko darstellen. In diesem Sinne ist der Schlüssel zum Erfolg der Systementwicklung mit dem agilen Entwicklungsmodell, wie man das “Change Management” durchführt. Eine detaillierte Erklärung des Change Managements finden Sie im folgenden Artikel.

https://monolith.law/corporate/howto-manage-change-in-system-development[ja]

Das Wasserfallmodell ist weniger wahrscheinlich in der Mitte zu scheitern

Auf der anderen Seite ist es wichtig, bei einem Vergleich aus der Perspektive von Geschwindigkeit und Effizienz auch einen langfristigen Zeitrahmen in Betracht zu ziehen. Wenn man das Risiko in Betracht zieht, dass ein Projekt in der Mitte “in Flammen aufgeht” und keinen Fortschritt mehr macht, ist das Wasserfallmodell überlegen. Das größte Risiko, dass ein Projekt in der Mitte scheitert, ist eine Kommunikationsstörung zwischen dem Benutzer und dem Anbieter. Das Wasserfallmodell, das es leicht macht, die Rollenverteilung zwischen beiden klar zu definieren, hat in dieser Hinsicht Vorteile.

Die agile Entwicklung ist einfacher in der Abnahme

Auf der anderen Seite ist die agile Entwicklung in Bezug auf die Leichtigkeit der Diskussion in der Abnahmephase etwas überlegen. Denn es wird vorausgesetzt, dass der Benutzer und der Anbieter auch während der Systementwicklung detaillierte Informationen austauschen. Dies kann das Risiko minimieren, dass Diskrepanzen in der Wahrnehmung beider Parteien plötzlich sichtbar werden, wenn sie das endgültige Produkt sehen. Eine detaillierte Behandlung des Abnahmeschritts in der Systementwicklung und der damit verbundenen rechtlichen Fragen finden Sie im folgenden Artikel.

https://monolith.law/corporate/estimated-inspection-of-system-development[ja]

Zusammenfassung

Wenn man diese Aspekte vergleicht, lässt sich feststellen, dass das Waterfall-Modell insgesamt zur gründlichen Verwaltung beiträgt, während das Agile Entwicklungsmodell den Fokus auf das Tempo von Beginn bis zur Ausführung legt. Darüber hinaus behandeln wir rechtliche Fragen, die mit der Systementwicklung auf der Grundlage des Agile Entwicklungsmodells verbunden sind, ausführlich in dem folgenden Artikel.

https://monolith.law/corporate/legal-and-contract-issues-of-agile-development[ja]

Ob das Waterfall- oder das Agile Entwicklungsmodell geeigneter ist, sollte nicht nur aus rechtlicher Sicht, sondern auch unter Berücksichtigung von Faktoren wie Projektgröße, Budget und Ziel umfassend beurteilt werden.

Managing Attorney: Toki Kawase

The Editor in Chief: Managing Attorney: Toki Kawase

An expert in IT-related legal affairs in Japan who established MONOLITH LAW OFFICE and serves as its managing attorney. Formerly an IT engineer, he has been involved in the management of IT companies. Served as legal counsel to more than 100 companies, ranging from top-tier organizations to seed-stage Startups.

Category: IT

Tag:

Zurück Nach Oben