Das Rapid Application Development Model verstehen

Veröffentlicht: 2022-09-11

Das Rapid Application Development Model verstehen

Rapid Application Development oder RAD ist eine Softwareentwicklungsmethode, die die Planungs- und Prototypenphase betont, um schnelles Feedback von Benutzern zu erhalten. Im Vergleich zu konventionelleren Methoden der Softwareentwicklung, die vorläufiges Design und anschließende Implementierung umfassen, legt RAD Wert auf mehr Flexibilität. Ständige Runden von Benutzereingaben und schnelle inkrementelle Verbesserungen tragen dazu bei, am Ende des Tages bessere Ergebnisse zu erzielen.

In den 1990er Jahren definierte James Martin Rapid Application Development als Alternative zu herkömmlichen Wasserfallverfahren. Die traditionelle Wasserfallmethode ist eine hervorragende Lösung für die Bauindustrie und viele andere Bereiche, in denen Änderungen des Arbeitsumfangs ungewöhnlich und kostspielig sind. Es ist ziemlich unwahrscheinlich, dass Sie mitten im Bau einer Brücke zum Bau einer Fähre wechseln würden, wenn Sie bereits mit dem Bau der Brücke begonnen hätten.

Die Weiterentwicklung der Software ermöglicht ein höheres Maß an Anpassungsfähigkeit. Eine breitere Palette von Ansätzen kann verwendet werden, um die gleichen geschäftlichen Schwierigkeiten zu bewältigen, und Änderungen können zu geringeren Kosten vorgenommen werden. Folglich opfern Unternehmen präzises Design und Planung zugunsten eines iterativen Prozesses mit Trial-and-Error. Wenn Verbraucher eine Verbesserung beobachten, äußern sie zudem eher konstruktive Kritik.

Ist Rapid Application Development der richtige Ansatz für mein Projekt?

Wie wir bereits erklärt haben, arbeitet RAD nicht in starren Kontexten. Es gilt nicht in den folgenden Situationen:

  • Es ist notwendig, Vorkenntnisse sowohl über die finanziellen Zwänge als auch über die Zeitpläne zu haben.
  • Entweder haben Sie keinen konsistenten Zugriff auf die Benutzer, oder sie sind nicht motiviert, ihre Zeit und Mühe dem Projekt zu widmen.
  • Aufgrund seines Umfangs erfordert das Projekt die Teilnahme einer beträchtlichen Anzahl von Personen, die oft als Interessenvertreter bezeichnet werden.

Diese Beschränkungen gelten oft für große Unternehmen und Organisationen, die von der Regierung geführt werden. Andererseits gelten auch in diesen Situationen einige Aspekte des schnellen Anwendungsentwicklungsprozesses. Beispielsweise könnten Projekte mit einem festgelegten Preis Mittel für die Prototypenphase und eine bestimmte Anzahl von Überarbeitungen zuweisen. Wenn Sie die entsprechenden Benutzer an Bord haben, können Sie den Umfang des Prototyps möglicherweise auf die unklarsten Teile beschränken.

Andererseits eignet sich ein Rapid Application Development Framework sehr gut für kleine und mittlere Organisationen und Abteilungsprojekte. Dies gilt, solange die geschäftlichen Benutzer das Geld besitzen und den Willen haben, das Ergebnis zu erzielen. Dies ist ein hervorragendes Beispiel für die vielen Line-of-Business (LOB)-Apps. Ein allgemeiner Begriff bezieht sich auf Softwareprogramme, die bestimmte Aspekte eines Unternehmens automatisieren und effektiver betreiben.

In ähnlicher Weise ist RAD ein Ansatz, der bei der Entwicklung von Websites effektiv ist. Dies sind oft bescheidene Projekte mit einem begrenzten Kreis von Interessengruppen, aber es ist wichtig, sie frühzeitig einzubeziehen, da Design ein sehr kontroverses Thema ist und jeder etwas dazu sagen kann!

Phasen und Methodik

Die zeitaufwändige Planungsphase wird durch die kostengünstigere Prototypenphase im Rapid Application Development-Ansatz ersetzt. Insbesondere schlägt das RAD-Modell die Aufteilung des Prozesses in die folgenden vier Phasen vor:

