Agile Systementwicklung bedeutet, den riesigen Vorrat an "Best Practices" zu nutzen, der in den Köpfen der Projektbeteiligten bereits lange vorhanden ist. Des Weiteren konzentriert sie sich auf das, was funktioniert und wird daher im nächsten Projekt freiwillig wieder angewendet. Dies fördert die individuelle Freiheit und schafft Vertrauen statt Kontrolle. Agilität ist Aktion, nicht Reaktion. Sie setzt Wissen voraus und fordert von allen Beteiligten eine hohe Qualifikation und Professionalität. Nur wer weiß, wie die Zahnräder ineinander greifen, hat auch den Mut und die Kompetenz, sich über nicht passende Regeln hinwegzusetzen. „Angemessenheit statt Perfektion“ ist eines der wesentlichen Paradigmen der Agilität. Der Fokus liegt auf dem Wesentlichen und macht somit das Vorgehen flexibler für mögliche Anpassungen an aktuelle Gegebenheiten.
Die Grundlage verschiedener agiler Vorgehensweisen stellt das agile Manifest dar, aus dem sich diverse iterativ-inkrementelle Vorgehensweisen entwickelt haben. Anfangs führten die agilen Vorgehensmodelle noch ein Nischendasein und galten eher als exotisch. Inzwischen haben sie sich als vollwertige Vorgehensweise in der Systementwicklung etabliert. Die nachfolgende Aufzählung ist eine Auswahl der am Markt verbreiteten agilen Vorgehensweisen:
Scrum basiert auf den Grundsätzen Transparenz, Inspektion und Adaption, die durch bestimmte Rollen (Product Owner, Scrum Master und Development Team) und Rituale (Sprint-Planing, Daily Scrum, Sprint Review und Sprint Retrospektive) gewährleistet werden sollen. Im Mittelpunkt einer auf Scrum basierenden Entwicklung steht der Sprint, ein klar begrenzter Zeitraum, innerhalb dessen ein auslieferbares Produkt entsteht.
Extreme Programming konzentriert sich sehr stark auf die eigentliche Entwicklung, also Programmierung, eines Produktes. Dem Extreme Programming liegen die Werte Einfachheit, Kommunikation, Feedback, Mut und Respekt zugrunde. Das Vorgehensmodell verwendet Haupt-Praktiken, wie z.B. Pair-Programming, Test-getriebene Entwicklung und das kollektive Eigentum am Code, die der Entwicklung u.a. konkrete Vorgaben zur Umsetzung machen.
Kanban selbst zählt nicht direkt zu den agilen Vorgehensweisen. Es lässt sich jedoch ohne große Probleme auf eine agile Art umsetzen. Kanban besteht aus sechs Prinzipien, wie z.B. der Visualisierung des Flusses der Arbeit, die sich durch Spalten für jeden Prozessschritt auf einem Kanban-Board umsetzen lässt. Die Anforderungen durchlaufen per Pull-System jede einzelne Spalte des Boards und damit jeden Schritt der Entwicklung. Die Definition of Done regelt die Bedingungen der Umsetzung einer Anforderung.
Scaled Agile Frameworks bieten die Möglichkeit, agile Vorgehensweisen, die zumeist nur für die Anwendung in einem Entwicklungsteam vorgesehen sind, mit den Ansätzen des Lean Managements zu kombinieren, um die Vorteile der Agilität auch in großen Entwicklungsprojekte zu nutzen.
Weitere agile Vorgehensmodelle, die jedoch in den letzten Jahren stark an Signifikanz verloren haben, sind z.B. die Crystal Familie, Feature Driven Development (FDD) und Evo.
Nicht für jedes Unternehmen oder Projekt eignet sich der Einsatz eines agilen Vorgehens in jeder Phase des Entwicklungsprozesses. Eine Lösung stellt hier ein hybrider Ansatz mit einem klassischen Requirements Engineering und einer agilen Entwicklung dar. Der hybride Ansatz vereint die Vorteile des agilen Vorgehens, einer hohen Transparenz durch regelmäßige Inspektionen und hohen Anpassungsfähigkeit durch kurze Entwicklungszyklen, mit der Strukturiertheit und Steuerbarkeit eines klassischen Vorgehensmodells.
Bei der Entscheidung ein agiles Vorgehen im gesamten Entwicklungsprozess einzusetzen, ist ein Umstieg in mehreren Stufen eine gute Alternative zu einem radikalen Wechsel. Traditionelle Rollen und Aufgaben werden miteinander verglichen und neu verteilt.
Die Einführung eines agilen Vorgehens ist ein Projekt, bei dem die grundsätzlichen Gesetzmäßigkeiten des Änderungsmanagements und die zusätzlichen Herausforderungen der etablierten Machtverhältnisse und Werte gelten. Zu Beginn des Projekts müssen die Ziele der Einführung von Agilität definiert und die Rahmenbedingungen des Vorhabens abgesteckt werden.
Auch bei einem agilen Vorgehen sind die Grundtätigkeiten des Requirements Engineerings nach wie vor relevant und erfordern einen strukturierten Umgang mit Anforderungen. Anders als bei den klassischen Vorgehensmodellen werden die Tätigkeiten des Requirements Engineerings jedoch nicht „en bloc“ einmalig durchlaufen, sondern fallen mit jedem Iterationszyklus an.
Auch wenn der Stellenwert der Dokumentation bei agilen Vorgehensmodellen geringer ist als bei klassischen Vorgehensmodellen, muss auch weiterhin das Wissen der Stakeholder (z.B. das der Auftraggebenden, Anwendenden) an die Entwicklung weitergegeben werden – also Requirements Engineering betrieben werden.
Bei Fragen zu den Trainings, Beratung oder Projektarbeit der SOPHISTen stehen wir Ihnen gerne zur Verfügung: Von der Organisation und Vorbereitung über die Durchführung bis hin zur Nachbereitung. Ihre Ansprechperson hilft Ihnen gerne weiter.
Copyright 2018
Sie benötigen weitere Informationen?
Rufen Sie uns an und lassen Sie sich direkt an den richtigen Kontakt durchstellen.
Tel: +49 (0)9 11 40 90 00
E-Mail: heureka[at]sophist[dot]de
Unsere Bürozeiten sind: Montag bis Donnerstag: Freitag:
08:00 - 18:00 Uhr 08:00 - 17:00 Uhr
Natürlich können Sie auch gerne direkt per E-Mail diverse Abteilungen erreichen:
Rund um das Thema Trainings sowie Projekt- und Beratungstätigkeiten
Rund um unsere Stellenangebote und Ihre Karrierechancen bei SOPHIST
DeineZukunft[at]sophist[dot]de
Zu Events und Marketing sowie unseren Publikationen
Unser Impressum finden Sie hier: