Montag, 14. Mai 2012

Einstieg ins Thema


Hallo liebe Leser und willkommen auf meinem Blog bei Google. Seit einigen Monaten beschäftige ich mich im Selbststudium rund um die Themen der Softwareentwicklung.

Nichts ist so stetig wie die Veränderung!
Wenn bis heute etwas Bestand hat, gehört diese Aussage dazu. Dieser Blickwinkel lässt agile Softwareentwicklung erahnen oder als logisch betrachten. Ist das so? Die Anfänge können zurückverfolgt werden bis in die 90er Jahre. In dieser Zeit entwickelte man das ‚Extreme Programming’ mit dem Ziel schneller und flexibler Programmcode zu schreiben als im klassischen Stil.
Welche Argumente und Resultate stehen im Raum um die eigenen Entwicklungsprozesse  zu ersetzten oder zu optimieren? Mit jenen der agilen Prozesse? Kennt man doch genügend Praxisbeispiele, die belegen, wie schwierig das Aufbrechen oder verschieben von bestehenden Softwareentwicklungsstrukturen ist (umdenken der Mitarbeiter, Know-How-Transfer wie auch die Gefahr n= n + 1 Methoden zu erhalten).
In meinem Blog mit dem Thema ‚Agile Softwareentwicklung’ wähle ich einen Ansatz, der welcher auf viele Organisationsstrukturen passt. Dabei setzte ich Scrum als Organisations-Framework und ‚Extreme Programming’ ein. Die Kombination von beiden passt nach meinen Erfahrungen auf viele Organisationsstrukturen.
Die Alternativen, die sich aus den Kombinationen ableiten lassen, sind zahlreich und sollten vor einem definitiven Entscheid gut überlegt sein – inklusive Nebenwirkungen.
Welches sind denn nun die Erfolgsfaktoren  bei agiler Softwareentwicklung ?
Bevor ich auf die Frage eingehe, setzen wir den Fokus auf die Frage: Warum eigentlich ‚agile Softwareentwicklung’? Es gibt genügend Literatur, die dieses Thema behandelt und somit diese Frage im Detail erläutert.  Deshalb kurz ein paar Erfahrungspunkte aus meiner Sicht. Das Planen und die Administration werden auf die Zyklen des Programmings angepasst (agiles Management). Womit ich meine: Der Code zum Produkt wird in kleinen Stücken an das ‚Produkt’ angefügt – somit auch das Planen. Das birgt einige interessante Vorteile: Schnelles, stabiles Requirement, überschaubare Software Units (geringe Komplexität). Daraus entsteht ein  stabiles System und optimale Reaktionszeit. Dann lässt sich weiter ableiten, dass die Software eine Skalierbarkeit erreicht, womit die Betriebskosten tief gehalten werden können (Bugfixing, Systemerweiterungen).
Das Resultat – was kaum zu 100% erreichbar ist – regelmässige Auslieferung von Softwarepaketen, hohe Qualität, innovative und flexible Mitarbeiter und zuletzt das Wichtigste: Zufriedene Kunden! Dieses Resultat wird gesteuert durch die damit verbundenen Prozesse. Welche natürlich auf die agilen Methoden Einfluss nehmen.

Liebe Leser, die Frage nach den Erfolgsfaktoren in der agilen Softwareentwicklung habe ich in diesem Abschnitt nicht beantwortet. Er folgt im nächsten Eintrag, bestimmt!
Bis dann, gute Zeit und Grüsse,
 Marcello

Keine Kommentare:

Kommentar veröffentlichen