Pannen-Top-Ten

Die zehn häufigsten Entwickler-Fehler

07.07.2010 von Sabine Prehl
Pleiten, Pech und Pannen: IT-Projekte scheitern häufig an unklaren Anforderungen sowie dem Verzicht auf Kennzahlen und Business-Know-how. Im folgenden Beitrag finden Sie die gängigsten Ursachen für das Scheitern von IT-Projekten.

Trotz ausgefeilter Projektmanagement-Techniken gibt es in der Software-Entwicklung 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 Projektmanagement-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.

Workgroup-Tools
DeskAway
"DeskAway" präsentiert sich als funktionsstarkes Collaboration-Tool mit umfangreichen Projekt-Management- und Workgrouping-Features. So lassen sich unter anderem die letzten Aktivitäten innerhalb des Projekts verfolgen, Tasks verwalten, anstehende Termine und Deadlines im Kalender verfolgen, der individuelle Arbeitsfortschritt und Zeitaufwand der Gruppenmitglieder tracken, über verschiedene Kanäle kommunizieren sowie Reporting, Backup und Filesharing-Optionen nutzen. <br /><br /> <a href="http://www.deskaway.com/" target="_blank">... zu DeskAway</a>
Meetup
"Meetup" bietet die Möglichkeit, schnell und unkompliziert Arbeitsgruppen in Social Communities zu organisieren. Neben den klassischen Community-Features, wie einem gemeinsamen Gruppenkalender, Filesharing, der Möglichkeit Events zu organisieren sowie einer Übersicht über die letzten Aktivitäten innerhalb der Gruppe, bietet Meetup neuerdings auch die Möglichkeit Videos Live auf die jeweilige Community-Homepage zu streamen. <br /><br /> <a href="http://www.meetup.com/about/" target="_blank">... zu Meetup</a>
HyperOffice
"HyperOffice" bietet die gängige Palette webbasierter Workgrouping-Tools. So können beispielsweise Dokumente im Team bearbeitet, Kontakte gepflegt, Aktivitäten und Aufgaben über Kalender und Tasks verwaltet, zu Themen Abstimmungen abgehalten und darüber hinaus Firmen E-Mails webbasiert verschickt werden. Zudem lässt sich das firmeneigene Intra- beziehungsweise Extranet via HyperOffice realisieren. <br /><br /> <a href="http://www.hyperoffice.com/" target="_blank">... zu HyperOffice</a>
Campfire
"Campfire" definiert sich selbst als “web-based group chat tool". Dementsprechend zeigt sich das Tool auch als denkbar einfach und übersichtlich gestaltete Kommunikationslösung für Teamarbeit. Einmal registriert lassen sich sogenannte Chat-Rooms erstellen und weitere Teammitglieder beziehungsweise Kunden zum Chat einladen. In die einzelnen Chats können dann problemlos Bilder, Grafiken und Dokumente eingebunden und diskutiert werden. <br /><br /> <a href="http://campfirenow.com/" target="_blank">... zu Campfire</a>
FMYI
FMYI bietet eine Palette an Workgrouping-Funktionen, wie individuelle Startseiten für jede Gruppe, Übersichten über die letzten Aktivitäten und anstehende Tasks, diverse Projektmanagement-Funktionen, einen Kalender, Filesharing-Funktionen sowie verschiedene Möglichkeiten zur Kommunikation innerhalb der Gruppe. <br /><br /> <a href="http://www.fmyi.com/" target="_blank">... zu FMYI</a>
Onehub
"Onehub" präsentiert sich als Collaboration-Tool mit umfangreichen Workgrouping- beziehungsweise Projekt-Management-Funktionen. Die gemeinsame Arbeit kann über einen Teamkalender organisiert werden. Darüber hinaus bietet Onehub die gängigen Task-Management-Funktionen, Filesharing, die Möglichkeit Dokumente im Team zu bearbeiten sowie E-Mail- und FTP-Integration. <br /><br /> <a href="http://onehub.com/" target="_blank">... zu Onehub</a>
Huddle
Via "Huddle" können Dokumente im Team bearbeitet, getauscht, diskutiert und kommentiert werden. Darüber hinaus bietet Huddle eine Reihe von Dokument-Management-Funktionen sowie Whiteboards zur Sammlung von Ideen. <br /><br /> <a href="https://www.huddle.net/" target="_blank">... zu Huddle</a>
SocialGO
Mit "SocialGO" kann der User in kurzer Zeit sein eigenes soziales Netzwerk erstellen. Diese Funktionalität lässt sich natürlich auch bestens dazu nutzen, um Projektteams und Arbeitsgruppen zu organisieren. Zu den Features zählen unter anderem die Möglichkeit Nutzerprofile anzulegen, Filesharing zu betreiben, Events zu organisieren sowie sich über Diskussionen und Instant-Messaging auszutauschen. <br /><br /> <a href="http://www.socialgo.com/" target="_blank">... zu SocialGO</a>
Sosius
"Sosius" präsentiert sich als umfangreiches webbasiertes Workgrouping- und Projektmanagement-Tool. Neben den gängigen Funktionen, wie Filesharing, Messaging, Screen-Shareing, Kalender- und Taskmanagement sowie Übersichten über den jeweiligen Projektfortschritt und die neuesten Änderungen im Projekt, bietet Sosius dem User die Möglichkeit, maßgeschneiderte Apps für verschiedene Smartpones selbst zusammenzustellen. Zudem können mehrstufige Workflows mit differenzierten Zugangsrechten eingerichtet werden. <br /><br /> <a href="http://sosius.com/" target="_blank">... zu Sosius</a>
WizeHive
In "WizeHive" können – ähnlich wie bei vielen anderen webbasierten Workgrouping-Tools auch – einzelne Projekte in Workspaces angelegt werden. Einmal erstellt lassen sich diese dann individuell graphisch anpassen sowie weitere Mitglieder zur Zusammenarbeit einladen. Die neuesten Einträge und Kommentare erscheinen jeweils in einer, an Twitter angelehnten, Übersicht auf der Startseite des Projekts. Darüber hinaus bietet WizeHive die gängigen Features, wie Filesharing und Task-Management, eine Kalenderübersicht sowie die Integration verschiedener Kommunikations-Kanäle, wie beispielsweise E-Mail. <br /><br /> <a href="http://www.wizehive.com/" target="_blank">... zu WizeHive</a>

Mangelndes Commitment

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 Informationspolitik und das Aufzeigen von Perspektiven für die betroffenen Mitarbeiter.

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.

Rudolf van Megen, SQS: 'Die anfängliche Projektplanung basiert oft auf Bauchentscheidungen.'

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.

Bauchgefühl statt Kennzahlen

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.

IT-Projekte ohne IT-Abteilung

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.

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.

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.

Unklare Zuständigkeiten

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.

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

Fehlende Ursachenforschung

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.

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.

Das Projekt stoppen, ...

... um keine weiteren Schritte in die falsche Richtung zu machen und alle Beteiligten über die Situation in Kenntnis zu setzen. Folgendes sollten Sie bei einem Projekt-Reset beachten:

Grundproblem beheben

Je nach Projekt bieten sich folgende Schritte an:

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ätzungen 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. (mje)

Dieser Beitrag stammt von computerwoche.de, der führenden deutschsprachigen Website für den gesamten Bereich der Informationstechnik - aktuell, kompetent und anwendungsorientiert.