Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

05.08.1994

Talente ausschoepfen und Ergebnisse buendeln Anwendungsentwicklung im Team: Wie sinnvoll sind 4GLs?

Die Entwicklung komplexer Anwendungen erfordert interdisziplinaere Entwicklungsteams. Um die Talente und die Produktivitaet der Gruppe optimal nutzen zu koennen, bedarf es organisatorischer und technischer Unterstuetzung. Rolf-Michael Mueller* zeigt, welche Bestandteile zur Teamfaehigkeit einer 4GL-Umgebung notwendig sind und welche Aufgaben sich damit loesen lassen.

Gestiegene Anforderungen an Softwareloesungen, eine breitere Palette von Systemkomponenten und die damit verbundenen Spezialgebiete insbesondere im Bereich Middleware haben den Einsatz von Zeit, Kosten und Personal fuer die Entwicklung erheblich gesteigert. Gleichzeitig weitete sich die technische und organisatorische Infrastruktur vom einzelnen Benutzer ueber die Abteilung bis zur unternehmensweiten DV-Integration aus. Damit sind nicht nur die Projekte komplexer, sondern auch die Entwicklungsteams erheblich groesser geworden.

Doch die Anforderungen veraendern sich weiter. So nimmt die Vernetzung von industrieller Endproduktion mit Zulieferern oder von Dienstleistern untereinander zu. Entwicklungsprojekte wachsen sogar ueber Unternehmens- und Landesgrenzen hinaus.

Die Automobilproduktion macht es vor: Die Zulieferer koennen die angelieferten Teile selbst einbauen, die Verzahnung von Dienstleistern untereinander wird vielfaeltiger. Um hier die Produktivitaet zu erhalten und zudem die Komplexitaet zu bewaeltigen, wurden Programmierwerkzeuge zu integrierten Umgebungen weiterentwickelt.

Teamunterstuetzung muss

im Vordergrund stehen

Eine der wichtigsten Anforderungen an 4GL-Entwicklungsumgebungen muss daher die Teamunterstuetzung sein. Doch unter welchen Bedingungen ist sie sinnvoll? Sicher spielen bestimmte Funktionen erst ab einer groesseren Anzahl von simultan arbeitenden Entwicklern eine Rolle, aber schon bei zwei Programmierern kann es sinnvoll sein, die Arbeitsschritte zu koordinieren.

Folgende Aufgabenstellungen sollten sich mit Hilfe der Teamentwicklung loesen lassen:

- Planung und Koordinierung von Entwicklungsprojekten,

- Optimierung des Einsatzes von Ressourcen,

- Austauschbarkeit von Ressourcen,

- Parallelisierung von Teilprojekten,

- Verfahren fuer Entwicklung und Kommunikation,

- Dokumentation der Entwicklungsschritte,

- Wiederverwendbarkeit und Adaptierbarkeit der Entwicklungs(teil)ergebnisse sowie

- Entwicklungs- und Wartungsvereinfachung.

Das laesst sich erreichen, indem zwei entscheidende Bereiche abgedeckt werden: der organisatorisch-kommunikative sowie der technische.

Saemtliche organisatorischen und kommunikativen Aspekte der Aufbau- und Ablauforganisation sollten in der Entwicklungsinfrastruktur abgebildet werden.

Fuer die Anbieter von 4GLs bedeutet das: Sie muessen Entwickler und Projektleiter mit Schulungen bei diesem Prozess unterstuetzen. Wichtig sind Kurse, die sich mit der Definition eines gemeinsamen Sprachgebrauches fuer das Projekt genauso befassen wie mit dem Datenmodell, der Gestaltung von Style Guides fuer die Benutzeroberflaeche oder der Konvention zur Vergabe von Namen im Projekt. Des weiteren sollten Softwaredesigner und Projektleiter in Entwicklungsmethodik und Modellierung ausgebildet sein.

