Agile Softwareentwicklung

Flexible Softwareentwicklung

Der Kern der agilen Softwareentwicklung liegt in möglichst häufigen Feedbackprozessen und zyklischen (iterativen) Verfahren auf allen Ebenen. Unsere Angebote für eine agile Produktenwicklung sind Würdest du dann vor der Fahrt den Fahrtwind vermessen, den Verlauf errechnen, das Seitenruder binden und nach einer bestimmten Zeit überprüfen, ob du wirklich am Bestimmungsort bist? Im Vergleich dazu findet sich der Auftraggeber oft im Bereich der traditionellen Softwareentwicklung wieder: Er muss seine Bedürfnisse an die neue Lösung in Spezifikationen bis ins letzte Detail niederschreiben - vor Beginn des Projekts.

Damit die neuen Vorgaben weiterhin in das Gesamtsystem integriert werden können, sind in der Regel große Aufwände erforderlich, oft kombiniert mit zeit- und kostenaufwendigen Neuverhandlungen, die weder für den Auftraggeber noch für die Entwickler von Nutzen sind. Was sind die Vorzüge einer agilen Produktentwicklun? Agilen Entwicklungsmethodiken sind keine Vorgaben erforderlich. Im Laufe des Projekts können neue oder veränderte Bedürfnisse zu jeder Zeit festgelegt werden, z.B. weil sich herausgestellt hat, dass die Anwendung andere Eigenschaften aufweisen muss als bisher angenommen; oder weil sich die Konkurrenzsituation verändert hat.

Mit diesem iterativen Ansatz können Erkenntnisse aus dem aktuellen Vorhaben in den weiteren Entstehungsprozess eingebracht und nur das wirklich Nützliche erarbeitet werden. Deshalb agieren unsere Mitarbeiter in flexiblen Prozessen immer vor Ort beim Auftraggeber und sind in ständigem Austausch mit ihm. Durch das regelmäßige Rückmeldungen von Entwicklern an die Kundschaft wird das Risiko des Verlusts und der Fehlentwicklung der Entwicklung der angepassten Produkte auf ein Minimum reduziert.

Aufgrund der geringen Kommunikationskanäle mit den Entwicklungspartnern wird auch das Gesamtsystem früher fertiggestellt, was einen wirklichen Konkurrenzvorteil (time-to-market) ausmacht. Zudem werden immer zuerst die für den Auftraggeber wichtigen Systemelemente, d.h. diejenigen, die den größten Unternehmenswert erreichen, abgeschlossen. Damit können große Teilbereiche der neuen Technologie lange vor dem Ende des Gesamtprojekts produktionsfähig genutzt werden.

Selbstverständlich will sich jeder Programmierer mit seiner Leistung auseinandersetzen und wirklich gute Programme entwickeln. Flexible Verfahren bieten dafür den geeigneten Rahmen: Der Aufwand wird also von den Programmierern selbst gewürdigt, da sie danach die Verantwortung übernehmen müssen. Durch agile Projekte kommunizieren die Programmierer unmittelbar mit den Nutzern - und das am besten jeden Tag.

Die unmittelbare Mitteilung hilft den Arbeitern nicht nur, besser zu erkennen, was die Benutzer tatsächlich für sie tun müssen, sondern erhöht auch das Wissen der Benutzer, wann eine Kostenschätzung von den Arbeitern berichtigt werden muss. Alles in allem ist eine gute Kooperation zwischen Entwicklung und Kunde sowie eine allgemeine Vertrauensgrundlage für jedes Vorhaben von großem Nutzen!

Die Praxis hat jedoch gezeigt, dass die meisten Developer in agile Projekte mehr Freude haben als in klassische Projekte. Kernstück der agile Produktentwicklungsarbeit sind so häufig wie möglich stattfindende Feedbackprozesse und zyklische (iterative) Abläufe auf allen Ebenen: in der Planung, im Projektteam und im Projektmanagement. Im Gegensatz zum traditionellen Ansatz wird das neue Verfahren nicht im Vorfeld detailliert eingeplant und dann in einem Arbeitsgang weiterentwickelt, da sich die Bedürfnisse im Laufe des Projekts verändern können und oft zu Beginn des Projekts nicht ausreichend bekannt sind.

Vielmehr wechselt der agile Ansatz zwischen kurzen Planungs- und Ausführungsphasen. Sobald eine Vorstellung für das neue Verfahren erarbeitet wurde, d.h. die mit dem Projekt zu erreichenden Zielvorgaben definiert und bewertet wurden, wird ein Konzept für eine erste Produktversion erstellt und die Produktentwicklung gestartet. Bei jedem neuen Projekt sollen eindeutige Unternehmensziele verwirklicht werden, die in der Praxis vom Management / Kunden gesetzt werden.

Aus diesen Unternehmenszielen werden Vorgaben abgeleitet, die das neue Unternehmenssystem erfüllen soll. So gibt es einen doppelten Übersetzungsprozess: von den Unternehmenszielen zu den Vorgaben und von den Vorgaben zu den Systemen. Die beiden Übersetzungsverfahren stellt die größte Herausforderung in der Produktentstehung dar, denn es ist weder einfach, die genauen Voraussetzungen für ein Unternehmensziel zu formulieren noch bestimmte Voraussetzungen in eine Produkterweiterung umzusetzen.

Agilen Verfahren gehen einen umgekehrten Weg, der darin besteht, das neue Verfahren so frühzeitig wie möglich zu nutzen und es so gegen die Unternehmensziele zu testen. Nimmt die agile Softwareentwicklung eigentlich alle oben genannten Vorzüge mit, stellt sich die Fragestellung, wo der Fang ist. In der Tat ist es unangenehm, agile Verfahren zu implementieren und aufrechtzuerhalten.

In der agilen Produktentwicklungsarbeit unterstützen und unterstützen wir Ihre Entwicklungsteams. Bei uns werden Trainings zu agilen Ansätzen angeboten. Ist Agile es für Sie wert? Wir werden in einem gemeinsamen Gespräch herausfinden, ob sich das agile Handeln mit der Software für Sie auswirkt!

Auch interessant

Mehr zum Thema