Rapid Application Development (RAD)

MODERNE SOFTWAREENTWICKLUNG

Die schnelle Anwendungsentwicklung „Rapid Application Development“ (RAD) umfasst eine Herangehensweise in der Programmierung, bei der eine kontinuierliche Entwicklungsumgebung die Basis ist. Dadurch lassen sich Änderungen schneller als bei der traditionellen Methode der Anwendungsentwicklung umsetzen.

HISTORIE

Mit dem Ziel, den bisherigen, aufwändigen Softwareentwicklungsprozess zu beschleunigen und flexibler zu gestalten, entwickelten Brian Gallagher, Alex Balchin, Barry Boehm und Scott Shultz in den 1970er Jahren den Ansatz des Rapid Application Developments.

Berühmt wurde die schnelle Anwendungsentwicklung erst einige Jahre später. Anfang der 1990er Jahre entwickelte der britische Informationstechnologie-Berater und Autor, James Martin eine Methode, welche auf einer iterativen Entwicklung und dem Bau von Prototypen fußt.

Bis heute wird der Rapid Application Development Ansatz im Entwicklungsumfeld vielfältig eingesetzt. So stellt beispielsweise die Low-Code-Plattform Simplifier eine Technologie zur Verfügung, mit der integrierte Anwendungen ressourcenschonend konfiguriert werden können. Wiederverwendbare Bausteine und die Nutzung bestehender IT-Systeme sorgen für die notwendige Effizienz bei der Digitalisierung von Unternehmensprozessen. Durch den Rapid Application Development Ansatz und das Rapid Prototyping ist es mit Simplifier möglich, eine umfassende und leistungsorientierte Applikation in kürzerer Zeit effektiv zu entwickeln.

RAD Historie

VORGEHENSWEISE

Der Einstieg in die schnelle Anwendungsentwicklung erfolgt in der Regel in einem zyklischen Prozess, welcher vier grundlegende Phasen umfasst. Ziel des Rapid Application Developments ist es, möglichst schnell, gemäß den Anforderungen des Anwenders, einen lauffähigen Prototyp der Software zu entwickeln. Um eine schnelle Lieferung zu gewährleisten, greifen die Entwickler dabei auf Software-Baukästen zurück.

Requirements Planning
In der Anfangsphase treffen Designer, Entwickler und Anwender eine grobe Vereinbarung über den Projektumfang und priorisieren die Anwendungsanforderungen, so dass in den zukünftigen Phasen mit dem Prototyping begonnen werden kann. Sowohl Entwickler als auch Anwender dürfen in der ersten Phase miteinander sprechen und sich austauschen. In den weiteren Phasen wird davon abgesehen.

Aufbauend auf der Liste der Anwendungsanforderungen mit der Priorisierung entwerfen die Entwickler so schnell wie möglich einen lauffähigen Prototyp der Software. Dabei können sie einen „Software-Baukasten“ verwenden, mit dem die wichtigsten Grundanforderungen schnell zusammengefügt werden können.

User Design
In der zweiten Phase wird das Feedback der Anwender nach Fertigstellung des ersten Prototyps gesammelt. Der Schwerpunkt liegt dabei auf der Festlegung der Systemarchitektur. Anforderungen werden ergänzt oder verfeinert. Dadurch können erste Modellierungen erstellt werden. Dieser Schritt wird so oft wiederholt, wie es nötig ist, um das Projekt weiterzuentwickeln. Im Gegensatz zur ersten dient die zweite Phase eher für einen Monolog des Anwenders.

Construction
Sobald das grundlegende User- und Systemdesign begonnen hat, findet in der Konstruktionsphase der Großteil der eigentlichen Anwendungscodierung, des Testens und der Integration statt. Zusammen mit dem User Design wird die Construction Phase so oft wie nötig wiederholt, da neue Komponenten benötigt oder Änderungen vorgenommen werden, um den Anforderungen des Projekts gerecht zu werden. Die neuen Anforderungen des Anwenders werden in einem kurzen Entwicklungszyklus, meist zwischen einem Tag und bis zu drei Wochen, optimiert und der Software hinzugefügt. Durch diese Vorgehensweise entstehen in jeder Iteration neue, verbesserte Versionen der Software.

