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.11.1976 - 

So sieht IBM den Nutzen der interaktiven Software-Entwicklung

Dialog-Programmierung erhöht Produktivität um 35 Prozent

Produktivitätssteigerungen beim Anwender, der Dialog-Programmierung einsetzt, lassen sich grundsätzlich durch einen Vergleich der Ergebnisse früher praktizierter Methoden mit denen der Nutzungsform des Teilnehmerbetriebs ableiten. Sie lassen sich jedoch im voraus nicht verläßlich abschätzen, da eine große Anzahl von Einflußgrößen eine komplette Evaluierung für praktische Zwecke zu komplex macht. Näherungsweise kann wie folgt vorgegangen werden:

Produktionssteigerung = N - A / A x 100 (%)

A . . . . . ausgetestete Anweisungen pro Programmierer und Tag nach der bisherigen Programmiermethode.

N . . . . . ausgetestete Anweisung pro Programmierer und Tag nach der Methode der Dialog-Programmierung.

Daraus leitet sich die Produktivitätssteigerung eines Programmiererteams ab. Die Produktivitätssteigerung bezieht sich also auf alle Phasen der Programmierung, von der Analyse bis zum ausgetesteten Programm.

In der Praxis liegt die Spanne der beobachteten Produktivitätssteigerungen pro Programmierprojekt zwischen 35% und 100%, wenn man Extremwerte nach oben und unten ausschließt. Diese allgemeine Aussage beruht auf einer Vielzahl einzelner Fallstudien mit teilweise verschiedenen Voraussetzungen und Randbedingungen. Einzelfälle sind im Zweifel nicht verallgemeinerungsfähig. Jedoch sollten schon mögliche Produktivitätssteigerungen von 35% und höher für alle Teams mit Programmierengpässen oder mit großen Anforderungen bei neuen Anwendungen Anlaß sein, ihre Arbeitsweise. und Programmiertechnik zu überdenken.

Stapelbetrieb stört Gedankenfluß

Im allgemeinen versucht ein Programmierer an einem Projekt möglichst kontinuierlich zu arbeiten (Kontinuität des Gedankenflusses). Im Stapelbetrieb wird seine Tätigkeit infolge von Übersetzungen und Testläufen oft für viele Stunden unterbrochen.

Diese Zeit füllt der Programmierer mit anderen Aufgaben. So arbeitet ein Programmierer oft an mehreren verschiedenen Moduln (der "multiprogrammierte" Programmierer). Diese Arbeitsweise unterbricht den Gedankenfluß, und jedesmal sind Umdenken und Neuorientierung erforderlich. In dieser Zeit ist der Programmierer unproduktiv. Im Gegensatz dazu ist es ein Vorteil der Dialog-Programmierung, daß sie die Kontinuität des Gedankenflusses aufrechterhält.

Der Testbetrieb bei Stapelverarbeitung ist durch mehr oder weniger starke Schwankungen der Verweilzeit (turn-around time) gekennzeichnet, die die zur Fertigstellung eines Projekts benötigte Zeit in signifikantes Weise beeinflussen. Die Übergabe der Testjobs, die nicht selten unter zeitlichem Zwang erfolgt, läßt den Programmierer oft übereilte Entscheidungen für den nächsten Testlauf treffen. Die Dialogverarbeitung hingegen garantiert einen umgehenden Umschlag, da der Jobtransport in das Rechenzentrum und mögliche längere Wartezeiten in den Warteschlangen des Stapelbetriebes fortfallen. Für die Dialog-Programmierung gilt, daß durch Verkürzung der Verweilzeit der Zeitaufwand für die Programmentwicklung wesentlich verringert werden kann (Verkürzung der Verweilzeit).

