(openPR) München, Februar 2013. – Angesichts des anhaltend erhöhten Veränderungsdrucks, unter dem viele Unternehmen heute stehen, muss die agile und kosteneffiziente Neuentwicklung und Anpassung geschäftskritischer Softwarekomponenten zu den Kernkompetenzen der IT-Abteilungen und Dienstleister gehören. Gleiche Relevanz wie die Frage "Wie entwickelt man Software agil?“ hat die Frage „Wie entwickelt man agile Software?“, so Helmut Duschinger, Seniorberater in der Business Unit Financial Services der PENTASYS AG mit langjähriger Erfahrung als Entwickler, Architekt, Projektleiter und zertifizierter Wirtschaftsmoderator (dgfMod). (Mehr Informationen zu Agilität http://www.pentasys.de/Leistungen/Enterprise_Agile)
Denn eine ungünstige Systemstruktur kann dazu führen, dass bei Änderungen regelmäßig mehr Systemteile betroffen sind als notwendig wäre – Anpassungen dauern länger und sind teurer. Wenn Testbarkeit nicht in der Architektur berücksichtigt wurde, können ungünstige Eigenschaften den Test erschweren, beispielsweise wenn umfangreich manuell getestet werden muss. Auswirkungen von Änderungen können leichter eingeschätzt werden, wenn die Architektur der Software klar und angemessen ist, dokumentiert und stringent umgesetzt wurde.
Agile Architektur verankert Agilität und Kosteneffizienz im Design der Software. Besonders lohnt sich dies für langlebige betriebliche Informationssysteme, die als Individualsoftware entwickelt werden und strategische Bedeutung für die Unternehmen haben. (Mehr Information unter http://www.pentasys.de/Leistungen/Software)
Drei Aspekte sind wichtig, erläutert Duschinger: Die Architektur verankert Agilität und Kosteneffizienz in Funktion und Struktur der Software. Sie wird kontinuierlich weiterentwickelt und ihre Umsetzung im Code überwacht. Und sie ist die Basis für eine zweckmäßige Systemdokumentation.
Agile Architektur setzt an zwei Hebeln an, um Software agil zu gestalten:
? an der Funktionalität: Sind Abläufe, Verarbeitungsregeln und Objekte konfigurierbar, können fachliche Änderungen im besten Falle alleine über Parametrierung gelöst werden.
? an der Struktur: Ist die Struktur eines Systems einfach und klar und sind die oft von Änderungen betroffenen Dinge jeweils an einer Stelle gekapselt, dann betreffen viele Änderungen nur wenige Systemteile und sind in ihren Auswirkungen vorhersehbar. Auch die Testbarkeit von Software kann durch eine geeignete Struktur unterstützt werden.
Außerdem muss sichergestellt werden, dass die definierte agile Architektur auch konsequent im Code umgesetzt wird bzw. bei Änderungen an der Software auch die Architekturdefinition aktualisiert wird.
In Kundenprojekten hat PENTASYS schon verschiedene Ansätze umgesetzt, über die Architektur die Agilität und Kosteneffizienz von Softwaresystemen zu steigern. Erreicht wird dies, führt Duschinger aus, durch eine angemessene fachliche und technische Architektur, durch den Einsatz moderner Technologien und durch die konsequente Anwendung bewährter Strukturprinzipien. Am wichtigsten ist aber, so Duschinger: "Agile Architektur ist kein Papiertiger, sondern pragmatisch in die tägliche Entwicklungsarbeit integriert." Moderne Softwareentwicklungsumgebungen schaffen mit wenig Aufwand Transparenz, so dass der Grad der Umsetzung der Architektur jederzeit bekannt ist.
Interessant für Ihre Leser? Ausführlich dargestellt wird das Thema in der PENTASYS-Blickpunkte-Ausgabe "Agile Architekturen - nachhaltig agile und kosteneffiziente Software entwickeln". Sie finden sie auf der PENTASYS-Website http://www.pentasys.de/download/6507_Blickpunkte-Agile-Architekturen-Februar-2013-0-963291.pdf