Bedarfsplanung

Die Nutzer und das Projektteam werden in dieser Phase gemeinsam die Ziele des zukünftigen Systems festlegen. Der Erfolg des Unternehmens steht im Vordergrund. Die Standards sind nicht sehr streng. Die Fähigkeit, sie zu ändern oder anzupassen, während der Prototyp noch entwickelt wird, ist unerlässlich.

Benutzerdesign

Die schnelle Anwendungsentwicklungstechnik unterscheidet sich vom traditionellen Wasserfallmodell dadurch, dass das Benutzerdesign als grundlegende Komponente des Prozesses betont wird. In dieser Phase arbeiten die Entwickler zunächst an einem Prototypen. Ziel ist es, dem Kunden schnell und kostengünstig etwas zu zeigen, was auch immer demonstriert werden muss. Es ist kein Deal Breaker, wenn der Prototyp nur einige der Kriterien erfüllen oder nur eine Teilmenge der möglichen Situationen bewältigen kann. Abkürzen ist beim Programmieren erlaubt.

Nachdem der Prototyp fertiggestellt ist, wird er den Benutzern zur Rückmeldung gezeigt. Das Team sammelt so viel Input wie möglich, und in diesem Stadium sind die wesentlichen Kriterien anfällig für unvermeidliche Änderungen. Was aufgeschrieben Sinn machte, könnte in der Praxis anders aussehen. Wenn die Entwickler diesen Input haben, kehren sie zum Prototypprozess zurück und fahren damit fort, bis die Verbraucher mit dem Endergebnis zufrieden sind.

Konstruktion

An dieser Stelle sind wir uns der Anforderungen, die erfüllt werden müssen, voll bewusst. Es ist an der Zeit, die Entwicklung und Tests des Systems abzuschließen, um es für den Einsatz in der Produktion bereit zu machen. Es wird keine Abkürzungen mehr geben; Stattdessen wird der Schwerpunkt auf Qualität, Skalierbarkeit, Wartbarkeit und andere Faktoren gelegt. Selbst zu diesem späten Zeitpunkt interagieren die Verbraucher jedoch weiterhin, indem sie Kommentare abgeben, wenn neue Funktionen eingeführt werden. An diesem Punkt des iterativen Prozesses zur Entwicklung einer schnellen Anwendung gibt es noch Raum für weitere Feinabstimmungen.

Abhängig von dem Werkzeug, das wir am Ende verwenden, und den anderen beteiligten Faktoren, könnte die Arbeit, die wir bis zu diesem Punkt im Prototyping-Prozess geleistet haben, nicht einmal verwertbar sein.

Umstellung

Dies ist der letzte Schritt, der Benutzerschulungen, Akzeptanztests und die Implementierung des neuen Systems umfasst.

Schnelle Anwendungsentwicklung vs. Agil

Der Name „RAD“ wurde zehn Jahre vor der agilen Entwicklungsmethodik geprägt, und aufgrund seiner iterativen Methodik wird RAD manchmal als „Elternteil“ von Agile bezeichnet. Andererseits ist dies nicht der Fall. Agile ist eine philosophische Sichtweise, die viel mehr als nur Softwareentwicklung umfasst, im Gegensatz zu RAD, das eine präskriptive Entwicklungstechnik ist.

Man kann davon ausgehen, dass Rapid Application Development (RAD) zur gleichen Familie gehört wie andere agile Softwareentwicklungsansätze wie Scrum, Kanban und viele mehr.

Vor- und Nachteile der schnellen Anwendungsentwicklung

Der Fokus bewegt sich weg von der Vorhersagbarkeit und hin zur Anpassungsfähigkeit aufgrund von RAD, was sowohl gute als auch schlechte Implikationen hat.

Vorteile :

Reduzierte Kosten und Gefahren

Benutzer können die Ergebnisse der Methode nur anzeigen und Kommentare abgeben, sobald das Projekt an sie geliefert wurde. Die an dieser Stelle unvermeidlichen Anpassungen sind zeit- und kostenintensiv. Die Wahrscheinlichkeit, dass die Hälfte der Lösung nach der Implementierung neu geschrieben werden muss, wird durch den schnellen Anwendungsentwicklungsprozess erheblich reduziert.

