Core Concepts
Entwickler folgen einem Prozess mit fünf Schritten, um Software-Bibliotheken auszuwählen, der von sechs Auswahlmustern, sieben Bedingungen und acht Barrieren beeinflusst wird.
Abstract
Die Studie untersucht, wie Softwareentwickler Software-Bibliotheken auswählen. Dafür wurden 24 Interviews mit Entwicklern aus großen, mittleren und kleinen internationalen Softwareunternehmen durchgeführt.
Der Auswahlprozess besteht aus fünf Schritten:
Suche: Identifizieren des Problems, Rücksprache mit Kollegen, Online-Suche
Vergleich: Vergleichen von Alternativen, Auswahl der besten Bibliothek
Überprüfung: Team-Diskussion, Design-/Code-Review, Genehmigungsprozess
Integration: Proof-of-Concept-Entwicklung, Integration in Produktionssystem, schrittweise Einführung
Wartung: Skalierung der Nutzung, Upgrades, Migration zu neuen Bibliotheken
Die Auswahl wird von sechs Auswahlmustern beeinflusst, die je nach internen und externen Bedingungen wie Unternehmenskultur, Teamfähigkeiten, individuelle Erfahrung und technische Einschränkungen zum Tragen kommen. Entwickler konsultieren 15 verschiedene Informationsquellen, um 28 Faktoren zu bewerten, die in vier Kategorien fallen: Software-Faktoren, kommerzielle Faktoren, Wartungsfaktoren und externe Faktoren.
Acht Barrieren, die aus organisatorischen, individuellen und technischen Einschränkungen resultieren, können die Anwendung der Auswahlmuster behindern. Basierend auf den Erkenntnissen werden fünf Empfehlungen für Unternehmen gegeben, um den Auswahlprozess zu verbessern.
Stats
"Wir müssen verstehen, wie viel Speicher es verbrauchen wird. Wie lange dauert es, es auszuführen? Oder wie viel CPU wird es verwenden? Ist diese Bibliothek mit der Entwicklungsumgebung kompatibel? Wie ist die Thread-Sicherheit innerhalb der Bibliothek?" - P15
"Oft wird die Entscheidung oder die Wahl durch die Voreingenommenheit oder Vertrautheit oder die vorherige Erfahrung einer Person mit einem bestimmten Produkt oder einer bestimmten Dienstleistung beeinflusst." - P08
"Wenn die Funktion zu geschäftskritisch ist, dann durchläuft sie einen noch rigoroseren Entscheidungsprozess als andere, bei denen Sie beispielsweise nur versuchen, eine Bibliothek zum Anzeigen und Zuschneiden eines Bildes auszuwählen. Das ist also nicht so geschäftskritisch." - P15
Quotes
"Oft ist es so, dass die Entscheidung oder die Wahl durch die Voreingenommenheit oder Vertrautheit oder die vorherige Erfahrung einer Person mit einem bestimmten Produkt oder einer bestimmten Dienstleistung beeinflusst wird." - P08
"Wenn die Funktion zu geschäftskritisch ist, dann durchläuft sie einen noch rigoroseren Entscheidungsprozess als andere, bei denen Sie beispielsweise nur versuchen, eine Bibliothek zum Anzeigen und Zuschneiden eines Bildes auszuwählen. Das ist also nicht so geschäftskritisch." - P15
"Wir müssen verstehen, wie viel Speicher es verbrauchen wird. Wie lange dauert es, es auszuführen? Oder wie viel CPU wird es verwenden? Ist diese Bibliothek mit der Entwicklungsumgebung kompatibel? Wie ist die Thread-Sicherheit innerhalb der Bibliothek?" - P15