Analysten-Kolumne

Anwendungsentwicklung steht vor Zerreißprobe

03.12.2008 von Torsten  Mandelkow
Die schnelle Veränderung der Geschäftswelt stellt heute neue Anforderungen an die Anwendungsentwicklung eines Unternehmens. Gleichzeitig sind jedoch durch Themen wie Compliance und Governance erhöhte Anforderungen an Nachvollziehbarkeit, Sicherheit und Qualität zu erfüllen. Standardisierung bei gleichzeitiger Flexibilität ist das Ziel.
Senior Consultant Torsten Mandelkow: "Unternehmen profitieren durch die Standardisierung direkt durch eine Beschleunigung von Projekten."

Die IT als Kern eines Unternehmens soll die täglichen Arbeiten und Tätigkeiten der Mitarbeiter unterstützen und damit Zeit und Kosten reduzieren. Änderungen in der Geschäftsstrategie müssen zeitnah durch die Anpassungen in der IT unterstützt oder ermöglicht werden. Diese Anpassung an Veränderungen der Geschäftswelt wird durch eine langsame oder ineffiziente IT verhindert und verzögert. Neue, innovative Geschäftsfelder können nur verzögert erschlossen werden, wertvolle Zeit und Kunden können verloren gehen.

Flexibilität und ihre Probleme

Dies erfordert einen hohen Grad an Flexibilität in der IT, da die zukünftigen Anforderungen noch unklar sind oder noch gar nicht existieren. Da die Standardanwendungen wie SAP oder CRM-Systeme unter Umständen diese Flexibilität nur mit hohem Aufwand umsetzen können, betreiben Unternehmen eine eigene Anwendungsentwicklung und greifen auf interne oder externe Entwickler zurück. Dies bringt die notwendige Flexibilität, aber gleichzeitig viele weitere Probleme:

Damit gehen die Vorteile der Flexibilität wie Zeit- und Kostenersparnis durch die eigene Anwendungsentwicklung größtenteils verloren. Die Qualität ist mangelhaft, eine Integration nicht möglich. Die neuen Anforderungen an Unternehmen wie Compliance und Governance, Sicherheit sowie Nachvollziehbarkeit können mit dem bisherigen Vorgehen in der Anwendungsentwicklung nicht beachtet werden.

Um die Probleme in den Griff zu bekommen, müssen viele Teile der IT möglichst weitgehend standardisiert werden. Ziel sind am Ende immer Zeit- und Kostenersparnisse sowie Steigerung der Qualität. Dazu gehören in erster Linie eine Standardisierung von:

Standardisierte Flexibilität

Die Standardisierung mit vielen Einschränkungen scheint auf den ersten Blick die Flexibilität komplett zu beschneiden. Doch diese Einschränkung der Flexibilität ist wichtig und unabdingbar: Um eine bestimmte Anwendung entwickeln zu können, kann man nicht immer auf der "grünen Wiese" starten und aus allen auf dem Markt zur Verfügung stehenden Möglichkeiten wählen.

Die Schranken durch die Standardisierung geben die grundlegende Richtung für die Entwicklung vor. Durch die Festlegung auf eine Entwicklungssprache im Unternehmen stehen entsprechende Programmierkompetenzen der Mitarbeiter zur Verfügung. Durch die Beschränkung auf ein Entwicklungswerkzeug können vorhandene Lizenzen und Installationen genutzt werden. Durch die Standardisierung soll die Flexibilität in entsprechende Bahnen gelenkt werden, wobei die Anforderungen der Fachabteilungen umsetzbar bleiben müssen.

Flexible Standards

Standards verändern sich. Neue gesetzliche Anforderungen müssen im Unternehmen umgesetzt werden oder neue Geschäftsrisiken abgemildert werden. Deshalb unterliegen auch die Standards einer Veränderung und müssen deshalb flexibel im Unternehmen angepasst werden können. Diese Anpassbarkeit der Standards muss sich ebenfalls in den Bereichen Entwicklungsplattform, -prozesse und -werkzeuge realisieren lassen.

Flexible Standardplattform

Ein Beispiel für eine Standardplattform für die Anwendungsentwicklung, wie sie von vielen Unternehmen eingesetzt wird, ist Microsoft SharePoint und das Office-System. Microsoft SharePoint verfügt über viele Standardfunktionen, die in einer Vielzahl von Unternehmen benötigt werden:

