Entwicklung
07.04.2005, 00:00 Uhr
Königsweg zu qualitativ hochwertigen Web-Anwendungen
Die Entwicklung von Web-Applikationen geschieht größtenteils immer noch jenseits aller Qualitätsstandards. Doch moderne, immer komplexer werdende Internet-Anwendungen benötigen umsichtiges Projektmanagement, ingenieurmäßiges Vorgehen und definierte Prozesse.
von Michael Deiß, Entwicklungsleiter und Gesellschafter des Münchner IT-Dienstleisters eggs unimedia
Der expandierende E-Commerce hat Web-Anwendungen stark verändert: Wurden zunächst nur Datenbank-Inhalte – wie zum Beispiel Veranstaltungskalender – dynamisch auf Webseiten angezeigt, so sind die modernen E-Business-Anwendungen mittlerweile umfangreiche und komplexe Softwaresysteme.
Die Applikationen jedoch, die die Plattform für diese Entwicklung bilden, unterliegen derzeit noch keinerlei allgemein verbindlichen Qualitätsstandards. Anders als in der klassischen Software-Entwicklung, für die zahlreiche DIN- und EU-Normen sowie verschiedene ISO-Standards verabschiedet wurden, gibt es für die Programmierung von Web-Anwendungen keine anerkannten Regeln, die einerseits die Qualitätsmerkmale der Anwendung, andererseits das Vorgehen bei der Entwicklung festlegen. Vielmehr wurden Web-Anwendungen bisher häufig eher „spontan“ („Try and Fix“) entwickelt. Dies hat zum einen mit dem unerwarteten, lawinenartigen Wachstum des Internets zu tun, zum anderen mit dem vergleichsweise geringen Alter dieses Mediums.
Je mehr anspruchsvolle Web-Anwendungen unternehmenskritische Geschäftsprozesse abbilden, desto weniger ist die – immer noch weit verbreitete – Vorgehensweise „Try and Fix“ für die Entwicklung geeignet. Besonders deutlich wird dies an der neuesten Generation von Web-Anwendungen, den so genannten Rich-Internet-Applikationen (RIA). Bisher realisierte RIAs lassen sich in folgende Kategorien einteilen: Intuitivere Benutzerschnittstellen, bessere Verkaufsunterstützung, Visualisierung großer Datenmengen, Optimierung der Kundenkommunikation und Vereinfachung von Geschäftsprozessen.
Oft besteht die Anforderung, RIAs in bestehende IT-Landschaften eines Unternehmens zu integrieren, um beispielsweise Geschäftsdaten reibungslos aus einem SAP-System zu beziehen und zu visualisieren oder auch um Kundeninformationen mit einer Customer Relationship Management-Lösung auszutauschen. Mit Rich Internet Applikationen sind solch komplexe Herausforderungen elegant zu lösen, erfordern aber in der Realisierung ein koordiniertes, ingenieurmäßiges Vorgehen.
Schichtenmodell schafft große Flexibilität
Gut geplante Web-Applikationen sind nach einem Schichtenmodell aufgebaut:
- Die oberste Schicht, der Presentation Layer, ist das User-Interface – die Bedienoberfläche.
- Darunter liegt die Business Logic, die alle Abläufe und Prozesse verwaltet.
- Darunter wiederum der Data Access Layer; die Schicht, die den Zugriff auf Daten im Data Storage Layer ermöglicht.
- In der untersten Schicht, dem Data Storage Layer, werden Daten der Anwendung gespeichert (zum Beispiel: Datenbank oder LDAP-Server)
Der Erfolg eines Unternehmens im E-Business steht und fällt mit der Qualität seiner Web-Applikation/en. Doch viele IT-Projektmanager haben damit in der Vergangenheit eher leidvolle Erfahrungen gemacht: So verfehlten einer Studie des Cutter Consortiums zufolge 84 Prozent der Web-Lösungen die geschäftlichen Ziele, 79 Prozent sprengten den Zeitplan, 63 Prozent überschritten das Budget, 53 Prozent besaßen nicht die geforderten Funktionalitäten und 52 Prozent nicht die gewünschte Qualität.
Vor allem der Wunsch eines Unternehmens, die Entwicklungszeit möglichst kurz zu halten, um mit einer neuen Web-Anwendung so schnell wie möglich online zu gehen, kann zu Qualitäts- und Funktionsmängeln führen. In Zeiten von unternehmenskritischen E-Business-Applikationen kann das Projektmanagement erhebliches leisten.
Erfolgsfaktor Projektmanagement
Ob Content Management System, Intranet, E-Business-Funktionalität oder Unternehmensportal – die wachsende Bedeutung Web-basierter Anwendungen für die Geschäftsprozesse eines Unternehmens sowie ihre zunehmende Verknüpfung mit den vorhandenen Legacy-Systemen sollten dazu beitragen, bei der Entwicklung dieser Applikationen auf eine nachhaltige Qualität zu achten.
Doch wie kann ein Auftraggeber sicher sein, eine qualitativ hochwertige Web-Anwendung zu erhalten? Neben den Referenzen, dem Know-how und der Erfahrung des Dienstleisters trägt vor allem ein professionelles Projektmanagement wesentlich zum Gelingen eines Web-Vorhabens bei. Die Qualität einer Web-Anwendung kann zudem durch ein gemeinsames Projektteam gesichert werden, in dem neben den Verantwortlichen des Dienstleisters auch alle Beteiligten (Stakeholder) vertreten sein sollten: Neben der IT-Abteilung, der Fachabteilung und den zukünftigen Nutzern der Applikation sind dies häufig auch die Personalabteilung und der Betriebsrat.
Die Zusammenstellung dieser Projektgruppe sollte sehr gut geplant werden, denn wenn von allen beteiligten Stellen eine Person vertreten ist, können aufkommende Fragen schnell und kompetent geklärt werden, alle Beteiligten sind immer auf dem aktuellen Informationsstand und der Entwicklungsprozess bleibt vom Beginn bis zum Abschluss transparent.
Ein weiterer, nicht zu unterschätzender Pluspunkt eines so zusammengestellten Projektteams ist die Erfahrungsvielfalt, die es birgt: Endanwender haben eine völlig andere Sicht auf Web-Applikationen als Marketing- oder IT-Fachleute. Die Erfahrung zeigt außerdem, dass – gerade bei der Erhebung und Verarbeitung sensibler Personaldaten – der Betriebsrat hinsichtlich der im Unternehmen getroffenen Datenschutzvereinbarungen frühzeitig einbezogen werden sollte.
Grundsätzlich gilt: Je früher Unstimmigkeiten geklärt werden können, desto weniger Kosten entstehen für ihre Beseitigung. Es ist wesentlich kostengünstiger, nach einem Gespräch mit den Stakeholdern in die Planungspapiere eine Änderung aufzunehmen, als eine programmierte Applikation nachträglich zu modifizieren.
Analog zum Bereich der klassischen Software-Entwicklung mit ihrem etablierten Software-Engineering ist mittlerweile auf Grund der Besonderheiten von Web-Anwendungen die neue Disziplin des Web-Engineerings entstanden. Dabei werden etablierte, auf wissenschaftlichen Erkenntnissen beruhende Methoden der Software-Erstellung auf Internet-Anwendungen übertragen und vor allem eine Vielzahl an Maßnahmen zur Qualitätssicherung berücksichtigt.
Professionelle Programmierung und Qualitätssicherung
Im Einzelnen bedeutet das nicht nur, systematisch die Anforderungen an eine Web-Anwendung genau zu spezifizieren, sondern vielmehr auch etablierte, quantifizierbare Konzepte, Methoden, Techniken und Werkzeuge einzusetzen, um Entwurf, Implementierung, Betrieb und Pflege der Web-Applikation kosteneffektiv zu gewährleisten. Durch dieses klar definierte Vorgehen, das auch die fortlaufende Dokumentation des Entwicklungsprozesses einschließt, werden Kosten und Risiken bei Neuentwicklung und Pflege deutlich reduziert. Gleichzeitig lässt sich die Qualität der Anwendung erheblich verbessern.
Im Wesentlichen besteht der Prozess des Web-Engineerings aus vier Phasen:
- Anforderungen sammeln, strukturieren und bewerten
- Entwicklung des User-Interfaces und des Software-Designs
- Programmieren der AnwendungTestphase
- Testphase
In der Phase zwei entwickeln die Software-Architekten auf Basis der Anforderungen die Architektur und das Software-Design der Anwendung. Parallel dazu wird das User Interface von den Usability-Experten entworfen. Das Software-Design der Applikation wird normalerweise nur dann mit dem Kunden abgestimmt, wenn sich besondere Fragestellungen ergeben, die mit der IT-Abteilung zu erörtern sind. Etwa wenn der Dienstleister für die Anwendung mehrere Server vorsieht und noch offen ist, ob dies im unternehmenseigenen Rechenzentrum überhaupt möglich ist.
Das User-Interface unterliegt in der Regel längeren Diskussionen, da es der Teil der Anwendung ist, den am Ende alle zu Gesicht bekommen und bekanntlich jeder einen anderen Geschmack hat. Trotzdem ist das Ziel, eine Bedienoberfläche anzubieten, die alle akzeptieren. Änderungen in diesem Bereich nach der Programmierung (Phase 3) verursachen oft sehr hohe Kosten. Ein konsequentes Projektmanagement nutzt hierbei den direkten Kontakt zwischen Entwicklern und Anwendern im Projektteam, innerhalb dessen eine Abstimmung unmittelbar erfolgen kann.
In Phase drei wird die gesamte Anwendung technisch umgesetzt. Dazu stehen mehrere Technologien zur Auswahl. Auf der einen Seite J2EE oder Microsoft .NET, die sich besonders für komplexe Applikationen eignen. Für kleinere Anwendungen bieten sich zum Beispiel Macromedia ColdFusion oder PHP an. Eine Besonderheit bei Web-Applikationen sind die kurzen Entwicklungszyklen von 2 bis 6 Monaten. Um einen Überblick über die Vielzahl der dadurch entstehenden Versionen der Applikation zu behalten, sollte unbedingt ein Versionsverwaltungssystem eingesetzt werden.
Hohe Anwendererwartungen erfüllen
Phase vier darf keinesfalls unterbewertet werden, da sie besonders wichtig für die Qualitätssicherung ist und letztendlich sicherstellt, dass die hohen Anwendererwartungen erfüllt werden. Existierende Testmethoden und -techniken müssen für das Entwickeln von Web-Applikationen adaptiert werden. Neben funktionalen Komponenten müssen auch Sicherheit, Performanz, Verfügbarkeit und Usability im Allgemeinen getestet werden. Im Speziellen müssen auch getestet werden: Browser-Kompatibilität, Kompatibilität der eingesetzten Software-Komponenten (WebServer, Applikationsserver, Firewall etc.), Antwortzeiten langsameren Internetverbindungen. Die Testphase schließt auch die Korrekturen der Fehler ein.
Um ihre Geschäftsabläufe zu beschleunigen und für künftige Marktentwicklungen gewappnet zu sein, wollen laut einer gemeinsamen Studie des Fraunhofer-Instituts für Arbeitswirtschaft und Organisation (IAO), des Bundesverbandes der Deutschen Industrie und des Bundesverbandes Informationswirtschaft rund 90 Prozent der befragten kleinen und mittelständischen Unternehmen bis zum Jahr 2007 E-Business-Anwendungen einführen. Diesem Vorhaben stehen jedoch erhebliche Engpässe bei dafür ausgebildeten Programmierern gegenüber. Mit dem Einsatz von Web-Engineering-Methoden können diese wenigstens zum Teil ohne gravierende Qualitätseinbußen überbrückt werden.