Agile Softwareentwicklung
Bei der agilen Softwareentwicklung liegt der Fokus auf Flexibilität, Zusammenarbeit und kontinuierliche Verbesserung.
Scrum
Die einzelnen Entwicklungsschritte werden in kurze Iterationen (Sprints) unterteilt und klare Rollen definiert (Product Owner, Scrum Master, Entwicklerteam).
Das Ziel ist in regelmäßigen Abständen funktionsfähige Software bereitzustellen, um den Entwicklungsfortschritt kontinuierlich zu überprüfen und sicherzustellen.
Kanban
Der gesamte Workflow wird auf einem Kanban-Board visualisiert.
Kanban eignet sich besonders für Projekte ohne feste Iterationen, da der Fokus auf der Begrenzung der gleichzeitig bearbeiteten Aufgaben (Work in Progress) liegt, was eine kontinuierliche Verbesserung und Anpassung des Softwareprojekts ermöglicht.
Feature Driven Development (FDD)
Der Fokus liegt auf der schrittweisen Entwicklung klar definierter Features in kurzen, planbaren Zyklen. Die Methode eignet sich besonders für große Projekte mit stabilen, gut dokumentierten Anforderungen oder für die Weiterentwicklung umfangreicher Softwareprojekte.
Lean Software Development
Das Ziel ist schnell, effektiv und kostengünstig Software zu entwickeln, die Nutzern frühzeitig einen Mehrwert bietet. Diese Methode ist besonders geeignet, um zu prüfen, ob eine Software tatsächlich die Bedürfnisse der Nutzer erfüllt.
Traditionelle Softwareentwicklung
Traditionelle Entwicklungsmethoden folgen oft einem strukturierten und sequenziellen Ansatz.
Wasserfallmodell
Die einzelnen Entwicklungsphasen (Analyse, Design, Implementierung, Testen, Wartung) werden nach einander abgeschlossen, bevor die nächste Phase beginnt.
Diese Art der Entwicklung bietet weniger Flexibilität und eignet sich für Softwareprojekte mit stabilen Anforderungen und wenig Änderungen.
Spiralmodell
Beim Spiralmodell werden in jeder Phase der Entwicklung potenzielle Risiken systematisch analysiert und minimiert, wodurch sich diese Methode besonders für risikoreiche und komplexe Softwareprojekte eignet.
Prototyping
Es werden funktionale oder visuelle Prototypen zur Veranschaulichung der Anforderungen oder zum Test der Umsetzbarkeit entwickelt, um schnell Feedback zu erhalten oder die eigentliche Entwicklung besser planen zu können.
Hybride Entwicklung
Bei hybriden Entwicklungsmethoden werden die Grundlagen der traditionellen und agilen Softwareentwicklung kombiniert und die einzelnen Vorteile genutzt.
DevOps
Der Fokus einer DevOps Entwicklung liegt auf Automatisierung, Kollaboration und schneller Bereitstellung, weshalb diese Entwicklungsmethode vor allem zur schnellen Entwicklung von stabiler Software genutzt werden kann.
Agile-Wasserfall
Agile Vorgehensweisen, wie die iterative Umsetzung, werden mit der klaren Struktur des Wasserfallmodells kombiniert. Diese Methode eignet sich besonders für Projekte, die sowohl feste Planungsanforderungen als auch die Flexibilität agiler Arbeitsweisen erfordern.
Scaled Agile Framework (SAFe)
SAFe ist eine Erweiterung von Scrum und agilen Prinzipien für große Organisationen mit vielen Teams, wobei der Fokus auf übergreifender Planung und Synchronisation zwischen den Teams liegt.
Moderne Entwicklungsansätze
Es gibt immer wieder neue Entwicklungsansätze, die sich an aktuellen Trends und Technologien orientieren.
Low-Code/No-Code
Kleinere Anwendungen können mit Hilfe von visuellen Tools mit minimalem oder keinem Programmieraufwand entwickelt und schnell bereitgestellt werden.
Test Driven Development (TDD)
Bei der testgetriebenen Entwicklung werden erst die Softwaretests geschrieben und dann der Programmcode, der die Tests erfüllt.
Behavior-Driven Development (BDD)
Die verhaltensgetriebenen Entwicklung ist eine Erweiterung der TDD, wobei die zugrunde liegenden Tests auf dem Benutzerverhalten basieren.