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.

06.09.1985 - 

Aus dem Projekt-Tätigkeitsspektrum muß präzise ausgewählt werden:

Nur Kontrolle schützt vor Ausrutschern

06.09.1985

Die gegenwärtige Lage in der Softwareentwicklung ist gekennzeichnet durch hohe Projektkosten, mangelnde Termintreue und mangelnde Qualität der erzeugten Programmpakete. Hinzu kommt, daß, bedingt durch die steigende Integration von DV-Unterstützung im Unternehmen, der Aufwand für die Pflege von "Alt-Software" immer größer wird und daher die für Neuentwicklungen zur Verfügung stehende Kapazität sinkt. Demgegenüber steht in der Öffentlichkeit die Diskussion um Methoden, Tools und Techniken, die die Softwareentwicklung aus ihrer Misere heben sollen.

Softwareentwicklung versteht sich als Summe aller Tätigkeiten, deren Ausführung ein lauffähiges Programmsystem ergibt. Dazu gehören nicht nur alle Arbeiten des Programmierers, sondern alle im Vorfeld der Programmierung notwendigen Aktionen, beginnend bereits bei der Initiierung eines DV-Projekts.

Um DV-Projekte kostenmäßig, terminlich und qualitativ optimal abwickeln zu können, muß eine Reihe von Anforderungen an die verschiedenen an der Systementwicklung beteiligten Objekte und Personen erfüllt sein. Ein ingenieurmäßiges Vorgehen nach dem Prinzip des Top-down-Design ist oberstes Gebot in einem methodisch orientierten Softwareentwicklungssystem.

Neue Begriffe stiften oft Verwirrung

DV-Projekte haben eine standardmäßige Struktur, die auf die speziellen Belange des jeweiligen Unternehmens abgestimmt ist. Insbesondere sind bereits integrierte, bewährte Techniken und die gewachsene Organisation des Unternehmens im Systementwicklungsprozeß zu berücksichtigen. Die Beibehaltung der unternehmensspezifischen Fachsprache sichert die Aufrechterhaltung einer effektiven Kommunikation. Neue Begriffe können so keine Verwirrung stiften.

Der Entwurf und die Realisierung von Software sollen so weit wie möglich von der Programmiersprache unabhängig geschehen. Die Wahl der Programmiersprache erfolgt erst kurz vor der Implementierung.

DV-technische Gegebenheiten wie Hardware und installierte Systeme dürfen zugunsten einer optimalen Problemlösung anfangs den Entwurf nicht beeinflussen. Sie werden erst in der Realisierung voll berücksichtigt. Auf diese Weise entstehen fortschrittliche Lösungen, die nicht durch eingefahrene Strukturen gebremst werden.

Aus dem Arsenal der heute angebotenen Methoden und Techniken, die an verschiedensten Stellen des Systementwicklungsprozesses eingesetzt werden können, wird eine Auswahl getroffen und ein in sich abgestimmter Methodenverbund geschaffen. Eine allgemeingültige, immer und überall einsetzbare Methode gibt es nämlich nicht.

Die eindeutige Zuordnung der selektierten Methoden zu den entsprechenden Entwicklungsaktivitäten ist ebenso wichtig wie der Zwang, die standardisierte Vorgehensweise und die gewählten Methoden und Techniken anzuwenden. Einer harten Vorschrift ist hier gegenüber bloßen Empfehlungen in jedem Fall der Vorzug zu geben. Weitgehende Unabhängigkeit von der Person des Erstellers ist die Folge.

Wird der Benutzer, das heißt der Anwender des zu schaffenden Softwaresystems, unzureichend oder gar nicht in den Entwurfsprozeß integriert, entstehen wenig brauchbare Problemlösungen und unwirtschaftliche Anwendungssysteme. Systementwicklung muß immer mit dem Benutzer, nicht für ihn durchgeführt werden. So werden seine Ziele und Bedürfnisse vollständig erkennbar und steuern die Erstellung einer passenden Lösung. Die Akzeptanz des Fachbereichs ist gewährleistet.

Dokumentation muß neben der Projekttätigkeit zwangsläufig und weitgehend automatisch entstehen. Dabei darf es keine Rolle spielen, um welche Art von Dokumentation es sich handelt.

Kontroll- und Abstimmungsinstanzen und -modalitäten und die Arbeitsverteilung im Rahmen der Aufbauorganisation beeinflussen die unternehmensspezifische Einteilung der Projekttätigkeit in Phasen und Aktivitäten. Ein Phasenschema ist gleichzeitig Planungs-, Arbeits- und Kontrollinstrument. Projektphasen sichern die Transparenz und Kontrollierbarkeit bezüglich Kosten und Terminen. Sie bilden gleichsam die Meilensteine auf dem Weg zu Erstellung des jeweiligen Softwaresystems.

Eine weitere Gliederung von Phasen in Aktivitäten ergibt die genaue Zuordnung von Personen und Sachmitteln zu Tätigkeiten und Terminen. Der Tätigkeitsumfang jeder einzelnen Aktivität wird detailliert beschrieben. Hinweise auf anzuwendende Methoden und Techniken steuern das Wie der Ausführung.

Jeder Aktivität wird eine Checkliste zugeordnet, die auf die wichtigsten Punkte der Arbeitsdurchführung noch einmal hinweist und so die objektive Überprüfung der Qualität und der Vollständigkeit des Arbeitsergebnisses ermöglicht.

