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.

13.10.2005

"Software muss besser werden"

Über die Qualitätsprobleme von Softwareprodukten sprach Yogesh Gupta, Chief Technology Officer von Computer Associates (CA), mit CW-Redakteur Martin Seiler.

CW: Wenn ich an gute Software denke, fällt mir der Weltfriede ein: Beides ist unerreichbar.

GUPTA: Nein, das sehe ich nicht so. Wir müssen das Ziel erreichen, hochwertige Software bereitzustellen. Das heißt nicht perfekt, aber mit einer guten Qualität. Wir haben keine andere Wahl.

CW: Wie soll das geschehen?

GUPTA: Wenn wir über die Entwicklung von Anwendungen reden, dann denken wir immer an Programmierer oder Informatiker. Wir brauchen jedoch Softwareingenieure.

CW: Wo liegt der Unterschied?

GUPTA: Ein Ingenieur nimmt Bekanntes und wendet es an, immer wieder und auf verlässliche Art und Weise. Er bedient sich dabei bestimmter Methoden und Prozesse.

CW: Sie fordern also mehr Standardisierung?

GUPTA: Zunächst einmal brauchen wir eine bessere Ausbildung für Softwareingenieure. Als nächstes benötigen wir auch standardisierte Vorgehensweisen und Prozesse. Ich glaube aber auch, dass die Software stärker komponentenorientiert sein sollte. Standards ermöglichen das Schaffen von Programmbausteinen. Dazu gehört, dass die Schnittstellen bekannt sind und komplett offen liegen, so dass alle Hersteller auch wirklich interoperable Software entwickeln können.

CW: Eine schöne Vorstellung...

GUPTA: Wir sind noch nicht an diesem Punkt, stimmt. Wir müssen aber dahin kommen, dazu zwingt uns schon die zunehmende Komplexität der IT.

CW: Würden die beschriebenen Maßnahmen die derzeitigen Probleme lösen?

GUPTA: Nein, wir müssen zudem dafür sorgen, dass wir Fehlfunktionen besser in den Griff bekommen. Wenn etwas schief läuft, dann sollte das graduell feststellbar sein, und nicht plötzlich und unerwartet wie eine Katastrophe über die Anwender hereinbrechen.

CW: Können Sie ein Beispiel geben?

GUPTA: Wenn heute ein Mail-Server abstürzt, ist davon von einem Moment zum anderen eine ganze Reihe von Mitarbeitern betroffen. Sie können weder E-Mails senden noch welche empfangen. Ingenieure entwickeln Lösungen mit dem Gedanken im Hinterkopf, dass auch mal etwas schief laufen kann und was in einem solchen Fall geschehen sollte. Wäre es nicht wünschenswert, wenn das System den Fehler rechzeitig bemerken und Gegenmaßnahmen einleiten könnte, etwa indem es die Last auf einen anderen Server verlagert?

CW: Wie soll das erreicht werden?

GUPTA: Über eine bessere Softwarequalität, aber auch über die Möglichkeit, mit Fehlfunktionen umzugehen. Dabei könnten Zurückverfolgungs- und erweiterte Überwachungsfunktionen helfen.

CW: Sie denken an neue CA-Lösungen?

GUPTA: Nein, diese Funktionen sollten Bestandteil der jeweiligen Software sein. Natürlich sind dann Management-Tools denkbar, die auch auf diese Informationen zugreifen, sie auswerten und automatisch eingreifen, wenn sich ein Fehler anbahnt.

CW: Momentan müssen wir aber mit fehlerhafter Software leben, die immer wieder gepatcht werden muss. Ein Prozess, der Unsummen Geld verschlingt.

GUPTA: Richtig, Hersteller und Anwender müssen diese Praxis teuer bezahlen. Damit sich langfristig etwas ändert, muss sich das Verhalten aller Beteiligten ändern, das gilt sowohl für Hersteller als auch für Anwender.

CW: Inwiefern?

GUPTA: Viele Anwender schauen bei neuer Software viel zu sehr auf Funktionen und vergessen dabei die Qualität.

CW: ...weil sie nicht in der Lage sind, die zu beurteilen.

GUPTA: Wieso? Jeder Anwender kann den Hersteller fragen, wie viel Patches er im vergangenen Jahr entwickeln musste, außerdem kann er versuchen, mit anderen Kunden zu reden. Die Qualität ist doch allgemein bekannt. Aber statt darauf zu schauen, lassen wir uns immer wieder von neuen Funktionen blenden. Wenn wir von CA ein neues Produkt vorstellen, heißt es immer gleich: "Was ist neu?" Stattdessen müsste die Frage lauten: "Wie sehr hat sich die Qualität verbessert?"

CW: Ich glaube nicht, dass sich diese Frage so einfach beantworten lässt. Nicht umsonst gibt es die fortwährenden Diskussionen, ob jetzt Linux oder Windows sicherer und damit besser ist. Es reicht nicht aus, nur die Zahl der gefundenen Schwachstellen und der Patches zu zählen.

GUPTA: Dennoch bin ich überzeugt, dass Anwender Hersteller zu mehr Qualität zwingen können.

CW: Tun die CA-Kunden das?