Cutover
Die letzte Phase, der Cutover erlaubt es dem Entwicklungsteam, die Komponenten in eine Live-Produktionsumgebung zu verlagern, in der alle erforderlichen Tests oder Teamtrainings durchgeführt werden können.

Durch den zyklischen Prozess unterscheidet sich das Rapid Application Development deutlich vom Wasserfallmodell. Beim klassischen Verfahren des Wasserfallmodells bildet jede Phase der Entwicklung eine eigenständige Einheit. Nach Abschluss der jeweiligen Einheit wird der nächste Schritt betrachtet. Wie bei einem Wasserfall ist dadurch eine Rückkehr zu einer vorherigen Phase nicht mehr möglich.

Dadurch wird im Gegensatz zum Rapid Application Development-Ansatz jedem Schritt im Wasserfallmodell eine enorm große Zeitspanne eingeräumt, um Fehler zu vermeiden. Dies führt dazu, dass die Softwareentwicklung langsamer ist und nur unter großem Zeit- und Energieaufwand stattfinden kann. Fehler in der Entwicklung oder falsche Anforderungen können ein Projekt im Wasserfallmodell schnell scheitern lassen.

EINSATZ VON RAPID PROTOTYPING

Während verschiedene Formen von Rapid Application Development leicht unterschiedliche Konzepte und Entwurfsmethoden hervorheben, ist der intensive Einsatz von Prototypen über alle Formen hinweg beständig. Die Verwendung von Prototypen ermöglicht während des gesamten Entwicklungszyklus eine Reihe einzigartiger Vorteile:

User Involvement
Im Gegensatz zu einem traditionellen Wasserfallmodell, bei dem das Designteam mit den Anwendern diskutiert, welche Features oder Implementierungen erforderlich sind, und Spezifikationen um diese Ideen herum planen muss, ermöglicht ein RAD-Prototyp den Anwendern eine sofortige Nutzung der Software. Das Feedback kann dadurch zu einem Live-System gegeben werden und beinhaltet dadurch nicht die abstrakte Bewertungen eines Design-Dokuments.

Machbarkeit
Das Prototyping ermöglicht es dem Entwicklungsteam, die Machbarkeit eines besonders komplexen oder riskanten Bauteils direkt vor Ort zu bewerten. Durch das frühzeitige Erkennen und Bearbeiten komplizierter Systeme im Entwicklungszyklus wird die Software robuster, weniger fehleranfällig und besser strukturiert für zukünftige Designerweiterungen.

Fehlerreduzierung & Debugging
Bei schnellen Prototyp-Releases während eines Projekts ist es weitaus wahrscheinlicher, dass Fehler bereits viel früher im Entwicklungszyklus entdeckt und ausgeschaltet werden können.

Wie setzen wir Rapid Application Development in unserem Simplifier ein und von welchen Vorteile kann Ihr Unternehmen damit in der Anwendungsentwicklung profitieren?

DIE VORTEILE VON RAPID APPLICATION DEVELOPMENT

Der Ansatz des Rapid Application Developments benötigt nur wenig Vorplanung sowie Vorarbeit und sorgt andererseits schneller für produktive Ergebnisse. Dank der eingesparten Zeit und der parallelen Entwicklung der verschiedenen Software-Entwicklungsphasen kann durch diese Form der Softwareentwicklung eine einsatzbereite Software im Regelfall in weniger als 120 Tagen ausgeliefert werden. Weitere Vorteile des Rapid Application Developments im Überblick:

Schnelles Generieren von produktivem Code
Der Ansatz des Rapid Application Developments ermöglicht eine schnelle Erstellung von funktionierendem Code und Prototypen. Die Prozesse sind fließend und gehen ineinander über, was nicht nur eine höhere Transparenz bewirkt, sondern auch eine schnellere Entwicklungszeit zur Folge hat.

Messbarer Fortschritt
Mit häufigen Iterationen, Komponenten und Prototypen, die in die Länge gezogen werden, kann der Fortschritt des Gesamtprojektes, aber auch kleinerer Segmente, leicht gemessen und ausgewertet werden. Dadurch können Zeitpläne und Budgets eingehalten werden.

