Den richtigen Kurs finden – Vorgehensweisen in der agilen Softwareentwicklung

Den richtigen Kurs finden – Vorgehensweisen in der agilen Softwareentwicklung

Berlin, 24.09.2015 – Woran denken Sie, wenn Sie den Begriff Softwareentwicklung hören? Für die einen mag es ein kleines Büro mit einem konzentrierten IT-Entwickler vor seinem Computer sein. Die anderen denken an klassische Vorgehensmodelle in der Softwareentwicklung, beispielsweise das Wasserfallmodell. Nur die wenigsten wissen jedoch, welche komplexen Anforderungen und Leistungen hinter dem Begriff stehen. Denn dieser ist schnell geschrieben, beworben und verkauft. In unserem Artikel geht es zunächst um die klassische Softwareentwicklung, bevor wir Ihnen anschließend ein Grundverständnis für die agile Softwareentwicklung, eine vielfach eingesetzte Entwicklungsmethode, geben möchten.     

 

Was bedeutet klassische Softwareentwicklung?

 Seitdem es Software gibt, tüfteln erfahrene Softwarearchitekten, Programmierer und Projektleiter immer wieder an neuen Methoden, um Softwareprojekte erfolgreich sowie effizient zu planen, umzusetzen und abzuschließen – kurz: um Software zu entwickeln. Dabei haben sich bis heute verschiedene Strategien und Methoden bewähren können. Eines der klassischen Entwicklungsmodelle ist das Wasserfallmodell, welches – in Kürze beschrieben – die Softwareentwicklung in lineare Phasen einteilt. Linear bedeutet, dass diese Abschnitte starr und ohne viel Spielraum für spontane Anforderungsänderungen nacheinander abgearbeitet werden sollten.

Seine Weiterentwicklung findet das Modell in dem Spiralmodell. Dieses lässt den gesamten Entwicklungszyklus einer Software immer wieder, also iterativ (lat.: iterare, wiederholen) statt linear, durch die Phasen des Wasserfallmodells laufen, bis diese abgeschlossen sind. Der Vorteil ist, frühzeitig auf erkannte Probleme reagieren zu können und diese Reaktion für die nächste Iteration einzuplanen. Das eingangs definierte Entwicklungsziel bleibt jedoch konstant bestehen und muss, wie anfangs im Projektteam festgehalten, erreicht werden.

System MonitoringV1

Die agile Softwareentwicklung – flexibel & offen

Die agile Softwareentwicklung stellt die konsequente Weiterentwicklung der oben beschriebenen Methode dar. Ziel der agilen Softwareentwicklung ist es, mit kleinen Projektteams, geringem Planungsaufwand, wenig Bürokratie und hohem Reaktionsvermögen höchst flexibel Kundenwünsche („requirements management“) und Anforderungsänderungen („change management“) umzusetzen – und das jederzeit. Dahinter steckt die Idee, Teilprozesse möglichst einfach und somit beweglich (=agil) zu halten. Wichtig zu wissen ist dabei, dass das Entwicklungsziel nicht in allen seinen Aspekten vorab definiert sein muss. Wir, die CCVOSSEL GmbH, unterstützen Sie gerne dabei, gemeinsam mit Ihnen die passenden Entwicklungsziele in Ihren Projekten herauszufinden, um von vorne herein in die richtige Richtung zu arbeiten.

 

Auf gemeinsamer Reise

Bei der agilen Softwareentwicklung begeben sich der Auftraggeber und das Entwicklungsteam zusammen auf eine spannende Reise, bei der das endgültige Reiseziel grob feststeht. Auf dem gemeinsamen Weg wird immer nur das nächste Zwischenziel genau definiert. Das führt dazu, dass unterwegs genügend Spielraum für kleine Abweichungen bis hin zu großen Kursänderungen ist. Die Projektdauer zeichnet sich durch maximale Transparenz, Flexibilität und viel Raum für Kreativität aus.

„Unsere erfahrenen Entwickler können je nach Projektumfang, Teamgröße, Präferenz und Erfahrung in Abstimmung mit unseren Kunden auf verschiedene, agile Vorgehensmodelle, wie z. B. Extreme Programming, SCRUM und OpenUP zurückgreifen. Allen liegt die offene, effektive und dynamische Entwicklung der gewünschten Softwarelösung in enger Zusammenarbeit mit dem Kunden zu Grunde.“

(Carsten C. Vossel, Geschäftsführer der CCVOSSEL GmbH)

 

Im Jahr 2001 ist übrigens das sogenannte „Manifest für agile Softwareentwicklung“ entstanden, das aus vier Werten und 12 Prinzipien besteht. Die vier Werte lauten:

  • Individuen und Interaktionen bedeuten mehr als Prozesse und Werkzeuge
  • Funktionierende Software bedeutet mehr als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden bedeutet mehr als Vertragsverhandlung
  • Reagieren auf Veränderung bedeutet mehr als das Befolgen eines Plans

(vgl. dazu http://agilemanifesto.org/iso/de/manifesto.html)

 

Iterative Software-Releases

Bei der agilen Softwareentwicklung steht der Kunde mit seinen Anforderungen im Vordergrund aller Prozesse und nimmt aktiv an dem Entwicklungsprozess teil. Durch regelmäßigen Kundenkontakt und Vorführen des Projektfortschritts mithilfe von iterativen Software-Releases wird das Risiko minimiert, in die „falsche Richtung“ zu programmieren. Somit wird außerdem die Zufriedenheit auf beiden Seiten während des gesamten, agilen Softwareentwicklungszyklus sichergestellt.

 

Gerne begeben wir, die CCVOSSEL GmbH, uns gemeinsam mit Ihnen auf eine Reise, in der wir eine passende agile Softwaremethode für Sie finden.

Vorab finden Sie hier ausgewählte Praxisbeispiele unserer agilen Softwareentwicklung:

  • Planungstafel – Unser vielfältiges, intuitiv bedienbares Projektmanagement-Tool
  • Ersatzteilmanagement – Entwickelt für die unkomplizierte, einarbeitungsfreie Anwendung
  • PrintLog – Unsere Software für den hochkomplexen Druckerei-Alltag