Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in
/homepages/u37107/www.sebastian-kirsch.org/moebius/blog/wp-includes/functions-formatting.php on line
76
Manchmal schreiben die üblichen Verdächtigen doch Sachen, zu denen ich mir einen Kommentar nicht verkneifen kann. So schreibt Marcus unter der Überschrift Design happens:
wenn man eine Menge an guten Programmieren nimmt (ein Projektteam), ihnen sagt was sie tun sollen (die Featureliste), dann entsteht das Design von ganz allein.
Das hört sich im ersten Moment gut an, hat leider einen gravierenden Nachteil:
Diese Methode scheitert schon bei Schritt 1. “Wenn man eine Menge an guten Programmierern nimmt…” Leider ist diese Menge an guten Programmierern meistens nicht so ohne weiteres greifbar. Es gibt nicht so viele gute Programmierer. Es gibt genauer gesagt sogar nur sehr, sehr wenige gute Programmierer.
Und: Methoden des Software-Design werden nicht für gute Programmierer entwickelt. Ein Mozart musste keine Musikhochschule besuchen, um Symphonien zu schreiben – aber behaupten wir deshalb, Musikhochschulen seien überflüssig, und man müsse guten Musikern nur ein Instrument an die Hand geben, und dann würden sie schon mit Freiheit und klar definierten Aufgaben Meisterwerke komponieren? Behaupten wir, Mathematik-Fakultäten wären überflüssig, weil man guten Mathematikern (wie Srinivasa Ramanujan) nur ein Anfängerbuch über Differentialrechnung in die Hand geben müsste, und sie erfinden dann die Grundlagen der Numerik selbst neu?
Nein, Software-Engineering wurde nicht für die wenigen Wunderkinder erfunden. Software-Engineering wurde erfunden, damit nicht-Wunderkinder eine Methodologie haben, nach der sie ein Projekt zu Ende bringen können – vielleicht nicht so elegant wie ein Wunderkind, vielleicht nicht so fehlerfrei, vielleicht nicht so schnell, aber so, dass es beendet wird. Einem Mozart würde niemand übel nehmen, wenn er sich über die bestehenden Konventionen hinwegsetzt. Aber gleichzeitig käme niemand auf die Idee, seine Arbeitsweise verallgemeinern zu wollen und als Vorbild darstellen zu wollen. Ebenso sollten die “guten Programmierer", die oben angesprochen wurden, eine gesunde Selbsteinschätzung besitzen, und Methoden, die für sie selbst funktionieren, nicht als allgemeingültig propagieren.
Und wenn förmliche Prozesse wirklich nur behindern, und wenn gute Programmierer wirklich nur Freiheit brauchen, um erfolgreiche Software entstehen zu lassen: Wie erklären wir uns dann die absolut katastrophalen Erfolgsraten im Software-Engineering? Wie erklären wir uns, dass 1994 nur 16% aller Software-Projekte im Zeit- und Budgetrahmen fertiggestellt wurden? Und dass 31% aller Projekte gar nicht beendet wurden? (Zahlen aus dem Chaos Report.) Hatten die Programmierer zu wenig Freiheit?
Nachtrag: Wer von Hackers and Painters beeindruckt war, dem empfehle ich (um die Perspektive ein bisschen zurecht zu rücken) einen Blick in Dabblers and Blowhards.