Einige ineffektive Entwicklungspraktiken wurden so oft von so vielen Menschen mit so vorhersehbaren, schlechten Ergebnissen ausgewählt, dass sie es verdienen, als "klassische Fehler" bezeichnet zu werden ...
In diesem Abschnitt werden drei Dutzend klassische Fehler aufgelistet. Ich habe persönlich gesehen, dass jeder dieser Fehler mindestens einmal gemacht wurde, und ich habe viele von ihnen selbst gemacht ...
Der gemeinsame Nenner in dieser Liste ist, dass Sie nicht unbedingt eine schnelle Entwicklung bekommen, wenn Sie den Fehler vermeiden, aber Sie werden definitiv eine langsame Entwicklung bekommen, wenn Sie es nicht vermeiden ...
Zur Vereinfachung der Bezugnahme wurde die Liste nach den Dimensionen der Entwicklungsgeschwindigkeit von Personen, Prozessen, Produkten und Technologien unterteilt.
Menschen
# 1: Untergrabene Motivation ...
# 2: Schwaches Personal ...
# 3: Unkontrollierte Problemmitarbeiter ...
# 4: Heroics ...
# 5: Hinzufügen von Personen zu einem späten Projekt ...
# 6: Laut, überfüllte Büros ...
# 7: Reibung zwischen Entwicklern und Kunden ...
# 8: Unrealistische Erwartungen ...
# 9: Mangelnde effektive Projektförderung ...
# 10: Fehlendes Stakeholder-Buy-in ...
# 11: Fehlende Benutzereingaben ...
# 12: Politik über Substanz gestellt ...
# 13: Wunschdenken ...
Verarbeiten
# 14: Zu optimistische Zeitpläne ...
# 15: Unzureichendes Risikomanagement ...
# 16: Auftragnehmerfehler ...
# 17: Unzureichende Planung ...
# 18: Planungsabbruch unter Druck ...
# 19: Zeitverschwendung während des Fuzzy-Frontends. Das "Fuzzy-Front-End" ist die Zeit vor dem Start des Projekts, die normalerweise für den Genehmigungs- und Budgetierungsprozess aufgewendet wird.
# 20: Shortchanged Upstream-Aktivitäten ... Auch bekannt als "Jumping in Coding" ...
# 21: Unangemessenes Design ...
# 22: Fehlende Qualitätssicherung ...
# 23: Unzureichende Verwaltungskontrollen ...
# 24: Vorzeitige oder zu häufige Konvergenz. Kurz bevor die Veröffentlichung eines Produkts geplant ist, wird versucht, das Produkt für die Veröffentlichung vorzubereiten. Verbessern Sie die Leistung des Produkts, drucken Sie die endgültige Dokumentation aus, fügen Sie die endgültigen Hilfesystem-Hooks ein, polieren Sie das Installationsprogramm und stellen Sie Funktionen bereit, die nicht möglich sind pünktlich fertig und so weiter ...
# 25: Notwendige Aufgaben aus Schätzungen weglassen ...
# 26: Wir wollen später aufholen ...
# 27: Code-like-Hell-Programmierung. Einige Unternehmen sind der Meinung, dass eine schnelle, lockere Codierung im Handumdrehen ein Weg zu einer raschen Entwicklung ist ...
Produkt
# 28: Anforderungen Vergoldung. Einige Projekte haben von Anfang an mehr Anforderungen als sie benötigen ...
# 29: Feature schleichen ...
# 30: Entwicklervergoldung. Entwickler sind fasziniert von neuen Technologien und sind manchmal bestrebt, neue Funktionen auszuprobieren ... - unabhängig davon, ob dies in ihrem Produkt erforderlich ist oder nicht ...
# 31: Schieben Sie mich, ziehen Sie mich Verhandlung ...
# 32: Forschungsorientierte Entwicklung. Seymour Cray, der Konstrukteur der Cray-Supercomputer, sagt, er versuche nicht, in mehr als zwei Bereichen gleichzeitig technische Grenzen zu überschreiten, weil das Risiko eines Ausfalls zu hoch sei (Gilb 1988). Viele Softwareprojekte könnten eine Lektion von Cray lernen ...
Technologie
# 33: Silberkugel-Syndrom ...
# 34: Überschätzte Einsparungen durch neue Tools oder Methoden ... Ein besonderer Fall von überschätzten Einsparungen ergibt sich, wenn Projekte Code aus früheren Projekten wiederverwenden ...
# 35: Werkzeugwechsel mitten in einem Projekt ...
# 36: Keine automatisierte Quellcode-Kontrolle ...