Software Effort Estimation: a Review of Taxonomies for use to-wards a Probabilistic Evidence Synthesis
Diese Arbeit präsentiert eine systematische Literaturübersicht über sechs Taxonomien zur Schätzung des Softwareaufwands, die eine signifikante strukturelle Fragmentierung, eine mangelnde Abdeckung aufkommender Anwendungsbereiche wie Mobile und KI sowie ein allgemeines Fehlen externer Validierung aufzeigt und damit die dringende Notwendigkeit einer vereinheitlichten, industrievalidierten Taxonomie hervorhebt.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Jedes Softwareprojekt, von einer einfachen mobilen App bis hin zu einem komplexen Bankensystem, beginnt mit einer täuschend einfachen Frage: Wie viel Arbeit wird das in Anspruch nehmen? In der Welt des Software-Engineerings ist dies als Aufwandsschätzung bekannt. Es ist der Prozess, die Zeit und die Ressourcen vorherzusagen, die benötigt werden, um ein Stück Software zu bauen, noch bevor die erste Zeile Code geschrieben wurde. Diese Vorhersage ist lebenswichtig; sie bestimmt das Budget, den Zeitplan und ob ein Projekt mit den richtigen Leuten besetzt werden kann. Das Vorhersagen der Zukunft der Software ist jedoch notorisch schwierig, da die Faktoren, die beeinflussen, wie lange ein Projekt dauert, gewaltig, vielfältig und oft ungewiss sind. Ein Projekt könnte länger dauern, weil das Team unerfahren ist, weil die Technologie neu ist oder weil sich die Anforderungen ständig ändern. Um dieses Chaos begreifbar zu machen, haben Forscher Jahrzehnte damit verbracht, diese Faktoren in strukturierte Listen oder Taxonomien zu ordnen, die als Landkarten dienen, um Experten dabei zu helfen, das komplexe Gelände der Softwareentwicklung zu navigieren.
Trotz des klaren Bedarfs an solchen Landkarten offenbart eine neue Untersuchung des Feldes, dass die bestehenden Karten fragmentiert und unvollständig sind. Emilia Mendes und Marc Solé Estragués, Forscher an der Aarhus Universität in Dänemark, unternahmen den Versuch, jedes bekannte Klassifizierungssystem für die Software-Aufwandsschätzung zu untersuchen. Ihr Ziel war es zu sehen, ob diese Systeme kombiniert werden könnten, um ein einheitliches Werkzeug für die Zukunft zu schaffen, oder ob sie zu verschieden waren, um vereinheitlicht zu werden. Sie führten einen systematischen Review durch, eine rigorose Methode der Durchsuchung wissenschaftlicher Literatur, um jede relevante Studie zu finden und zu analysieren, die einen Weg zur Kategorisierung der Faktoren vorgeschlagen hat, die die Softwarearbeit beeinflussen. Nachdem sie tausende Artikel aus großen akademischen Datenbanken gesichtet hatten, fanden sie nur sechs Studien, die tatsächlich eine Taxonomie für diesen spezifischen Zweck vorgeschlagen hatten. Diese geringe Zahl war bereits ein bedeutender Befund, der darauf hindeutet, dass das Problem zwar bekannt ist, die Bemühungen, es zu lösen, in den letzten zwei Jahrzehnten jedoch sporadisch und verstreut verliefen.
Die Forscher untersuchten diese sechs Taxonomien im Detail und betrachteten, wie sie aufgebaut waren und was sie enthielten. Sie fanden heraus, dass die Karten in sehr unterschiedlichen Stilen gezeichnet waren. Einige waren breit gefächert und deckten alles ab, von der Größe der Software über die Erfahrung des Teams bis hin zu den spezifischen Techniken, die zur Schätzung verwendet wurden. Andere waren eng gefasst und konzentrierten sich nur auf einen Aspekt, wie etwa nur auf die Größe des Codes oder nur auf die Methoden, mit denen die Arbeit vorhergesagt wird. Die Strukturen variierten stark, wobei einige Listen nur eine Handvoll Kategorien enthielten und andere sich in hunderte spezifische Details verzweigten. Als die Forscher die Listen nebeneinanderlegten und nach gemeinsamen Begriffen und Konzepten suchten, entdeckten sie einen erschreckenden Mangel an Übereinstimmung. Von den Hunderten spezifischer Faktoren, die in allen sechs Taxonomien aufgeführt waren, wurde nur ein winziger Bruchteil auf die gleiche Weise beschrieben. Die meisten Begriffe waren einzigartig für eine einzelne Studie, was bedeutete, dass zwei Experten, die unterschiedliche Karten verwenden würden, aneinander vorbeireden würden – sie benutzten unterschiedliche Wörter für dieselbe Idee oder unterschiedliche Ideen für dasselbe Wort.
Die Rezension hob auch eine signifikante Lücke in der Abdeckung hervor. Die existierenden Karten konzentrierten sich stark auf traditionelle Arten von Software, wie etwa Business-Anwendungen und eingebettete Systeme in Geräten. Sie ignorierten jedoch weitgehend die rasant wachsenden Felder der Künstlichen-Intelligenz-Software und moderner mobiler Anwendungen. Darüber hinaus stellten die Forscher fest, dass die meisten dieser Taxonomien in der realen Welt nie getestet worden waren. Sie wurden als Ideen oder theoretische Rahmenwerke vorgeschlagen, aber es gab kaum Beweise dafür, dass sie Praktikern in der Industrie tatsächlich dabei halfen, bessere Vorhersagen zu treffen. Nur eine der sechs Taxonomien war in einem realen Umfeld angewendet worden, um zu sehen, ob sie funktionierte. Die anderen blieben unvalidiert, was ein Fragezeichen hinter ihrem praktischen Nutzen setzte.
Die Autoren argumentieren, dass diese Fragmentierung ein Hindernis für den Fortschritt darstellt. Wenn Forscher und Praktiker sich nicht auf eine gemeinsame Sprache einigen können, wird es schwierig, Wissen zu teilen, Ergebnisse zu vergleichen oder auf früheren Entdeckungen aufzubauen. Die Rezension legt nahe, dass das Feld über diese isolierten Listen hinausgehen muss. Die Forscher schlagen vor, dass der nächste Schritt entweder darin besteht, die bestehenden Karten zu erweitern, um die fehlenden Bereiche der Softwareentwicklung abzudecken, oder eine einzige, einheitliche Taxonomie zu erstellen, die alle Arten von Software umfasst. Ein solches einheitliches System müsste in der Industrie getestet werden, um sicherzustellen, dass es tatsächlich hilfreich ist. Bis dahin bleibt das Feld eine Sammlung von unverbundenen Inseln, auf denen das Potenzial für ein klares, gemeinsames Verständnis der Software-Aufwandsschätzung noch darauf wartet, realisiert zu werden.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.