Wie schätzt man ein Forschungs- und Entwicklungsprojekt ein?

Unser Softwareteam hat viel Forschungs- und Entwicklungsarbeit geleistet, um die Leistung unseres Produkts zu verbessern. Natürlich möchte das Managementteam wissen, wie lange es dauern wird, die Leistung zu verbessern, und wie viel Verbesserung wir erzielen werden.

Ich würde gerne wissen, (1) ob es eine vorgeschlagene Schätztechnik gibt, wenn Sie die Zeit schätzen, die Entwickler mit der Arbeit an Elementen wie Leistungsverbesserungen verbringen werden

Wenn möglich auch (2) welche Strategien nützlich sind, um die Höhe der Verbesserung abzuschätzen, die Sie mit einer bestimmten Investition erzielen können


Weitere Hintergründe:

Unsere spezifische Forschung konzentriert sich auf die Verbesserung der Anwendungsleistung, wie z. B. das Laden von Inhalten, die wahrgenommene Geschwindigkeit von Übergängen innerhalb der Anwendung und andere Aspekte der Benutzererfahrung.

Aus der Sicht der Entwickler wissen wir nicht, wie viel Verbesserung wir erreichen werden, bis wir die Verbesserungen vorgenommen haben, und wir wissen nicht, wie lange es dauern wird, die Verbesserungen vorzunehmen, bis wir tief eintauchen und all das finden verschiedene Möglichkeiten, wie wir die Dinge beschleunigen könnten.

Ich habe die grundlegende Literatur über Software-Schätztechniken (Story Points, Function Points usw.) gelesen, daher brauche ich keine Einführung in diese. Wir haben zumindest einen guten Anfang beim Sammeln grundlegender Leistungsmetriken, und ich benötige im Moment keine weiteren Informationen zu grundlegenden Metriken.

Hallo Linda – ist dein Team ein bereits stabiles Team oder ein relativ neues Team? Gibt es Offenheit, offen mit der Geschäftsleitung zu sprechen? Dies ist der Schlüssel, um zu definieren, wie man die Leistungsverbesserung angeht.
Wir sind ein reifes Team, mit einer angemessenen Fähigkeit, offen mit dem Management zu sprechen, ja.
Hallo Linda - ich habe die Frage umstrukturiert, um sie weniger spezifisch für Ihren Fall zu machen. Hoffe, die Kernfragen werden noch gehalten. Fühlen Sie sich frei, Änderungen rückgängig zu machen, wenn Sie damit nicht einverstanden sind.

Antworten (2)

Führen Sie Metriken zu früheren Refactoring-Bemühungen? Wenn nicht, sollten Sie. Dies ermöglicht eine evidenzbasierte Schätzung; Was haben wir vorher gemacht? Wie lange haben wir gedacht, dass es dauern würde? Wie lange hat es eigentlich gedauert?

Sobald Sie einige Datenpunkte haben, können Sie Äpfel mit Äpfeln vergleichen. Für Dinge, die Sie nicht haben, können Sie Ihre Schätzungen im Vergleich zu den tatsächlichen Werten betrachten, um festzustellen, wie genau Ihr Team ist. Selbst wenn sie konstant 200 % unter den tatsächlichen Werten liegen, gibt Ihnen das eine ziemlich gute Vorstellung davon, dass diese Schätzung auch unter dem liegen wird, was wirklich erforderlich ist.

Der Prozentsatz der Leistungsverbesserungen ist schwieriger zu quantifizieren, aber wenn Sie die Dinge richtig erstellen, sollte der Prozentsatz nach unten tendieren, wenn die einfachen Dinge optimiert werden.

1) Um die benötigte Zeit bestimmen zu können, müssen Sie den Umfang Ihrer geplanten Aufgaben festlegen. Wenn Sie eine Basislinie der aktuellen Leistung haben, müssen Sie in der Lage sein, die Dinge zu bestimmen, die besser funktionieren müssen. Wenn Sie Entwickler fragen, können sie Jahre damit verbringen, die Leistung zu optimieren und zu verbessern. Entscheidend ist meiner Meinung nach, einen Umfang zu definieren und darauf hinzuarbeiten. Identifizieren Sie die „langsamen“ Teile und legen Sie fest, wie schnell es sein soll, das Ziel muss nicht in einem Rutsch erreicht werden. Sie könnten Spikes pro Disziplin (z. B. Suche, Backend, Frontend) erstellen, damit sie die Leistung untersuchen und Lösungen finden können. Das hat bei mir schon mehrfach funktioniert

2) Die Verbesserung kann nur nachgewiesen werden, indem dieselben Tests durchgeführt werden, die die Basisleistung erstellt haben. Ein Entwickler kann immer angeben, ob etwas die Leistung verbessert oder nicht, aber nicht um wie viel %. Natürlich sollten während der Implementierung der Verbesserungen einige Tests durchgeführt werden, um zu sehen, ob sie die gewünschte Wirkung haben, aber wenn sie nicht in einer produktionsähnlichen Umgebung durchgeführt werden, ist dies ein Hinweis.

Hoffe, das hilft, Bart