stacks_image_FDC817FC-CCBB-4420-BF0B-858ACFD2BCE6
Agile Programmierung

Der Ansatz der agilen Programmierung ist ein flexibles Vorgehensmodell, welches das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und die Formalisierung des Vorgehens optimiert.
Anforderungen werden in sich wiederholenden kleinen Schritten, unter Verwendung von aktiven Rückkoppelungen (-meldungen) umgesetzt. Die Vorgehensweise fokussiert sich auf das Entwickeln der jeweils zu dem Zeitpunkt benötigten Funktionalitäten.
Die agile Programmierung berücksichtigt insbesondere, dass in der Regel die vollständigen Anforderungen an das Softwareprodukt zu Beginn des Projekts nicht vollständig bekannt sind, sondern über die Projektlaufzeit entstehen, beziehungsweise verändert werden.

Kurze Entwicklungszyklen

Durch den Prozess der fortwährenden Kommunikation und Rückmeldung über die gesamte Laufzeit (kurze Entwicklungszyklen) entsteht die Möglichkeit, frühzeitig auf die Entwicklung des Produktes einzuwirken und, wenn notwendig, Anforderungen zu präzisieren.
Dieser Ansatz führt zu einer höheren Erfolgsquote bei der Umsetzung von Projekten als das klassische Wasserfallmodell.

Kontinuierliche Integration

Als Element der agilen Programmierung ist eine fortlaufende / permanente Integration der einzelnen Projektkomponenten zu einem funktionsfähigen Gesamtsystem in kurzen Zeitabständen vorgesehen.
Sobald Entwickler neue Funktionalitäten in das Source-Code Verwaltungssystem eingespielt haben, wird das Gesamtsystem neu gebaut und die Lauffähigkeit über automatisierte Testläufe auf Funktionsfähigkeit überprüft. Im Gegensatz zum „Nightly Build“, wird dies in der Regel mehrmals am Tag der Fall sein.
Werden aufgrund der automatisierten Tests Fehler festgestellt, werden diese sofort behoben.
Dieser Ansatz bietet die folgenden Vorteile:

  • Integrationsprobleme werden sofort erkannt und behoben
  • Fehlerhafter Code wird sofort bereinigt
  • Sich gegenseitig störende Änderungen werden sofort aufgedeckt
  • Permanente Verfügbarkeit eines lauffähigen Systems
Ergebnis ist eine qualitativ hochwertige Software.