Schnell und flexibel
Von Loredana Covaci/Peter Riedlberger
Bei Rapid Application Development, („Schneller Anwendungsentwicklung“) handelt es sich um eine bestimmte Vorgehensweise bei der Entwicklung maßgeschneiderter IT-Anwendungen.
Klassische Kaskaden
Die klassische Softwareentwicklung verwendet das so genannte Wasserfallmodell. Der Name soll suggerieren, dass, wenn eine Phase abgeschlossen ist, üblicherweise kein Weg mehr zurückführt – wie bei den Kaskaden eines Wasserfalls. In der ersten Phase werden z.B. mit dem Kunden die Anforderungen festgelegt. Dann und nur dann, wenn diese Anforderungen komplett fixiert sind, wird weiter gearbeitet. In einer nächsten Phase erfolgt die eigentliche Programmierung. Später folgt noch die Testphase, die aber erst beginnt, wenn Programmierung und Implementierung vollständig abgeschlossen sind.
Das Problem des Wasserfallmodells ist offensichtlich die mangelnde Flexibilität. Kommt der Kunde in der Testing-Phase auf die Idee, dass er unbedingt noch ein weiteres Feature benötigt, bringt dies einen Dienstleister, der dem Wasserfallmodell folgt, schnell aus dem Tritt. Ein weiterer Nachteil ist, dass der Kunde lange warten muss, ehe er zum ersten Mal sieht, für was er da Geld ausgibt.
Modulare Baukästen
Bei RAD wird dagegen versucht, schnellstmöglich eine funktionierende Prototypversion des gewünschten Programms auf die Beine zu stellen; nicht unbedingt notwendige Features werden nach hinten verschoben. Der Dienstleister verwendet zu diesem Zweck Softwarebaukästen, mit denen er schnell zumindest eine Benutzerschnittstelle zusammenklicken kann. Auch übliche Businessanforderungen finden sich in vorgefertigten Programmmodulen.
Das erste Modell wird dem Kunden vorgeführt, der auf diese Weise direkt in die Entwicklung einbezogen wird und schnell entsprechende Änderungswünsche anbringen kann. In kurzen Entwicklungszyklen (von Tagen oder wenigen Wochen) folgen neue, verbesserte Versionen des Programms. Am Ende des Prozesses soll die komplette Applikation mit allen gewünschten Eigenschaften stehen.
Fazit
Im Ergebnis ist festzustellen, dass so entstandene Software zumeist weniger performant ist als eine planmäßig gecodete Applikation. Auch stehen oft nicht alle Features zur Verfügung, etwa weil ein vorgefertigtes Model schon annähernd den gewünschten Leistungsumfang bietet und man es deswegen bleiben lässt, manuell den exakt passenden Code zu erstellen. Andererseits kann der Kunde schnell mit funktionierender Software arbeiten und Design-Ideen, die sich erst bei der Arbeit ergeben, umgehend einbringen. Insgesamt lässt sich sagen, dass RAD für kleine Applikationen geeignet ist, die nicht performance-kritisch sind.