Effizienz bei der Entwicklung steigern

Moderne Entwicklungswerkzeuge

von - 02.12.2019
Widgets in Wisej
Widgets in Wisej: Sie bilden die serverseitig verwendeten Komponenten für die Darstellung im Client ab. Es besteht dabei die Möglichkeit, Third-Party-Komponenten einzubinden.
(Quelle: Wisej)
In der Software-Entwicklung werden schon immer umfassend Werkzeuge verwendet, um den Prozess der Entwicklung neuer Applikationen zu beschleunigen. Es gilt, die bestmögliche Tool-Unterstützung für die jeweilige Aufgabe zu finden. Weder ein sogenanntes Overtooling noch ein zu minimalistischer Werkzeugeinsatz sind zielführend, wenn es um eine hohe Effizienz des Entwicklungszyklus geht. Bei einem zu geringen Werkzeugeinsatz werden zu viele Auf­gaben manuell erledigt, obwohl es dafür ausgereifte und passende Tools gibt, die die Arbeit vereinfachen und beschleunigen. Ist der Werkzeugeinsatz zu umfassend, dann leidet die Flexibilität. Trotz ähnlicher Aufgabenstellungen und einem hohen Maß an Wiederverwendung sind in der Regel indi­viduelle Ansätze gefragt. Das bedeutet: Der Tool-Einsatz ist sorgfältig abzuwägen. In vielen Bereichen bedient man sich Rapid-Application-Development- beziehungsweise Low-Code-Tools.
Rapid Application Development (RAD) steht für schnelle Anwendungsentwicklung. Der Begriff wurde in den 1980er-Jahren als Konzept der Software-Entwicklung nach dem prototypischen Vorgehensmodell erdacht. RAD dient dazu, die Software-Entwicklung im Vergleich zu klassischen Vorgehensmodellen flexibler zu gestalten und sie an sich schnell ändernde Anforderungen anpassen zu können. Ursprüngliche Grundlage ist das Spiralmodell, das ein prototypisches Vorgehen vorsieht. Selbstverständlich ist dieses Konzept auch auf agile Modelle übertragbar.
Werkzeuge für Rapid Application Development haben üblicherweise gemeinsam, dass man die Bedienoberfläche mit Hilfe eines Designers per Drag and Drop und über die Anpassung von Eigenschaften erstellen kann. Darüber hinaus stehen nicht visuelle Komponenten zur Verfügung, beispielsweise um mit einer Datenbank aus der Applikation zu interagieren oder um einen Dateidialog aufzurufen. Über Extensions, Plug-ins oder externe Bibliotheken lässt sich das Angebot der Komponenten  meist vielfältig erweitern.
Das Ziel von RAD-Tools ist es, den Entwickler von Routineaufgaben der Software-Entwicklung zu entlasten. Damit wird die Effizienz des Entwicklungsprozesses auf vielen Ebnen verbessert und die Time-To-Market beschleunigt.
Low-Code-Tools gehen noch ein Stück weiter. Durch deren Einsatz möchte man die Entwicklung von Business-Anwendungen teilweise den Fachabteilungen überlassen. Dafür gibt es gute Gründe. Zum einem sind Entwicklungskapazitäten knapp und zum anderen steigt der Bedarf an individuellen Software-Lösungen in Unternehmen stetig. Technikbegeisterte und versierte Anwender in den Fachabteilungen, sogenannte Citizen Developer, sind durchaus in der Lage, einen Teil der Entwicklungsaufgaben zu übernehmen. Dazu werden ihnen hochintegrierte Tools an die Hand gegeben, die ihnen das weitgehende Erstellen von Software-Lösungen erlauben. Diese Tools werden als Low-Code-Plattformen bezeichnet. (Eine Sonderform sind No-Code-Plattformen; hier ist für die Erstellung von Software überhaupt kein Code erforderlich.) Low Code steht für möglichst wenig Code-Einsatz. Typischerweise werden Low-Code-Plattformen für Anwendungen aus den Bereichen Vertrieb, Marketing oder Produktionsplanung genutzt. Sie haben also das Ziel, wiederkehrende Aufgaben der Software-Entwicklung zu standardisieren.
Dabei setzen sie nicht auf technischer Ebene an, es geht also nicht um die Wiederverwendung von Programm-Code, sondern ihr Fokus ist die Ebene der Funktionen einer Software (Use Cases). Hier gibt es viel Standardisierungs-Po­tenzial. Typische sich wiederholende Aufgaben sind zum Beispiel: formularbasierte Datenerfassung, Validierung der Daten, Bereitstellung der Bedienoberfläche, lokale Datenhaltung, Umsetzung eines spezifischen Workflows und Anbindung der neuen Software an die bestehende Unternehmens-IT.
Eine spezielle Ausprägung sind die erwähnten No-Code-Systeme, die eine Software-Bereitstellung ohne Codierung versprechen. Das kann nach dem heutigen Stand der Technik jedoch nur für sehr begrenzte Aufgabenbereiche funk­tionieren.

Ziel: durchgängiger Zyklus

Die organisatorische Gestaltung des Entwicklungsprozesses und der geplante Werkzeugeinsatz sollten Hand in Hand gehen. Um die Effizienz des Entwicklungsvorhabens nicht auszubremsen, sollte es gelingen, Systembrüche zu vermeiden, die etwa ein Wechsel der Werkzeuge verursachen könnte. Ein solcher Systembruch könnte zum Beispiel beim Übergang von der Konzeptionsphase (Erstellen der Prototypen) hin zur Implementierung (endgültige technische Umsetzung) auftreten. Idealerweise klappt es, beide Teilprozesse durchgängig zu gestalten, das bedeutet das Entwicklungsvorhaben möglichst nahtlos abzuwickeln und damit Verständnisprobleme und Doppelarbeiten größtenteils zu umgehen.
Diesen Gedanken kann man versuchen aufzugreifen und im gesamten Entwicklungsprozess umzusetzen. Viele Tools unterstützen eine solche Herangehensweise. In vielen Fällen sind dazu nur etwas Organisation und eine Feinabstimmung der Werkzeuge zwischen den Beteiligten notwendig. Das gemeinsame Ziel besteht also darin, von der Idee bis zur Entwicklung möglichst aus einen Guss zu arbeiten.
Verwandte Themen