Projektabwicklung in vier Phasen
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 Anwendung
- Testphase
Zu Beginn des Projektes stehen das Sammeln, Strukturieren und Bewerten von Anforderungen an die Web-Anwendung. Im Idealfall wird dieser Schritt von Auftraggeber- und Auftragnehmerseite gemeinsam durchgeführt. Zum Gelingen dieser Phase können das Heranziehen von Experten, das Entwickeln von Prototypen oder auch das Übernehmen von Anforderungen aus anderen Projekten wesentlich beitragen. Es sollen alle Betroffenen die Möglichkeit bekommen, an der Erarbeitung dieser Requirements mitzuwirken. Zumindest aber müssen am Ende dieser Phase alle Beteiligten mit den erabeiteten Ergebnissen einverstanden sein.
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 User zu Gesicht bekommen und bekanntlich jeder einen anderen Geschmack hat. Trotzdem ist das Ziel, eine Bedienoberfläche anzubieten, die alle akzeptieren. Denn Änderungen in diesem Bereich verursachen nach der Programmierung (Phase 3) oft sehr hohe Kosten.
In Phase drei wird die gesamte Anwendung technisch umgesetzt. Dazu stehen in der Regel mehrere Technologien, zur Auswahl. Auf der einen Seite zum Beispiel J2EE oder Microsoft .NET, die sich besonders für komplexe Applikationen eignen. Für kleinere Anwendungen bieten sich zum Beispiel Adobe ColdFusion oder PHP an. Auch Adobe Flex 2 etabliert sich insbesondere für die Entwicklung von Rich-Internet-Anwendungen zunehmend als mögliche Technologie.
Eine Besonderheit bei Web-Applikationen sind die kurzen Entwicklungszyklen von 2 bis 6 Monaten. Um dabei einen Überblick über die Vielzahl der dadurch entstehenden Versionen der Applikation zu behalten, sollte unbedingt ein Versionsverwaltungssystem eingesetzt werden.
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 dabei für das Entwickeln von Web-Applikationen adaptiert werden. Neben den funktionalen Komponenten sind auch Sicherheit, Performanz, Verfügbarkeit und Usability im Allgemeinen zu testen. Weitere Themen sind z.B. Browser-Kompatibilität, Kompatibilität der eingesetzten Software-Komponenten (WebServer, Applikationsserver, Firewall etc.) und Antwortzeiten bei langsameren Internetverbindungen. Die Testphase schließt ebenfalls die Korrekturen der entdeckten Fehler ein.
Erfolgsfaktor Projektmanagement
Ein professionelles Projektmanagement trägt wesentlich zum Gelingen eines Web-Vorhabens bei. Vor allem die Zusammenstellung des gemeinsames Projektteams, in dem neben den Verantwortlichen des Dienstleisters auch die Vertreter aller Beteiligten (Stakeholder) präsent sein sollten, muss 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.
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.
Zurück zu Web-Engineering, Teil 1
Rapid ePrototyping
|