Im Stapelbetrieb ist der Programmierer während der Testphase passiv. Er muß bereits im voraus entschieden haben, welche Informationen ein Testlauf an welchem Punkt einer Verarbeitungsfolge liefern soll. Verglichen damit gestattet es die Dialog-Programmierung durch die Flexibilität ihrer dynamischen Testmöglichkeiten, den Testlauf an beliebig festzulegenden Punkten zum Zwecke weiterer Informationsgewinnung für die Fehlersuche zu unterbrechen. Diese Arbeitsweise kann die Anzahl der Testläufe erheblich verringern. Triviale Fehler (z. B. der Verlust einer Lochkarte, Fehllochungen), an der Datenstation in wenigen Sekunden korrigiert, machen im Stapelbetrieb einen Testlauf wirkungslos und führen nicht selten zu einer Frustration der Programmierer. Der dynamische Testprozeß vermittelt dem Programmierer ein besseres Verständnis für den Lösungsweg: unvermeidliches Ergebnis ist ein qualitativ besserer Programmcode. Dadurch kann der Aufwand für die Programmwartung (vielerorts sind zirka 50-60% der Programmierkapazität dafür gebunden) reduziert werden (aktives Testen).

Die Verfügbarkeit aller Funktionen eines Systems und seine ständige Servicebereitschaft während der Arbeitszeit direkt am Arbeitsplatz vergrößert die Zufriedenheit und Arbeitsfreude der Programmierer (Aufwertung des Arbeitsplatzes). Bei vorhandener Kompatibilität von Dateien und Kompilierer kann als Ausweichverfahren (backup facility) jederzeit auf die konventionelle Programmierung (Stapelverarbeitung) zurückgegriffen werden (Systemkapazität und Servicebereitschaft am Arbeitsplatz).

Der Programmierer an der Datenstation erfreut sich während der einzelnen Phasen seines Arbeitsprozesses einer weitgehenden Unabhängigkeit. Das beseitigt die von der Stapelverarbeitung bekannten Erscheinungen wie Leerlauf, Doppelarbeit, Unbequemlichkeiten und Verzögerungen im Arbeitsablauf. Da es bei der Dialog-Programmierung weniger Überschneidungen mit anderen Fachgruppen gibt, verringern sich auch die Kommunikationsschwierigkeiten, und die Zeitpläne werden besser eingehalten. Nicht zuletzt verringert die größere Unabhängigkeit während der Arbeitsphasen der Programmentwicklung die programmierungsfremden Aufgaben (hoher Grad an Unabhängigkeit).

Weg vom multiprogrammierten Programmierer

Gegenüber dem Tätigkeitsfeld des mit vielen Ungewißheiten und abhängig agierenden "multiprogrammierten" Programmierers erleichtert die Dialog-Programmierung das Projektmanagement. Es können Voranschläge und Beurteilungen für die Anwendungsentwicklung gemacht werden, der Projektfortschritt kann besser verfolgt, Planabweichungen können erkannt und früher kompensiert werden. Durch automatische Aufzeichnung der Systembenutzung ist es möglich, Programmiererleistung und Entwicklungskosten pro Projekt

festzuhalten. Eine Verkürzung der Projektzeit wird zu erwarten sein (effektiveres Projektmanagement).

Seit Einführung des Teilnehmerbetriebs sind die Anwendungsbereiche "Problem Solving" und die Programmausführung im Dialog vornehmlich von guten und umfangreichen Programmbibliotheken abhängig.

Die Dialog-Programmierung ist heute von breiten Benutzerkreisen akzeptiert. Weiter gefördert wird dieser Tatbestand, wenn sich neue Programmiertechniken (wie z. B. strukturierte Programmierung im Team, normierte Programmierung) durchsetzen, die über Standardisierungen weitere Produktivitätssteigerungen nach sich ziehen.

Diplom-Mathematiker Ulrich E. Fischer ist Chefberater im Großsystembereich bei der IBM Deutschland GmbH, Stuttgart.

Quelle: Postrat Ing. grad. Walter Tietz "Dateidienste 1 - Grundlagen und Zusammenhänge der Datenfernverarbeitung" (Postleitfaden 6/11 - I/1), R. v. Deckers Verlag, G. Schenk, Hamburg/Heidelberg.