Die zehn häufigsten Entwickler-Fehler

13.09.2007
Unklare Anforderungen sowie der Verzicht auf Kennzahlen und Business-Know-how gefährden Projekte.

Trotz ausgefeilter Projekt-Management-Techniken gibt es in der Softwareentwicklung immer wieder Schwierigkeiten. Wie Umfragen von Forrester Research zeigen, schleichen sich die meisten Fehler bereits in der Anfangsphase ein. Oft sind es Missstände, die nicht so auffallen oder nicht als schwerwiegend empfunden und dann über das gesamte Projekt hinweg mitgeschleift werden. Durch solche Nachlässigkeiten können Fehlentwicklungen entstehen, die sich mit Projekt-Management-Methoden nicht mehr ausbügeln lassen und im Nachhinein wesentlich aufwändiger zu beheben sind. Die Analysten von Forrester haben zehn besonders häufige Fehler ausgemacht und geben Tipps, wie sie sich vermeiden lassen.

Mehr zum Thema

www.computerwoche.de

1219756: Wie sich der Aufwand für IT-Pro-jekte abschätzen lässt;

590832: Wie sich Software-projekte kalkulieren lassen;

581145: Wer zu spät testet, verschleudert Geld;

580737: Gute Kommunika-tion ist entscheidend für den Projekterfolg;

576849: Projekte scheitern oft an falschen Zielen.

1219756: Wie sich der Auf-wand für IT-Pro-jekte abschätzen lässt;

590832: Wie sich Software-projekte kalkulieren lassen;

581145: Wer zu spät testet, verschleudert Geld;

580737: Gute Kommunika-tion ist entscheidend für den Projekterfolg;

576849: Projekte scheitern oft an falschen Zielen.

1: Mangelndes Commitment ist keine Nachlässigkeit, sondern ein grundsätzliches Problem, das darin gründen kann, dass die Beteiligten nicht hinter dem Projekt stehen. Vor allem wenn durch das Vorhaben bestimmte Mitarbeiter ihren Status oder gar ihren Job verlieren, werden es die Betroffenen nicht unterstützen. "Da fallen ihnen tausend Argumente ein, warum etwas nicht geht - bis hin zum offenen Boykott", bestätigt Rudolf van Megen, CEO des Kölner Softwaretesting-Anbieters SQS Software Quality Systems. Vorbeugende Maßnahmen seien Offenheit, eine gute Informa-tionspolitik und das Aufzeigen von Perspektiven für die betroffenen Mitarbeiter.

2: Starres Festhalten an Zeitplan und Budget: Genaue Angaben zum geplanten zeitlichen Ablauf sowie zu den verfügbaren finanziellen Mitteln sind unerlässlich, um die Zieleorientierung eines Projekts sicherzustellen. Allerdings ist die Planung nicht immer realistisch, weiß SQS-Chef van Megen aus Erfahrung: "Die anfänglichen Schätzungen basieren eher auf Wunschvorstellungen und Bauchentscheidungen als auf Kennzahlen und Erfahrungswerten aus vergangenen Projekten", kritisiert der Experte. Neben der Verwendung von quantitativ nachvollziehbaren Kennzahlen und KPIs (Key Performace Indicators) sei es daher ratsam, die Projektplanung einmal im Monat zu überprüfen und gegebenenfalls zu korrigieren - entweder durch Einschränkungen des Leistungsumfangs oder durch eine Überarbeitung von Zeitplan und/oder Budget.

3: Bauchgefühl statt Kenn-zahlen: Das Fehlen von objektiven Kennzahlen etwa zur Architektur- oder Designqualität kann dazu führen, dass ein Projekt generell in Frage gestellt wird. Unter Umständen wird dann eine Software komplett umgeschrieben, obwohl einige Bugfixes ausgereicht hätten, um die Probleme zu beseitigen. Auch solche Fehleinschätzungen lassen sich durch eine ausgefeilte Ursachenanalyse und Entscheidungen auf Basis von Kennzahlen vermeiden.