Höhere Qualität
Durch die konstante Interaktion zwischen Anwendern und dem entwickelnden Prototypen kann durch den Rapid Application Development Ansatz eine höhere Qualität sichergestellt werden. Die Software kann dadurch eine bessere Benutzerfreundlichkeit aufweisen.

Schnelles, konstantes Anwender-Feedback
Während der Entwicklung und des Prototyping ist es von unschätzbarem Wert, sowohl einfach als auch häufig Feedback von Anwendern, die direkt mit der Anwendung interagieren, zu erhalten. Der Rapid Application Development-Ansatz ermöglicht eine nahezu konstante Benutzerführung sowie Feedback durch häufige Iterationen und Prototypenfreigaben.

Frühe Systemintegration
Während die meisten Softwareprojekte traditionell bis zum Ende des Lebenszyklus warten müssen, um die Integrationen mit anderen Systemen oder Diensten beginnen zu können, wird eine Rapid Application Development-Anwendung fast sofort integriert. Durch frühzeitige Integrationen innerhalb eines Prototyps erkennt das Rapid Application Development-System schnell alle Fehler oder Komplikationen innerhalb der Integrationen und erzwingt sofortige Lösungen.

Einfache Anpassbarkeit
Während der Entwicklung ist eine Software eine ziemlich anpassbare Form. Da Code jederzeit geändert werden kann und dies zu Veränderungen im System führt oder gar neue Komponenten generiert werden, ist es für das Entwicklungsteam von Vorteil, diese Flexibilität frühzeitig und häufig zu nutzen, indem potenzielle Konzepte oder Ideen während der gesamten Entwicklung iteriert und prototypisiert werden.

Risikokontrolle
Durch die Fokussierung auf die Entwicklung von inkrementellen Einheiten werden die Chancen für katastrophale Ausfälle reduziert.

Technologische Vorteile des Simplifiers

Das sind Ihre Vorteile:

Wiederverwendbarkeit erstellter Anwendungen u. Funktionen: 99%
Weniger Erstellungs- und Betriebskosten: 60%
Weniger Programmcode dank Konfigurierung: 95%
Schnellere Umsetzung funktionaler Mockups: 100%

SO BESCHLEUNIGEN WIR IHRE SOFTWAREENTWICKLUNG

MVC-Softwarekonzept par excellence

MODEL

Datenquellen wie z.B. SQL mittels Konnektoren wie SOAP, REST,  OPC-UA oder MQTT verarbeiten.

VIEW

Mit Hilfe von modernen Frameworks wie SAPUI5 und Angular intuitive UI-Oberflächen erstellen.

CONTROLLER

Beschreiben der Geschäftslogiken, ohne Code zu schreiben. Erstellen von Stories, die wiederverwendet werden können.

Modernste Frameworks im Simplifier-Einsatz

OpenUI5 & SAPUI5

Ausgabe für: Desktop, Tablet, Smartphone
Eine UI5 App, die UI5 Apps generiert oder: Simplifier.
Wozu man das braucht? Um die Welt der Softwareentwicklung zu revolutionieren!

IHRE MITARBEITER WERDEN ES IHNEN DANKEN

Simplifier in der Entwicklung

Simplifier im Projektmanagement

Einige unserer Kunden, die ihre Digitalisierungsanforderungen erfolgreich mit Low-Code Development umsetzen.

Viessmann
Südzucker
Siemens
Eurimpharm
Mann + Hummel
Meggle
Rheinenergie
mtu
Palfinger
EWE
Bischof + Klein
Kasseler Verkehrs- und Versorgungs-GmbH
Weinig Group
preh
Roche
KHS
Brückner Maschinenbau
EWE
EWE
bürkert
prym
EWE
EWE
EWE
DB Kommunikationstechnik GmbH
Siemens Energy
Paul&Co.
Getriebebau Nord
HSB Elektro
Siemens Healthineers
SAERTEX
Paul Scherer Institut
Mainova
SWO
badenova
SWE
energienetze mittelrhein
Bielefelder Netze
Stadtwerke Achim
SWU
EBZ Group
Forvia Hella