Die Agile-Methode ist ein Ansatz im Softwareentwicklungsprozess, der durch eine iterative Vorgehensweise bei der Bereitstellung von Softwareprodukten gekennzeichnet ist. Lösungsteile werden häufig schrittweise geliefert. Die vier agilen Werte sind:
Hier ist eine Übersicht von einem Prozess der agilen Softwareentwicklung:
Scrum ist ein Teil von Agile und hat einen sprintbasierten Ansatz im Entwicklungsprozess. Die Hauptwerte von Scrum sind:
Die Scrum-Methodologie umfasst den folgenden Prozess der Software Implementierung:
Der Product Owner liefert die Produktfunktionen in Form von Epics und User Stories und fügt sie dem Product Backlog hinzu. Zusätzlich kann er Verbesserungstickets und Bugfix-Anfragen hinzufügen.
Der Scrum Master wählt die Aufgaben aus dem Product Backlog mit der höchsten Priorität aus. Im Planungsmeeting bespricht das Team die Backlog Aufgaben, schätzt sie und die präzisen Aufgaben werden in den Sprint aufgenommen. Zudem finden regelmäßige Grooming Sessions statt, um Anforderungen zu klären und die Aufgaben Implementierung zu planen.
In dieser Phase werden die Aufgaben aus dem Sprint – User Stories, Bugs usw. – von den Entwicklern bearbeitet, implementiert und vom QA Team getestet.
Die Softwareentwicklungsteams demonstrieren das Ergebnis ihrer Arbeit während des Sprints in Form von Demos und Produktversionen mit allen Updates und Fehlerbehebungen. Die Produkt-Stakeholder geben ihr Feedback und evaluieren die Sprint-Ziele. Sie entscheiden über die Bereitstellung der Produktversion oder den Übergang zum nächsten Sprint.
Das Sprint-Retrospektiv-Meeting ermöglicht eine Bewertung der Sprint-Ergebnisse und der erreichten Lieferobjekte. In diesem Meeting analysiert das Team, was erfolgreich war, welche Herausforderungen aufgetreten sind und wie der Prozess optimiert werden kann. Nach Abschluss des Sprints wird die Planung des nächsten Sprints gestartet und der Prozess verläuft zyklisch.
Die Kanban Methode basiert auf einem visuellen und kontinuierlichen Entwicklungsprozess für Softwareprodukte. Ein Kanban-Board wird verwendet, um den Fortschritt des Projekts zu verfolgen. Das visuelle Board besteht aus Spalten mit Karten, enthält Begrenzungen für die Anzahl der laufenden Aufgaben (In Arbeit, WIP) und mehr. Der Fokus bei der Kanban Softwareentwicklung liegt auf:
Der Kanban-Ansatz umfasst den folgenden Entwicklungsprozess für Softwareprodukte:
Visualisierung des Workflows
Visualisierung der Arbeitsabläufe, Aufgabenverwaltung, Erstellung und Priorisierung. Das Board sollte Informationen darüber enthalten, wann eine Aufgabe in Bearbeitung genommen wird, ihren Lieferzeitpunkt, Richtlinien und WIP-Limits.
Definition von WIP-Limits
WIP-Limits ermöglichen ausgeglichene Arbeitslasten, indem die Kapazitäten des Teams berücksichtigt werden. Wenn das Limit erreicht ist, können keine neuen Aufgaben zugewiesen werden. Dadurch wird vermieden, dass zu viele Aufgaben gleichzeitig bearbeitet werden.
Management und Optimierung des Workflows
Während der Projektausführung werden die Faktoren festgestellt, die zu Verzögerungen bei der Aufgabenerledigung führen. Es werden auch Probleme behoben, die den Projektablauf beeinträchtigen. Mit anderen Worten: Engpässe und Blocker werden erkannt und beseitigt.
Explizite Festlegung von Richtlinien
Alle Regeln sollten klar strukturiert und dokumentiert sein. Gut definierte und transparente Richtlinien machen die Prozesse für alle Projektbeteiligten sichtbar und verständlich. Diese Richtlinien müssen minimal, unkompliziert, klar formuliert, deutlich sichtbar, einheitlich umgesetzt und einfach durch die Beteiligten anpassbar sein.
Implementierung von Feedbackschleifen
Dies umfasst das Sammeln, Analysieren und Umsetzen von Feedback von Stakeholdern, Nutzern und Teammitgliedern.
Die Wasserfall Methodologie basiert auf einem sequenziellen Entwicklungsprozess mit linearer Implementierung der Software. Die vier Werte der Wasserfall Methode sind:
Die Schritte des Softwareentwicklungsprozesses nach der Wasserfall-Methodik sind folgende:
Anforderungen
Erfassung der Anforderungen, deren Systematisierung, Strukturierung und Erstellung von hochrangigen Produktspezifikationen.
Systemdesign
Umsetzung der Systemarchitektur durch Softwarearchitekten und Erstellung einer Benutzeroberfläche.
Implementierung
Entwicklung der Frontend- und Backend-Komponenten der Lösung. In der Regel wird das System schrittweise in kleinen Einheiten entwickelt, wobei jede Einheit getestet wird. Anschließend werden die Komponenten zu einem Gesamtsystem integriert.
Testen
Durch die Kombination von manuellen und automatisierten Tests wird sichergestellt, dass das Produkt stabil und zuverlässig ist, den Anforderungen entspricht und korrekt funktioniert. Außerdem werden in dieser Phase Fehler identifiziert und behoben.
Bereitstellung
Nach der Freigabe wird die Software in der Produktionsumgebung bereitgestellt und für die Endnutzer zugänglich gemacht.
Wartung
Entwickler beheben Probleme, die auf der Nutzerseite auftreten, und gewährleisten den stabilen Betrieb der Software.
Der Softwareentwicklungsprozess nach der RUP-Methodik basiert auf einer inkrementellen und risikogesteuerten Produktentwicklung. RUP legt Wert auf:
Der Softwareentwicklungsprozess nach RUP umfasst folgende Schritte:
Inception (Konzeptionsphase)
Projektplanung, Ideenentwicklung, Machbarkeitsprüfung, Festlegung des Arbeitsumfangs, Risikobewertung usw. Ergebnisse: Projektplan, grobe Spezifikationen, Anwendungsfälle.
Elaboration (Ausarbeitungsphase)
Lieferung finaler Spezifikationen, Minderung potenzieller Risiken, Festlegung der Software Produktarchitektur usw. Ergebnisse: Entwicklungsplan, aktualisierte Anwendungsfälle, detaillierte Spezifikationen, Architekturbeschreibung, Prototyp.
Construction (Konstruktionsphase)
Iterative Softwareentwicklung basierend auf den ausgearbeiteten Anforderungen und der zugehörigen Projektdokumentation. Ergebnisse: Erstelltes Produkt (Code), technische Projektdokumentation.
Transition (Übergangsphase)
Endgültige Genehmigung der Software und Bereitstellung in der Produktionsumgebung. Ergebnisse: Lösung in der Produktionsumgebung.
Getting Real ist ein Ansatz in der Softwareentwicklung, der auf iterativer Umsetzung basiert. Die Hauptprinzipien von Getting Real sind:
Der Softwareentwicklungsprozess nach dem Getting Real-Ansatz umfasst folgende Schritte:
Mit den Grundlagen starten
Analyse der Kernziele der zukünftigen Lösung und der erforderlichen Funktionen, um Nutzerprobleme zu bewältigen.
Fokus auf Einfachheit
Entwicklung eines einfachen Softwareprodukts ohne unnötige Funktionen und Module mit benutzerzentriertem Ansatz und intuitiven Benutzeroberflächen.
Iterieren aufgrund von Feedback und Beseitigung unnötiger Elemente
Software so früh wie möglich veröffentlichen und iterativ erweitern, basierend auf Feedback von Markt, Kunden und Nutzern. Alles, was dem Kunden keinen Nutzen bringt, sollte aus dem Projekt entfernt werden.
Die Wahl des passenden Softwareentwicklungsprozesses für IT Projekte ist entscheidend für die Lieferung qualitativ hochwertiger Lösungen. Im Folgenden finden Sie Beispielprojekte und passende Prozesse aus unserem Erfahrung: