Die meisten Leute denken, dass ein erfolgreiches Softwareprojekt direkt mit der eingesetzten Technologie oder der Qualität des Quellcodes zu tun hat. Das ist ein falsche Annahme!
Es gibt nur sehr geringe Zusammenhänge zwischen der Codequalität und der Popularität der Software. Im Gegenteil: Je erfolgreicher ein Softwareprojekt ist, desto weniger wichtig ist die Beziehung zur Qualität des Quellcodes.
Warum? Weil erfolgreiche Softwareprojekte mehr Entwickler zur Verfügung stellen können, um Fehler zu fixen und Benutzer, die diese Fehler aufdecken. Das macht das Thema Codequalität irrelevant, wenn man nur die Benutzbarkeit der Software betrachtet.
Das Facebook Phänomen
Die gleiche fehlerhafte Annahme führt auch dazu, dass man Sachen sagt, wie PHP sei eine gute Programmiersprache, weil sie für Facebook verwendet wird. Das ist natürlich Unsinn: PHP ist eine fürchterliche Programmiersprache ( Wer kann mich vom Gegenteil überzeugen?). Aber wenn das stimmt, wie hat Facebook es dann geschafft, mit PHP so ein erfolgreiches Geschäft aufzuziehen? Weil Facebook viele Programmierer eingestellt hat, ihren eigenen Compiler geschrieben haben und vieles mehr. Und wie wir alle wissen, geht auch mal was bei Facebook nicht mehr. Aber es macht ja auch eigentlich nicht wirklich was, wenn Millionen Benutzer für ein Weile eine merkwürdig gerenderte Timeline sehen oder man für ein paar Stunden bei Kommentaren nicht den “gefällt mir” Knopf betätigen kann.
Ist die Qualität des Quellcodes überhaupt relevant?
Die Codequaltät ist dann wichtig, wenn etwas geändert oder erweitert werden soll. Wie schnell findet man die Stelle, die den Fehler verursacht hat? Wie einfach sind die Änderungen vorzunehmen? Bin ich sicher, dass meine Änderung keine nicht gewollten Seiteneffekte hat? Der Wert steckt also nicht in dem was wir entwickeln, sondern in dem Entwicklungsprozess selbst. Vielleicht ist die Qualität doch für das Produkt relevant, wenn man die Änderung auch einfach Weise auf ältere Versionen anwenden kann. Dann wird Codequalität auch für das Produkt selbst wichtig.
Wer also nicht nur ein Produkt entwickelt, dass nie mehr geändert werden muss, oder man unendliche Ressourcen besitzt, ist die Qualität nicht wichtig. Aber Achtung: Auch wenn man der Meinung ist, dass man gerade an einer kurzlebigen Software arbeitet, die bald von einem neuen, besseren System abgelöst werden soll, sollte man sich zwei mal überlegen, ob man keinen Wert auf die Qualität legt. Ein solches Projekt habe ich nämlich noch nie gesehen!
Thanks to Jed Wesley-Smith for the inspiration! Jed wrote a post with this content on our internal blog. I added my own conclusions but this post contains his thoughts on quality vs. popularity. Great idea.
Sie meinten wohl “sie”, nicht “Sie”.
Sh..t Ich habe wohl in letzter Zeit zu viele Emails geschrieben 😉 Danke für den Hinweis.
Moin Sven,
ist was Wahres dran, auch wenn man unendlich viel Zeit hat ein Projekt zu planen, wird man irgendwann über Dinge fallen, die man nicht bedacht hat, wir sind alle nur Menschen.
Facebook ist für Selbstdarsteller und all die anderen Mitläufer, deswegen ist das so berühmt. Jeder wills haben, 90 % habens nur weil die andern es haben.