Gleichzeitig bietet die Plattform einen hohen Grad an Flexibilität. Zusätzliche Funktionen können über eine API nahtlos integriert werden. Externe Systeme können über entsprechende Schnittstellen angebunden werden.

Durch die umfangreichen Standardfunktionen und die hohe Flexibilität bei der unternehmensspezifischen Anpassung wird SharePoint in vielen Unternehmen z.B. im Intranet für die Unterstützung der täglichen Arbeitsprozesse mit Workflows und Formularen verwendet oder als Extranet für die Kommunikation und Zusammenarbeit mit Kunden und Lieferanten.

Flexible Standardentwicklungsumgebung

Doch die bloße Festlegung auf eine Plattform ist nur der erste Schritt. Alle Vorteile können erst genutzt werden, wenn eine zur Anwendungsplattform entsprechende Entwicklungsumgebung zur Verfügung steht, die Themen wie Entwicklungsprozesse, Nachvollziehbarkeit und Automatisierung übernimmt.

Im Fall SharePoint stellt Microsoft mit dem Produkt "Visual Studio Team System" das entsprechende Werkzeug für die Anwendungsentwicklung zur Verfügung, das auch für die Entwicklung in SharePoint verwendet werden kann. Zu den Standardfunktionen gehören:

Aber auch die Standardfunktionen einer Entwicklungsplattform müssen sich leicht an die sich ändernden Unternehmensanforderungen anpassen können. In Team System ist dies gelöst durch Anpassbarkeit aller Kernkomponenten. Die häufigsten Anpassungen erfolgen in folgenden Bereichen:

Keine Vorteile ohne Nachteile

Die Festlegung auf eine einheitliche Plattform für die Anwendungsentwicklung bringt naturgemäß auch Einschränkungen. Unter Umständen können spezifische Anforderungen der Fachabteilungen auf der Plattform nur beschränkt umgesetzt werden oder es wäre ein unverhältnismäßig hoher Aufwand für die Entwicklung notwendig.

Im SharePoint-Umfeld ist ein klassisches Beispiel die revisionssichere Archivierung von Dokumenten, die durch SharePoint nur unvollständig gelöst werden kann. Die Entwicklung eigener SharePoint-Komponenten für die Archivierung wäre technisch möglich, aber unangemessen aufwendig. Da das Problem hinlänglich bekannt ist, stehen deshalb für die Archivierung von verschiedenen Anbietern entsprechende Standarderweiterungen für SharePoint zur Verfügung, die integriert werden können. Die möglichst einfache Integrierbarkeit von Drittanbieterlösungen ist deshalb ein weiteres wichtiges Kriterium für die Auswahl einer Plattform für die Anwendungsentwicklung im Unternehmen.

Oder doch lieber "Tool-Zoo" der besten Tools am Markt

Ebenso ist es durch die Festlegung auf eine einheitliche Entwicklungsplattform nicht immer möglich, das beste Tool für einen bestimmten Schritt in der Entwicklung auszuwählen. So stehen am Markt hoch spezialisierte Tools zum Beispiel für Anforderungsmanagement, Projektmanagement oder Testmanagement zur Verfügung. Oft sind diese Tools jedoch auf einen Teilbereich spezialisiert und lassen sich nicht miteinander integrieren.

Im Beispiel Anforderungsmanagement ist es beispielsweise notwendig, dass die erfassten Anforderungen gleichzeitig auch im Testprozess zur Verfügung stehen und getestet werden können. Hier wäre ohne eine Integration eine manuelle Übertragung der Anforderungen aus dem Spezialtool in die Testtools notwendig, was zu Mehrarbeit und Fehlern führt und damit den Zeit- und Kostengewinn einer durchgängigen Lösung zunichte macht.

Unternehmen profitieren durch die Standardisierung direkt durch eine Beschleunigung von Projekten. Neue Services und innovative Geschäftskonzepte können schneller im Unternehmen etabliert und produktiv eingesetzt werden. Der hohe Grad an Flexibilität ermöglicht die Anpassung an die noch unbekannten Anforderungen der Zukunft.

Torsten Mandelkow ist Senior Consultant bei Steria Mummert Consulting.