Agile Softwareentwicklung & Beratung

Die moderne Softwareentwicklung 
Scrum Workflow - Bild von Wikipedia
Während sich bestimmte Softwareentwicklungsprozesse wie z.B. das Wasserfallmodell, V-Modell oder Spiralmodell als klassische Vorgehensweisen frühzeitig etabliert haben, wurden erst innerhalb der vergangenen 25 Jahren die agile Softwareentwicklung vorgestellt. Diese neue Sichtweise auf Entwicklungsprozesse geht mit Erneuerungen im methodischen Vorgehen einher und stellt daher eine erneuerte Prozessgrundlage dar. Ziel dieser Vorgehensweise ist die flexible und schlanke Prozessgestaltung der gesamten Entwicklung. Die reduzierten bürokratischen Vorgänge und Regeln wirken bei diesem Vorhaben unterstützend. Das iterative Vorgehen ist dabei ein Kernelement. So wird ermöglicht, dass die sowohl technischen als auch sozialen Schwierigkeiten im Entwicklungsprozess gemeinsam mit dem gesetzten Ziel verstärkt fokussiert werden können.

Story-Cards

Mit dem Einsatz von Story-Cards innerhalb der agilen Softwareentwicklung werden verschiedene Kundenanforderungen vereinfacht dargestellt, indem leicht verständliche und kurze Beschreibungen hinzugefügt werden.

Für den Kunden besteht die Möglichkeit, das erwünschte Verhalten durch seine eigenen Worte zu schildern. Dabei kann er jede einzelne Systemfunktion mit einer eigenen Story-Card spezifizieren.

Untersuchungen zeigen, dass 2013 Scrum mit 55% den Großteil der verwendeten Prozesse ausmacht. Für die Anderen lässt sich Folgendes festhalten: Custom (10%), Scrumban (7%), Kanban (5%) und Feature Driven Development (2%). Die Entscheidung für oder gegen den Einsatz dieser Prozesse wurde primär vom Management mit 61% beschlossen. Nachfolgend das Ergebnis für die anderen Entscheidungsträger: DEV-Staff (17%), Executives (14%) und Consultants (8%).

Obwohl die Entstehung der ersten agilen Verfahren 25 Jahre zurückliegt, ist eine detaillierte Untersuchung der verschiedenen Ansätze erforderlich. Viele Vorteile, Risiken und Herausforderungen sind hier noch zu ungenau. Daher ist es besonders wichtig, dass die erstrebten Anforderungen an Sie und uns klar definiert, kommuniziert und schließlich beansprucht werden.

Effektiver Einsatz von agiler Softwareentwicklung

Aus der IT-Perspektive wird im Allgemeinen kein Einspruch gegen die Verwendung von agilen Entwicklungsprozessen erhoben. Vielmehr sind es die persönlichen Ansichten der involvierten Partner, die dessen Einführung verhindern. Oftmals sind in so einer Situation fehlende Offenheit gegenüber Änderungen oder mangelndes Wissen vorzufinden. Auch kann sich unzureichende Kommunikation des neuen Entwicklungsansatzes oder innerhalb aller beteiligten Personen ungünstig auf den Einsatz von agilen Prozessen und Modellen auswirken.
Die Entscheidung für eine agile Softwareentwicklung sollte nicht unter dem Einfluss der Unternehmensgröße stehen. Stattdessen gilt es, die Berücksichtigung aller Teams, Manager und Kunden fortlaufend sicher zu stellen. Erst dann kann diese wichtige Wendung von allen Projektbeteiligten erfolgreich getragen werden.

Auch wenn die agile Softwareentwicklung mehrere Vorteile mit sich bringt, ist ihr Ersatz für langjährig etablierte klassische Prozessen nicht immer zu empfehlen. Die Abhängigkeit von der Zielsetzung und den involvierten Partner entscheidet über den grundlegenden Bedarf an methodischen und prozessbezogenen Änderungen.

Durch den Anspruch und der bereitgestellten Fähigkeiten könnte das Projekt auch allein mit klassischer Softwareentwicklung oder mit einer gesunden Mischung aus klassischen und agilen Prozessen realisiert werden.

Neben der Größe und Kultur des Unternehmens, ist es notwendig, eine motivierende Arbeitsatmosphäre für die Mitarbeiter zu gestalten. In dieser Umgebung sollten Arbeitsprozesse nicht unterbrochen und durch Software-Automatisierung erleichtert werden.