Die Vollständigkeit der Dokumentation wird sichergestellt durch die Definition eines Ergebnisses bei jeder Aktivität. Bei Anwendung entsprechender Formulare und Darstellungstechniken ergibt sich so zwangsläufig und automatisch eine nach Zielgruppen ausgerichtete Dokumentation (Revision, Benutzer, EDV).

Aus dem Maximal-Katalog sämtlicher Entwicklungsaktivitäten wird projektspezifisch der relevante Tätigkeitsumfang ausgewählt. So werden nur die Arbeiten zielgerichtet geplant und durchgeführt, die zur Lösung des anstehenden Problems wirklich erforderlich sind. Projektmanagement erfolgt begleitend während der gesamten Projektdauer und nicht nur zu Phasenbeginn. Aufgabe der Projektsteuerung ist, neben Planung und Kontrolle, auch die Sicherstellung und Überprüfung der Methodenanwendung.

Methodenanwendung erfordert meistens ein tiefgreifendes Umdenken der betroffenen Personen, so daß zunächst an Zusatzaufwand gedacht wird. In einer Lernphase ist dieser zweifellos vorhanden. Er wird jedoch kompensiert, da die Anwendung von Methoden andere Aktivitäten günstiger gestaltet. Positive Einflüsse lassen sich immer erkennen in der Qualität wie auch in der Transparenz der erzeugten Software. Die positive Wirkung von Methoden läßt sich erhöhen, wenn Rechnerunterstützung geboten wird. Diese darf sich aber nicht im Einsatz von Programmgeneratoren erschöpfen, sie umfaßt auch Projektplanung und -kontrolle sowie die maschinelle Überprüfung der Entwurfs- und Entwicklungsergebnisse, wo dies möglich ist.

Der Einsatz von Methoden berührt auch den Benutzer direkt. Methodenschulung ist also außer im DV-Bereich auch in der Fachabteilung nötig. Viele Methoden sind einfach aus ihrer Beschreibung erlernbar. Komplexere Methoden, wie beispielsweise die Entscheidungstabellentechnik, die strukturierte Programmierung oder die Datenanalyse erfordern umfassende Schulungsmaßnahmen. Offenheit des Methodenpaketes gegenüber neuen Methoden und Techniken ist selbstverständlich.

Testen ist eine Methode der Qualitätssicherung. Sie wird nicht erst bei oder gar nach der Programmierung eingesetzt, sondern begleitet ständig die gesamte Systementwicklung. Sie findet sich wieder in den Checklisten der Aktivitäten und in sogenannten Testaktivitäten selbst, in denen Teststrategien, Testziele und -techniken festgelegt werden. Über den gesamten Systementwicklungsprozeß gestreutes Testen hat schnelles und frühes Erkennen von Fehlern zur Folge. Fehlerauswirkungen werden damit auf ein Minimum begrenzt, denn ihre sofortige Korrektur ist ohne größere Konsequenzen möglich.

Die Reglementierung des Softwareentwicklungsprozesses bedarf einer gezielten Einführung in ein Unternehmen. Eine besondere Implementierungsstrategie ist aufzustellen, die sich an unternehmensspezifischen Gegebenheiten, wie Ausbildungsstand, Innovationsbereitschaft, installierte Hard- und Software, Aufbau- und Ablauforganisation orientiert.

Da in den meisten Fällen die "Alt-Software" weiterbesteht, muß ihre Verwaltung und Pflege in das neue Konzept einbezogen werden. Unter Umständen ist mit entsprechenden Hilfsmitteln sogar eine Umstellung der Alt-Software auf die neue Ideologie möglich.

Erfahrungen haben gezeigt, daß das Aufsetzen von Pilotprojekten, in denen unter der Anleitung eines Methodenspezialisten gearbeitet wird den Einstieg in die neue Art der Softwareentwicklung erleichtert. Dieser Effekt wird noch verstärkt, wenn Rechnerunterstützung durch den Einsatz von leistungsfähigen, auf das Methodenpaket abgestimmten Softwarewerkzeugen geboten wird.

*Gerhard Lachenmayr, Unternehmensberater bei Square Computer Consulting GmbH, Aichach.

Beispiel eines Phasenschemas

Phase 0 - Initialisierung

- Wecken des Problembewußtseins bei den Aufgabenträgern

- Anstoßen eines Lösungsprozesses

Phase 1 - Problemanalyse

- Grobe Analyse des Ist-Zustandes

- Problembeschreibung

- Gliederung in Teilprojekte, wenn nötig

Phase 2 - Soll-Konzeption

- Entwicklung alternativer Soll-Konzepte

- Durchführbarkeitsstudien

- Kosten/Nutzen-Analysen

- Auswahl einer Alternative

Phase 3 - Sytementwicklung

- Entwicklung eines detaillierten und vollständigen Systemwurfs

- Leistungsbeschreibung des Systems

- Make-or-buy-Entscheid

- Datenkonzepte, Schlüsseltabellen

- Dateibildung

- Programmvorgaben

Phase 4 - Programmierung

- Programmentwurf

- Codierung

- Konkrete Datenorganisation

- Einrichten der Testdateien

Phase 5 - Systemeinführung

- Organisatorische Realisierung

- Schulung der Fachabteilung

- Einrichtung der Dateien und Abläufe

- Hardware- und Softwarebeschaffung und -installation

- Umstellung

Phase 6 - Systembetrieb, Systemwartung

- Richtlinien für Arbeitsvorbereitung, Operating, Listenverteiler

- Beobachtung des Systemverhaltens

- Einleitung Verbesserungsmaßnahmen

- Überprüfen der Wirtschaftlichkeit