
In der heutigen Zeit ist Softwarequalität von entscheidender Bedeutung für den Erfolg eines Unternehmens. Doch wie viel Zeit und Geld sollten Organisationen in Entwicklerwerkzeuge investieren? Welchen Geschäftswert haben Verbesserungen an einer Entwicklungsplattform? Wie quantifizieren Unternehmen den geschäftlichen Einfluss einer Optimierung der CPU-Nutzung einer Anwendung? All diese Fragen bleiben oft unbeantwortet, obwohl es eine Fülle von Wissen aus der Industrie, der Open-Source-Community und der Akademie gibt.
Um langfristig nachhaltig zu sein, müssen Unternehmen die Produktionskosten der Softwareentwicklung mit dem Wert dieser Software ausbalancieren und Risiken berücksichtigen. Softwarewert entsteht durch den Erfolg des Produkts, die Produktivität der Entwickler, die Effizienz der Hardware-Ressourcen, Innovation und Risikominderung. Diese Faktoren beeinflussen sich gegenseitig auf vorhersehbare und unerwartete Weise.
Die Softwareentwicklung besteht aus drei Prozessen: Entwicklung, Bereitstellung und Betrieb. Diese Prozesse sind voneinander abhängig, und Änderungen in einem können Auswirkungen auf das gesamte System haben. Jeder Prozess hat ein separates Ziel, das die Kosten-Nutzen-Analyse bei kritischen Ressourcen-Trade-offs verändert.
Es ist wichtig, die Hardwarekapazität nicht isoliert zu betrachten, da dies zu Verzögerungen bei der Veröffentlichung oder einer Verringerung der Qualität führen kann. Das Ausführen weniger Tests spart zwar Hardware, aber Qualitätsprobleme können zu echten Verlusten führen.
Die Qualität von Software wird durch ihre Nutzung bestimmt. Daher ist es wichtig, frühzeitig Fehler zu erkennen und zu beheben, um Auswirkungen auf den Geschäftswert zu minimieren. Die frühzeitige Erkennung von Fehlern spart Kosten und Zeit.
Es ist schwierig, die Produktivität in der Softwareentwicklung direkt zu messen. Die Branche basiert auf Wissen und Kreativität. Investitionen in die Produktivität sollten darauf abzielen, den Entwicklungsprozess effizienter zu gestalten.
Schließlich ist es wichtig, menschliche Ressourcen effektiv einzusetzen und Prozesse zu optimieren, um den Wert der Softwareentwicklung zu maximieren. Durch die richtige Balance zwischen Automatisierung und menschlichem Eingreifen können Unternehmen ihre Softwarequalität verbessern und langfristigen Erfolg sichern.
Quelle: https://queue.acm.org/detail.cfm