4: IT-Projekte ohne IT-Abtei-lung: Riskant ist es auch, Projekte an externe Provider zu vergeben und diese zu steuern, ohne die IT-Abteilung zu involvieren. Mangels einschlägiger Erfahrung können die Fachabteilungen kaum beurteilen, ob die Technik des Anbieters mit der eigenen problemlos zusammenarbeitet. "Sie unterschätzen oft die Komplexität speziell hinsichtlich der Integration in die bestehende Systemumgebung mit vielen Schnittstellen", so SQS-Chef van Megen. Er empfiehlt daher eine klare Aufgabenverteilung zwischen IT und Fachbereich sowie eine schriftliche Vorgabe, dass alle IT-Projekte mit der eigenen IT-Mannschaft betrieben werden müssen.

5: Unklare Anforderungen: Wenn die Fachabteilungen ihre Bedürfnisse nicht exakt beschreiben, können die Entwickler nicht den richtigen Funktionsmix auswählen und die Anforderungen nicht hinreichend berücksichtigen. Diesen Missstand zählt van Megen zu den Hauptproblemen in der Softwarentwicklung: "Die Fachabteilungen können zwar Hunderte von Einzelfällen aufzählen, tun sich aber schwer, dem Ganzen eine Struktur zu geben, die die Programmierer verstehen", beschreibt der Experte. Fatalerweise bleiben solche Versäumnisse oft unerkannt, bis das Projekt fast abgeschlossen ist. Dann versucht die Fachabteilung, ihre Anforderungen klarer darzustellen, und die Entwickler programmieren hinzu, was gefehlt hat. Die Folge sind meist massive Zeit- und Budget-Überschreitungen.

6: Mangelndes Business-Know-how: Da die Manager der Fachbereiche die Ist- und Soll-Zustände der jeweiligen Geschäftsprozesse am besten verstehen, sollten sie in das Projekt involviert werden. Den Forrester-Umfragen zufolge ist das jedoch nur selten der Fall. Wenn die Entwickler keine Antworten auf ihre Fragen erhalten und Entscheidungen im Alleingang treffen, kann das Projekt ins Stocken geraten oder in die falsche Richtung laufen. Deshalb sollte genau festgeschrieben werden, wie und in welchem Umfang Fachbereiche mitarbeiten.

7: Unklare Zuständigkeiten können das Projekt lähmen. Eine bewährte Methode besteht darin, jeweils einen Projektleiter aus dem Fachbereich und aus der IT zu benennen. Dabei können die Kompetenzen je nach Projektphase wechseln. Für Anforderungen und Fachkonzept hat der Projektleiter aus der Fachabteilung grundsätzlich die oberste Entscheidungsgewalt. Fälle, in denen sich die beiden Leiter nicht einigen können, entscheidet monatlich das Steering Committee.

8: Unfähigkeit zu delegieren: Durch einen Projektleiter, der sich in alles einmischt, kann sich das Vorhaben unnötig in die Länge ziehen. Zudem fühlen sich die Projekt-Manager in ihrer Kompetenz nicht ernst genommen, warnt Forrester. Nach den Erfahrungen von van Megen ist dieses Problem aber selten geworden. "Die meisten Projektleiter wissen heutzutage, dass sie in größeren IT-Projekten nicht mehr alles selbst machen sollen und können."

9: Fehlende Ursachenfor-schung: Aus Zeitmangel werden Projekte vorangetrieben, ohne den Fehlern auf den Grund zu gehen. Doch kleine technische Pannen können sich schnell zu großen Problemen entwickeln. Stellen Sie sicher, dass Zeit für Forschung in den Projektplan einkalkuliert wird. Allerdings sollte diese Recherche in Form einer klar abgegrenzten Aufgabe oder eines separaten Projekts erfolgen.

