Mehr Programmierer -> noch mehr Bugs?
-
Wenn mehr Programmierer an einer Software arbeiten, gibts dan mehr Bugs als wenn nur einer alles programmiert?
-
Viele Köche können schon den Brei verderben...
IdR. hat ja jeder Programmierer an so einem Projekt dann seinen Teil woran er arbeitet und da ist die Qualität erstmal nicht anders als wenn einer alleine alles machen würde. Problem sind die Schnittstellen zwischen diesen Teilen. Wenn das ordentlich dokumentiert ist, und jeder sich dran hält sollte rein theoretisch nicht viel schief gehen. Wenn jeder aber denkt seinen Teil so gestalten zu müssen wie er es gerne hätte gibts natürlich Probleme.
Anderseits gibts ja auch Dinge wie Exteme Programming wo mehrere Entwickler teilweise an einem Stück Code arbeiten und viele gegenseitige Reviews stattfinden. Dann kann schon sein dass mehr fehler im Vorfeld beim Programmieren schon gefunden werden udn damit die Qualität des Codes steigen könnte.
-
Talla schrieb:
IdR. hat ja jeder Programmierer an so einem Projekt dann seinen Teil woran er arbeitet und da ist die Qualität erstmal nicht anders als wenn einer alleine alles machen würde. Problem sind die Schnittstellen zwischen diesen Teilen. Wenn das ordentlich dokumentiert ist, und jeder sich dran hält sollte rein theoretisch nicht viel schief gehen. Wenn jeder aber denkt seinen Teil so gestalten zu müssen wie er es gerne hätte gibts natürlich Probleme.
Anderseits gibts ja auch Dinge wie Exteme Programming wo mehrere Entwickler teilweise an einem Stück Code arbeiten und viele gegenseitige Reviews stattfinden. Dann kann schon sein dass mehr fehler im Vorfeld beim Programmieren schon gefunden werden udn damit die Qualität des Codes steigen könnte.
Hast du schon mal in nem größeren Team gearbeitet?
-
Kommerzielle Softwareentwicklung sucks!!
Es geht da zu wie Hölle, vorallem wenn noch ein 20 Jahre altes Projekt gewartet und weiterentwickelt werden muss.
-
Kommerzopfer schrieb:
Kommerzielle Softwareentwicklung sucks!!
Es geht da zu wie Hölle, vorallem wenn noch ein 20 Jahre altes Projekt gewartet und weiterentwickelt werden muss.
-
Nicht-kommerzielle Softwareentwicklung sucks genauso, um es in deinen Worten zu sagen. Da arbeiten Leute mit die nichtmal bis 3 zählen können, sowie Leute denen einfach alles SO scheissegal ist, ...
-
Du meinst wohl noobs, um es in meinen Worten zu sagen.
Aber gut, im nicht-kommerziellen Bereich hat Software zumindest manchmal noch etwas ästhetisches.
In der kommerziellen Softwareentwicklung muss man einfach nur den Terminplan einhalten.
-
wenn anfangs eine gute modulaufteilung gemacht wurde, dann können so viele Programmierer Arbeiten, ohne dass es zu mehr bugs kommt, allerdings darf dann kein fehler bei der Strukturierung des Projekts entstehen.
und ich find beides toll nicht komerzielle und komerzielle Software, wobei ich sagen muss, dass komerzielle Sofware oft weniger Fehler hat, als so nicht komerzielles zeug. Dafür kostet es micht als Anwender weniger.
-
Krux schrieb:
und ich find beides toll nicht komerzielle und komerzielle Software
Das ist auch korrekt, aber eben nur aus Anwendersicht.
-
Die meisten Bugs entstehen aus der Arroganz der Programmierer, die glauben alles zu wissen und alles zu können. Basis dafür ist die Fehlannahme, ein "nicht abstürzen" eines Programmes wäre gleichbedeutend mit "fehlerfrei" oder ein "läßt sich compilieren" wäre das gleiche wie "Alles richtig implementiert".
Nur als kleines Beispiel: Es sollte mittlerweile anerkanntes Grundwissen sein das #defines in der Sprache C++ nahezu nichts verloren haben, weil die damit verbundenen potentiellen Fehlerquellen viel zu groß sind. Trotzdem benutzen ein Großteil der Programmierer #define nach wie vor für Konstanten oder um damit ganze Funktionen zu simulieren. Grundargumentationslinie dieser Leute: Aber es funktioniert doch, aber das haben wir schon immer so gemacht. Die Tatsache, das selbst Stroustrup sich deutlich gegen solche Macros ausspricht scheint den meisten einfach egal zu sein. Aber was weiss der auch schon...
Sicher, manche Bugs sind einfach genau das, halt Fehler die man macht, aber viele Bugs entstehen aus purer Schlamperei, Faulheit und Arroganz meistens in Tateinheit mit Ignoranz.
Wenn hingegen mehr Programmierer an einer Software arbeiten gibt es effektive Methoden solche Bugs einzudämmen. Code-Reviews, Pair-Programming etc. Hinzu kommen meistens Maßnahmen wie eine Sourcecode-Verwaltung, Bugtracking usw. Alle diese Maßnahmen machen die Schlamperei einzelner Progger "sichtbar" und damit ensteht die Möglichkeit, effektiv dagegen vorzugehen, z.B. durch Coding-Styleguides, vorgegebene Design-Pattern, gezielte Schulungen etc.
Wobei allein durch die Tatsache das man als Progger weiss, dass andere Programmierer den Code begutachten werden bevor er released wird arbeitet man auf einmal viel ordentlicher. Schlamperei ist toll solange man damit durchkommt weil es niemand anders sieht... Aber wenn man dann auf jedem Release-Meeting Bloßgestellt wird überlegt man es sich schon zweimal...
Daher meine Theorie: Wenn mehrere Programmierer im Team zusammenarbeiten kann man die Zahl der Bugs pro Progger deutlich senken. Das Stichwort hier ist Zusammenarbeit. Wenn natürlich einfach nur "mehr" Programmierer an der gleichen Software arbeiten ohne miteinander zu kommunizieren, also quasi jeder nur sein eigenes Süppchen kocht, dann wird die Zahl der Bugs sicher steigen...