ScholarGate
Assistent

Softwareprozesse und -methodologien

Softwareprozesse und -methodologien sind die strukturierten Rahmenwerke von Aktivitäten, Meilensteinen und Praktiken, die die Spezifikation, das Design, die Entwicklung, die Validierung und die Weiterentwicklung von Software über ihren Lebenszyklus hinweg organisieren.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein Softwareprozess ist eine Menge zusammenhängender Aktivitäten und deren Reihenfolge, die zur Produktion eines Softwareprodukts führt, und eine Softwaremethodologie ist ein dokumentierter Ansatz, der diese Aktivitäten, Rollen, Artefakte und Praktiken für eine Klasse von Projekten vorschreibt.

Scope

Dieser Bereich umfasst präskriptive Prozessmodelle wie das Wasserfall-, inkrementelle und Spiralmodell; iterative und evolutionäre Ansätze; agile Methodologien sowie deren Werte und Zeremonien; Lean- und DevOps-Praktiken für kontinuierliche Integration und Bereitstellung; und Prozessverbesserungsrahmenwerke wie CMMI und ISO/IEC 12207. Er behandelt sowohl die abstrakte Struktur von Prozessen als auch die menschlichen und organisatorischen Faktoren, die ihre Einführung bestimmen.

Sub-topics

Core questions

  • Wie sollten die Aktivitäten Spezifikation, Design, Implementierung und Validierung geordnet und iteriert werden?
  • Wann sind planungsgesteuerte (prädiktive) Prozesse agilen (adaptiven) vorzuziehen?
  • Wie kann ein Prozess gemessen, bewertet und inkrementell verbessert werden?
  • Wie beeinflussen Teamstruktur, Kommunikation und Werkzeuge die Effektivität eines Prozesses?

Key theories

Wasserfallmodell (planungsgesteuert)
Ein sequenzielles Modell, bei dem Anforderungen, Design, Implementierung, Verifizierung und Wartung als diskrete Phasen mit formeller Abnahme aufeinanderfolgen, gut geeignet für stabile, gut verstandene Anforderungen, aber kritisiert für die schlechte Anpassung an Änderungen.
Spiral- und risikogesteuerte Modelle
Boehms Spiralmodell organisiert die Entwicklung als wiederholte Zyklen, wobei jeder Zyklus durch die Identifizierung und Lösung der höchsten Projektrisiken gesteuert wird, wodurch iterative Entwicklung mit explizitem Risikomanagement vereint wird.
Agile und iterative-inkrementelle Entwicklung
Agile Methoden liefern funktionierende Software in kurzen Iterationen, wobei sie die Zusammenarbeit mit dem Kunden, die Reaktion auf Änderungen und häufiges Feedback gegenüber umfangreicher Vorabplanung und Dokumentation bevorzugen.

Clinical relevance

Die Wahl des Prozesses beeinflusst direkt die Vorhersagbarkeit der Lieferung, die Fehlerraten, die Fähigkeit, sich ändernde Anforderungen aufzunehmen, und die Teamproduktivität; die moderne Praxis kombiniert agile Iteration mit DevOps-Automatisierung, um Feedbackschleifen zu verkürzen und gleichzeitig Qualität und Compliance zu wahren.

Evidence & guidelines

Der Standard ISO/IEC/IEEE 12207 standardisiert Software-Lebenszyklusprozesse, und der SWEBOK Software Engineering Process Wissensbereich sowie CMMI bieten weit verbreitete Referenzrahmenwerke für die Prozessdefinition und -verbesserung.

History

Die Entwicklung großer Systeme in den 1970er Jahren popularisierte phasenorientierte, dokumentengesteuerte Modelle. Boehm führte 1988 eine explizite risikogesteuerte Iteration ein, der Rational Unified Process formalisierte die iterative Entwicklung in den 1990er Jahren, und das Agile Manifest von 2001 kristallisierte leichtgewichtige, veränderungstolerante Methoden heraus, die zusammen mit DevOps in den 2010er Jahren zum Mainstream wurden.

Debates

Planungsgesteuerte versus agile Prozesse
Eine langjährige Debatte betrifft die Frage, wann prädiktive, dokumentationsintensive Prozesse adaptiven agilen Prozessen überlegen sind; der Konsens ist, dass die richtige Balance von der Stabilität der Anforderungen, regulatorischen Einschränkungen, der Teamgröße und den Kosten später Änderungen abhängt.

Key figures

  • Winston W. Royce
  • Barry Boehm
  • Kent Beck
  • Watts Humphrey

Related topics

Seminal works

  • royce1970
  • boehm1988
  • sommerville2015

Frequently asked questions

Ist das Wasserfallmodell obsolet?
Das rein sequenzielle Wasserfallmodell ist selten ideal für Projekte mit sich entwickelnden Anforderungen, aber seine phasenweise Struktur prägt immer noch regulierte und sicherheitskritische Bereiche und liegt hybriden Modellen zugrunde; die meisten modernen Projekte verwenden iterative oder agile Varianten, die eine disziplinierte Spezifikation und Validierung beibehalten.
Was ist der Unterschied zwischen einem Prozess und einer Methodologie?
Ein Prozess beschreibt die Aktivitäten und deren Reihenfolge, während eine Methodologie eine vollständigere, benannte Vorschrift ist, die auch Rollen, Artefakte, Zeremonien und Praktiken festlegt; Scrum und der Rational Unified Process sind Methodologien, die iterative oder agile Prozesse instanziieren.

Methods for this concept

Related concepts