10: Unterdrücken schlechter Nachrichten: Mitarbeiter neigen dazu, Probleme bewusst zu ignorieren anstatt sie offen anzusprechen. Wenn etwa frühere Fehler wieder zum Vorschein kommen, werden sie gern verschwiegen, was zu erheblichen Projektverzögerungen führen kann. Abhilfe schafft eine konsequente Verwendung objektiver Kennzahlen, die den Projektverlauf dokumentieren und die Ergebnisse im Detail erfassen und auswerten. Wie hoch sind die Kosten pro Requirement? Wie viele Requirements sind bislang erstellt worden? Wie passt das zum relativen Verbrauch?

Rettungsmaßnahmen

Wenn ein Problem aus dem Ruder läuft, sollten Sie nicht alle Fehler gleichzeitig zu beheben versuchen. Das ist zu aufwändig und geht in der Regel schief. Konzentrieren Sie sich auf das schwerwiegendste Problem und erarbeiten Sie einen Rettungsplan. Oft lösen sich die anderen Probleme damit automatisch.

1: Das Projekt stoppen, um keine weiteren Schrit-te in die falsche Richtung zu machen und alle Beteilig-ten über die Situation in Kenntnis zu setzen. Folgendes sollten Sie bei einem Projekt-Reset beachten:

- Informieren Sie den Auftraggeber offen über die Situation. Er wird notwendigen Änderungen nur zustimmen, wenn er die Hintergründe kennt. Zudem ist diese Maßnahme wichtig, um sein Vertrauen zu erhalten.

- Beantragen Sie ein zusätzliches Zeitbudget, um den Projektstatus ermitteln und einen realistischen Plan für den künftigen Verlauf entwickeln zu können.

- Ermitteln Sie die Ursachen für das Hauptproblem und sorgen Sie dafür, dass alle Beteiligten sich vorrangig mit dessen Lösung befassen.

2: Grundproblem beheben: Je nach Projekt bieten sich folgende Schritte an:

- Bestimmen Sie einen Problemlöser, der bereits Erfahrungen mit ähnlichen Schwierigkeiten gesammelt hat. Er sollte zuvor möglichst nichts mit dem Projekt zu tun gehabt haben, um unbelastet handeln zu können. Wenn der bisherige Projektleiter gescheitert ist oder das Vertrauen des Teams verloren hat, übernimmt der Problemlöser seinen Posten.

- Sorgen Sie dafür, dass Experten aus der Fachabteilung die Anforderungen gemeinsam mit den Entwicklern auf fehlende Details untersuchen. Storyboards und Protoypen helfen dabei. Wenn diese Zusammenarbeit nicht funktioniert, ist das das eigentliche Problem.

- Wenn Mitarbeiter Fehler verschweigen, weil sie nicht wissen, an wen sie sich wenden sollen, schaffen klare Strukturen Abhilfe. Die Furcht vor Repressalien, ein weiterer Grund für Vertuschungsversuche, lässt sich durch spezielle Ansprechpartner für junge Mitarbeiter entschärfen.

- Stellen Sie Leute ein: Auch wenn sich dadurch das Vorha-ben in die Länge zieht zusätzliches Personal kann Wunder bewirken. Allerdings nur, wenn es sich um Know-how-Träger handelt: Experten aus der Fachabteilung, Chefentwickler oder ranghohe Techniker mit fundiertem Branchenwissen.

3: Projektplan überarbeiten: Wenn die ursprünglichen Ziele nicht im vorgegebenen Zeit- und Budgetrahmen zu erreichen sind, müssen Ziele sowie Zeit- und Budgetvorgaben revidiert werden.

Versuchen Sie dabei, mehr Kontrolle über den künftigen Projektverlauf zu erlangen etwa indem Sie das Projekt in Bereiche aufteilen: Jeder abgeschlossene Teilschritt liefert Informationen, mit deren Hilfe sich die Schätzun-gen für die übrigen Schritte angleichen lassen. Außerdem sorgt diese Vorgehensweise für mehr Feedback: Das Team merkt sofort, wann es eine Deadline verfehlt hat, und kann die Weichen dafür stellen, dass sich die Fehler im nächsten Teilschritt nicht wiederholen. Mehr Kontrolle bewirkt auch ein Risiko-Management, das analysiert, welche Fehler es zu vermeiden gilt und was zu tun ist, wenn sie eintreten.