Überlegen in Qualität

Das endgültige Programm wird wahrscheinlich besser für die Aktivitäten der Benutzer gelten, wenn sie aktiv am Prototyping-Prozess teilnehmen. Darüber hinaus wird es unabhängig vom Ergebnis ihre Erwartungen erfüllen.

Nachteile:

Schlechtes Design

Wenn Sie in der Prototypphase bestimmte Geschäftsanforderungen verfolgen und Abkürzungen nehmen, gehen Sie möglicherweise zu weit. Dadurch ergibt sich ein schlechtes Design und eine schlechte Gesamtlösung.

Unfähigkeit, effektiv zu skalieren

Das RAD-Paradigma setzt voraus, dass das Team und die Endbenutzer sehr eng zusammenarbeiten. Der Prototypen-Prozess bewegt sich immer dann im Eisschritt, wenn entweder das Team zu groß ist oder es zu viele Stakeholder gibt. Außerdem wird es schwierig, häufige Änderungen im Projektumfang allen Parteien zu erklären. Daher wird angenommen, dass RAD am besten für Gruppen mittlerer oder kleiner Größe funktioniert.

Engagement von Kunden im Backend

Die Rapid-Application-Development-Technik rechnet mit einer beträchtlichen Menge an Benutzereingaben während der gesamten Lebensdauer des Projekts. Den Berichten zufolge gilt dies insbesondere für die qualifiziertesten Fachleute der Branche, die zufällig auch die beschäftigtsten Personen in der Organisation sind.

Unfähigkeit, Kontrolle auszuüben

Bevor die Prototypphase des Projekts abgeschlossen ist, ist es aus offensichtlichen Gründen nicht möglich, den Umfang, das Budget oder den Zeitplan des Projekts genau vorherzusagen. Abhängig von den Ergebnissen des Bedarfsplanungsprozesses können Sie jedoch einige allgemeine Erwartungen festlegen.

Entwicklungsteam

Tools für die schnelle Anwendungsentwicklung (RAD)

Die Anwendung des RAD-Ansatzes beruht hauptsächlich auf Rapid Prototyping und enger Zusammenarbeit. Daher ist die Auswahl geeigneter Tools zur Unterstützung dieser Bemühungen von größter Bedeutung. Zu unserem Glück gibt es eine große Auswahl, aus der Sie wählen können.

Design und Prototyping

Schnelle Anwendungsentwicklungstechnologien wie Figma und InVision ermöglichen es visuellen Designern und UX-Experten, schnell zusammen zu bauen und anklickbare Prototypen mit Endbenutzern zu teilen. Diese haben ein vollständiges Design, sodass Entwickler Benutzereingaben sammeln können. Sobald eine der Iterationen des Prototyps grünes Licht erhält, können sie das Projekt in Formate zur Wiederverwendung durch Frontend-Entwickler exportieren. Damit markiert es den Übergang in die Bauphase. Obwohl die Erstellung von Websites bei weitem die häufigste Verwendung dieser Tools ist, ist das Prototyping der Benutzererfahrung von komplizierteren Endbenutzer-Apps oder -Portalen eine weitere Verwendung.

Business-Analysten verwenden viel häufiger andere Anwendungen wie Balsamiq. Sie konzentrieren sich darauf, mithilfe von Wireframes einen Prototyp der Benutzererfahrung zu erstellen. Dann implementieren sie später das endgültige Design. Dies sind hervorragende Optionen für die vorläufige Modellierung umfangreicherer Systeme, die komplizierte Benutzerinteraktionen beinhalten.

Entwicklung

Die Entwicklungsphase einer Anwendung ist oft die zeitintensivste, kostenintensivste und mit den größten Unsicherheiten behaftete Phase. Daher integrieren aktuelle Plattformen für die schnelle Anwendungsentwicklung erprobte Architekturen. Dies sind fertige Komponenten, die Standardfunktionen implementieren, und Tools, die eine schnelle Entwicklung erleichtern. Jeder von ihnen erleichtert es Ihnen, schneller Ergebnisse zu liefern. Egal, ob Sie sich in der Prototyping-Phase des Projekts oder weiter in der Konstruktionsphase befinden.