GUPTA: Unsere Kunden helfen uns, indem sie neue Produkte vor dem Erscheinen intensiv testen. Ein Beispiel: "Unicenter 11" ist ein wichtiges neues Release für uns. Als wir die Entwicklung abgeschlossen hatten, haben wir unseren Kunden eine Testversion bereitgestellt. Das war im vergangenen November. Seitdem arbeiten wir daran, auf Verbesserungsvorschläge einzugehen, die wir von den Anwendern erhalten. Wenn die uns sagen, dass sie mit dem Produkt zufrieden sind, dann werden wir ans Ausliefern denken, eher nicht. Das war bei CA nicht immer der Fall, aber wir haben dazugelernt.

CW: Sie haben in einem Vortrag gesagt, dass sich Softwarequalität am Business ausrichten muss. Im Klartext also: Es gibt nur so viel Qualität, wie sich ein Hersteller leisten kann.

GUPTA: Nein, ganz und gar nicht. Ich habe dabei an das Business des Anwenders gedacht. Als Hersteller muss man verstehen, was der Kunde tun will, und ihm die dazu nötige Software zur Verfügung stellen. Es geht um die in diesem Kontext richtigen Funktionen und darum, wie diese genutzt werden können. Also spielt auch Bedienfreundlichkeit eine Rolle. Zusätzlich kommt es darauf an, wie die Geschäftsprozesse des Anwenders laufen und ob die Software das unterstützt. Aber natürlich ist es auch wichtig, Softwarefehler zu eliminieren.

CW: Wie geht CA mit Softwareschwachstellen um? Wie entwickeln Sie Updates?

GUPTA: Wenn ein Defekt in einem unserer Produkte entdeckt wird, setzen wir uns mit unseren Kunden in Verbindung, um herauszufinden, wie schwer das Problem aus ihrer Sicht ist. Wir ordnen Fehler intern in Stufen von eins bis vier, wobei eins die kritischsten Schwachstellen bezeichnet. Wenn der Kunde also sagt, dass das Problem in diese Kategorie fällt, dann arbeiten wir sofort daran, bis wir eine Lösung gefunden haben.

CW: Also ein Update haben?

GUPTA: Richtig, es kann aber auch heißen, dem Kunden einen Weg zu zeigen, wie sich das Problem umgehen lässt, bis wir einen Patch haben. So ähnlich funktioniert das mit den anderen Kategorien, bis hinunter zu der vierten. Während wir für die Fehler der Kategorie eins individuelle Patches entwickeln und bereitstellen, gehen wir bei den übrigen Schwachstellen anders vor: Hier entwickeln wir Updates, die wir dann in regelmäßigen Abständen als Service Packs zusammenfassen. Nach Tests mit einigen Kunden geben wir das Paket dann an alle weiter.

CW: Wie versucht CA, intern die Softwarequalität zu verbessern?

GUPTA: Wir haben in den letzten zwei, drei Jahren eine Reihe von Prozessen eingeführt. Es fängt mit dem Entwicklungsprozess an, wo wir jetzt ein Qualitäts-Management-System haben. Es gibt einen Prozess, an dem Endbenutzer, die Verkäufer, die Supportleute und natürlich auch die Entwickler beteiligt sind. Wir haben aber auch ein paar harte Entscheidungen treffen müssen. Zum Beispiel, dass wir warten, bis uns unsere Kunden sagen, dass sie mit der Qualität zufrieden sind, bevor wir ausliefern. Tools und Training gehören ebenfalls dazu. Letztlich geht es für uns dabei auch um Kosten. Wir haben uns dafür entschieden, lieber früher Geld auszugeben als später. Die meisten Studien belegen, dass es wesentlich teurer ist, Fehler zu beheben, nachdem das Produkt ausgeliefert worden ist.

CW: Glauben Sie, dass quelloffene Software grundsätzlich besser ist?

GUPTA: Nein, aus folgendem Grund: Bei vielen Open-Source-Projekten ist die Zahl derjenigen, die aktiv etwas beitragen, relativ klein. Außerdem fehlen häufig die notwendigen Prozesse, die zur Qualitätssicherung notwendig sind. Letztlich hängt gute Software von einem gut geführten Team, von der Methodik, den Tools und den Prozessen ab. Es spielt keine Rolle, ob das Produkt Open Source ist oder nicht. Wir dürfen aber bei der ganzen Diskussion nicht vergessen, dass es auch sehr gute Software gibt.

CW: Zum Beispiel?

GUPTA: Nehmen sie Apples "iPod": Da steckt einige ziemlich coole Software drin. Und warum? Das hat mit der einfachen Bedienoberfläche und klar begrenzten Funktionen zu tun. Apple hat sich ganz genau überlegt, welches Erlebnis der Kunde haben sollte, welche Funktionen er dazu benötigt. Das haben sie dann umgesetzt. Viel zu oft passiert es, dass sich der Anwender dem Produkt anpassen muss: Wenn Sie einen Brief mit einer Textverarbeitung schreiben wollen, müssen Sie ein Dokument öffnen, die Seite formatieren und so weiter. Hersteller sollten ihre Produkte mit Blick auf den Anwender entwickeln und daran denken, was er damit tun möchte. Außerdem sollten sie ihn das in seiner Sprache tun lassen und ihm keine technischen Begriffe aufzwingen. Das sollte sich ändern, hier gibt es viel Raum für Verbesserungen. Dann ist auch die Qualität automatisch besser.