Im technischen Bereich muessen die 4GL-Komponenten so installiert und konfiguriert werden, dass sie sowohl dem Arbeitsfluss als auch der Sicherheit, Zuverlaessigkeit und Nachvollziehbarkeit gerecht werden. Demnach muss eine 4GL-Umgebung folgende integrale Bestandteile zur Teamfaehigkeit besitzen: ein Anwendungs- und ein Entwickler-Repository, die Beschraenkung von Zugriffsrechten, Voreinstellungen fuer das System und eine Versionsfuehrung auf der Ebene von Anwendungsobjekten.

Gleichzeitiger Zugriff

fuer saemtliche Entwickler

Alle Teile einer Anwendung, von einer einzelnen Felddefinition bis hin zu kompletten Masken und Reports, muessen in einem offenen Anwendungs-Repository gespeichert und von den Entwicklern gleichzeitig genutzt werden koennen. Das Repository sollte auf der verfuegbaren Infrastruktur installiert und nicht an bestimmte Hersteller gebunden sein.

Die Verwendung eines offenen Anwendungs-Repositorys gewaehrleistet Kontrolle, Integritaet, zentrale Administration und Datensicherung. Daneben sollten Entwickler mit einem eigenen, lokalen Repository arbeiten. Die Entwicklungs(teil)ergebnisse koennen somit im zentralen Repository online zusammengefuehrt werden.

Das System kann auf diese Weise Projekte leichter koordinieren oder globale Aenderungen ermoeglichen: Mit einem Bearbeitungsschritt im Repository lassen sich zum Beispiel Hunderte von Masken oder deren Logik veraendern. Ueber Zugriffsrechte werden Entwickler als Individuen und als Gruppe verwaltet. Funktionen wie das An- und Abmelden im System oder das Autorisieren fuer einzelne Funktionen verhindern, dass Entwicklungsergebnisse in falsche Haende geraten oder unbeabsichtigt geloescht werden. So kann ein Designer Zugriff auf alle Teile der Entwicklungsumgebung haben, waehrend ein Anwendungsentwickler ausschliesslich Masken und Reports mit vorgegebenen Standards entwickeln darf.

Ueber Voreinstellungen lassen sich fuer das Gesamtsystem oder auch fuer einzelne Projektmitarbeiter Parameter setzen. Das kann etwa den Typ des eingesetzten Versionsfuehrungssystems betreffen.

Voreinstellungen fuer das gesamte System schliessen nicht aus, dass jeder Entwickler selbst Parameter fuer seine Entwicklungsumgebung bestimmen kann. Die Moeglichkeiten reichen von der Farbwahl bis zur automatischen Rueckkehr zum letzten bearbeiteten Anwendungsteil bei einem Neustart des Systems.

Die Versionsfuehrung auf der Ebene der Anwendungsobjekte ist eine der wichtigsten Komponenten fuer die Teamentwicklung. Sie erlaubt die praezise Bezeichnung aller Einzelteile einer Applikation. Dadurch kann etwa zwischen Entwicklungs-, Test- und Produktionsversionen unterschieden werden. Moegliche Anwendungsobjekte sind hierbei Masken, Routinen, Bibliotheken, Widget-Definitionen oder Teile des Datenmodells.

Ausserdem lassen sich Entwicklungsergebnisse durch Ein- und Auslagern von einzelnen Anwendungsteilen bis hin zu kompletten Releases besser koordinieren. Ein Entwickler kann eine zentrale Geschaeftsregel in einer Version 1.2 gerade erweitern, waehrend zeitgleich sein Kollege die bereits freigegebene Version 1.1 der Geschaeftsregel in seiner Maske verwendet.

Ein integriertes Versionsfuehrungssystem muss auch administrative Funktionen wie Datensicherung, Reporting und die Verwendungsmatrix von Anwendungsteilen enthalten. Soll ein bereits existierendes Versionsfuehrungssystem weiter benutzt werden, muss es sich durch eine dokumentierte, offene Schnittstelle in die Entwicklungsumgebung einbinden lassen.

Rolf-Michael Mueller ist Direktor Technische Dienstleistungen bei der Uniface Deutschland GmbH in Dreieich.