Beratungsunternehmen wie Gartner und Forrester entwickeln ständig neue Nomenklaturen, um jede dieser Plattformen zu differenzieren. Dazu gehören häufig die folgenden: Low-Code/No-Code-Anwendungsplattformen (LCAP), hochproduktive Anwendungsplattformen als Service (HPAPaaS) und Multi-Experience-Entwicklungsplattformen. Dies sind alles Beispiele für verschiedene Arten von Anwendungsplattformen (MXDP), die Sie verwenden können. Letztendlich kann jedoch jeder von ihnen nach seiner beabsichtigten Leserschaft kategorisiert werden.

Low-Code/No-Code-Plattformen

Das grundlegende Konzept hinter diesen Plattformen besteht darin, Geschäftsanwendern ohne Programmierkenntnisse (auch bekannt als Power User oder Citizen Developer) die Möglichkeit zu geben, schnell funktionale Anwendungen bereitzustellen. Diese Einfachheit geht natürlich mit einem Mangel an Flexibilität und diversen Einschränkungen einher. In einem kürzlich erschienenen Artikel diskutiere ich diese Grenzen und ihre Gefahren. Folglich besteht der Zielmarkt für solche Plattformen entweder aus Prototyping oder elementaren Lösungen.Entwicklerorientierte Plattformen

Diese Plattformen profitieren von der Schnelligkeit und Aufregung der Softwareentwicklung. In erster Linie über die Bereitstellung von übergeordneten APIs und Code-Produktion. Daher müssen Programmierer nicht mehr wiederholt Boilerplate-Code schreiben und Standardfunktionen implementieren.

Embarcadero RAD Studio, ehemals Borland Delphi, ist einer der Pioniere der Branche. Sie sind bekannt für ihr visuelles User Interface Design. Borland Delphi war sein Nachname. Es gab es schon vor dem Aufkommen des Internets und kann immer noch für Apps auf Desktop-Computern und Mobilgeräten verwendet werden.

Das Web ist das primäre Ziel der anderen Rapid Application Development Frameworks. Weil es heutzutage die gängigste Methode ist, um mit Endverbrauchern zu kommunizieren. Hier bei Jmix zum Beispiel bemühen wir uns, die Einfachheit und Schnelligkeit von visuellen Datenmodellen und Schnittstellendesign mit der Effizienz der heutigen Open-Source-Technologie zu kombinieren. Diese Strategie erhöht das Tempo, mit dem Sie Prototypen erstellen. Es gibt Ihnen jedoch auch die Möglichkeit, Ihren Prototyp zu einer vollständigen Unternehmensanwendung zu entwickeln, die eine stabile und skalierbare Struktur aufweist.

Fazit

Einer der Entwicklungsansätze, die der agilen Denkweise folgen, ist Rapid Application Development (RAD). Die aktive Beteiligung von Endbenutzern und die Entwicklung schneller, iterativer Prototypen unter Verwendung der Eingaben dieser Benutzer sind zwei Grundprinzipien der RAD-Methodik. Nach der Sicherstellung der Zufriedenheit der Endanwender geht es als nächstes um die Bereitstellung geeigneter Software für die Produktion.

Die Auswahl des/der geeigneten Werkzeugs/Werkzeuge ist entscheidend, um ein schnelles Prototyping zu gewährleisten. Als Ergebnis der effektive Einsatz der RAD-Methodik innerhalb eines bestimmten Projekts. Die gute Nachricht ist, dass es eine vielfältige Auswahl an Tools und Plattformen gibt, die verwendet werden können. Diese decken verschiedene Arten von Anwendungen, Phasen eines Projekts und Fähigkeiten für Teams ab.

Obwohl RAD eine alte Idee ist, erlebt sie jetzt eine Wiederbelebung. Dies ist eine direkte Folge der aktuellen digitalen Transformationstrends und des Strebens nach kürzeren Markteinführungszeiten. Wenn der RAD-Ansatz für die richtigen Arten von Projekten und mit den richtigen Arten von Teams verwendet wird, kann er eine höhere Kundenzufriedenheit mit weniger Risiken und in kürzerer Zeit erreichen.