Es ist bekannt, dass Softwareentwicklungsaufgaben durch einige Projektmanagementmetriken gesteuert werden sollten, die den Fortschritt der Arbeit zu jedem bestimmten Zeitpunkt zeigen.
Welche Metriken sollten besser verwendet werden, wenn das Projekt ein Forschungsprojekt ist und die übliche Arbeit nicht nur darin besteht, ein SW-Produkt zu erstellen, sondern (vorher) einen großen Korpus wissenschaftlicher Arbeiten zu überprüfen und verschiedene PoCs zu erstellen? Sie weisen hier darauf hin, dass ein solches Projekt zu Beginn keine feste Architektur hat und nur bestimmen muss, was die beste ist.
In unserem Projekt sind die "Fertig"-Kriterien:
Um dieses Kriterium zu erreichen, planen wir:
Was ich wissen muss, ist, dass Metriken in diesem Fall besser sind, um damit zu beginnen? Wir brauchen Metriken, die wöchentlich nachverfolgt werden können , dh sie müssen zeigen, wie viel Teil der Arbeit erledigt ist.
Ich bin mir nicht ganz sicher, ob ich die Frage verstehe, also verzeihen Sie mir bitte, wenn meine Antwort tangential ist. Allerdings würde ich die Fragen in umgekehrter Reihenfolge stellen.
Die erste Frage ist (für mich) immer: "Wie sieht fertig aus?" Klingt für mich so, als ob die erste Phase Ihres Projekts darin besteht, eine Literaturumfrage/Marktumfrage/Forschungsbemühungen durchzuführen. Basierend auf Ihrem Kommentar scheint "Fertig" "Bestimmen der besten Architektur" zu sein.
Ich persönlich würde zuerst die Entscheidungsmatrix und die vorläufige Gewichtung erstellen und sie dann verwenden, um meine Forschung zu steuern. Wenn die nächste Forschungseinheit das Ergebnis der Entscheidungsmatrix nicht ändert, ist die Forschung abgeschlossen. Als ich das letzte Mal Literatur recherchierte, konnte ich die Zeit basierend auf der Menge der veröffentlichten Forschungsergebnisse ziemlich genau einschätzen; Wenn ich zuerst die Entscheidungsmatrix mache, könnte ich in kürzerer Zeit als mit dieser Schätzung fertig berichten.
An diesem Punkt ist die relevante Metrik/KPI die Menge an Unsicherheit, die durch jeden Untersuchungszeitraum reduziert wird. Technisch verfolgen Sie Risiken/Chancen – die Verringerung der Ungewissheit. Forschung reduziert erkenntnistheoretische Unsicherheit; Unter der Annahme, dass Sie mit den höheren Gewichtungsfaktoren beginnen, ist die erkenntnistheoretische Unsicherheit schließlich klein genug, um Ihre Entscheidung nicht zu beeinflussen.
Ich mag knackige Daten, also würde ich die Entscheidungsmatrix wahrscheinlich mit einer Komponente modellieren, die die Wahrscheinlichkeit misst, neue wertvolle Papiere zu finden, aber ich bin ein frustrierter Quant. Obwohl ich es lustig finden würde, denke ich, dass es tatsächlich den Pudding übertreibt.
Einige Anmerkungen, während ich meine Gedanken organisiere: Das Folgende wird überarbeitet. Es gibt ein paar Tools, die in die Gruppierung "Entscheidungsmatrix" passen (es gibt andere, und ich werde sie hinzufügen, wenn sie mir einfallen, aber der Punkt ist dass es mehrere Tools gibt.
Analytical Hierarchy Process (AHP), der ziemlich schwergewichtig ist, aber hilfreich sein kann, wenn die Faktoren, die die Entscheidung beeinflussen, unklar sind. Andererseits ist es ein Frontend-Prozess; Ich bin mir nicht sicher, ob ich die Gewichtung revidieren möchte, wenn die Forschung mein Verständnis des Problems ändern würde.
Entscheidungsbaum ist das Werkzeug, das in jedem PMI-Kurs enthalten war, an dem ich teilgenommen habe. Scheint das bevorzugte Tool von PMI zu sein. Wahrscheinlich nicht mein bevorzugtes Werkzeug für dieses Problem, da der halbe Aufwand darin zu bestehen scheint, das Werkzeug einzurichten, und dies bedeutet für mich, dass Sie ein tieferes Verständnis des Problems haben, als es für ein Forschungsszenario angemessen ist.
Entscheidungsmatrix - das ist näher an dem, was ich normalerweise verwendet habe. Leider muss ich mir deshalb Zeit nehmen, um meine Gedanken zu ordnen. Das Lesen dieser Seite lässt einen relativ unkomplizierten Prozess wie Raketenwissenschaft/Promotionsmaterial erscheinen. Ich muss einen Weg finden, dies auf den eigentlichen Prozess zu vereinfachen.
Grundsätzlich reduzieren all diese Tools das Problem auf eine Wahl und eine Reihe von Faktoren, die diese Wahl beeinflussen. Erstellen eines trivialen Beispiels, wenn ich eine Reihe von Softwareanforderungen (funktional und nicht funktional) {R} und die Wahl zwischen Architektur A oder B habe.
Kann jedes r in {R} einfacher in A oder B ausgedrückt werden? Gibt es in der Literatur Beispiele für erfolgreiche Implementierungen? Gibt es bekannte Einschränkungen?
Gibt es relevante Ressourcenbeschränkungen für A oder B? (Verfügen wir über die entsprechenden Mitarbeiterqualifikationen? Unterstützt unsere beabsichtigte Hardware? Müssen wir Infrastruktur-/Logistikunterstützung bereitstellen, um die Software zu vermarkten?) – NFRs wie Leistung, Sicherheit und Logistik können hier auftauchen.
Ich werde das Beispiel hier wirklich trivial machen, aber wenn die Wahl zwischen Architektur A und B besteht und die Faktoren, die die Wahl beeinflussen, R1, R2, R3 sind, müssen wir den Faktoren Gewichte zuweisen (R1 ist 5-mal so groß wie wertvoll wie R3; R2 ist halb so wertvoll wie R1). Zu Beginn der Suche sind A & 5 jeweils zu 50 % wahrscheinlich. Wenn wir relevante Papiere identifizieren, werden sie die Gewichtung beeinflussen. Wenn wir eine Reihe von Papieren finden, die darauf hindeuten, dass Architektur A wiederholt verwendet wurde, um Anforderungen wie R1 und R3 zu erfüllen, dann wenden wir die entsprechenden Gewichtungen an, um zu Architektur A zu wechseln verwendet wurde, um R2 zu unterstützen, wird dies eine geringere, ausgleichende Wirkung haben.
Zurück zu Ihrer grundlegenden Frage: Wie verwende ich diese, um meine Suche einzugrenzen? Wie messe ich den Fortschritt in Richtung „Fertig“?
Ich denke immer noch, dass das grobe Maß, und das, das ich für den Alltag verwenden würde, ein lineares Maß für die Erschöpfung meines Suchraums ist. Unelegant, aber ich bin bereit zu wetten, dass es nah genug sein wird. (Es ist früh am Morgen, und mir fällt kein Name für die Klasse von Metriken ein, die wie das Wetter von gestern sind ; peinlich einfach, aber gut genug für praktische Zwecke.)
Ich würde auch davon ausgehen, dass ich früh die wertvollsten Ergebnisse finden werde. Ich würde das Intervall zwischen dem Finden nützlicher Ergebnisse berechnen und die Kurve der Tage zwischen interessanten Ergebnissen zeichnen - ich bin bereit zu wetten, dass diese Kurve eine vertraute Long-Tail-Kurve sein wird und dass ich damit ungefähr vorhersagen kann, wie lange es dauern wird mich, um das nächste interessante Ergebnis zu finden. (Es ist zu 80 % wahrscheinlich, dass es zwischen 5 und 10 Tagen dauert, bis das nächste interessante Ergebnis gefunden wird).
Ich kann mir das Entscheidungsgewicht (Architektur B führt zu 80 % bis 20 %) und die vorhergesagte Zeit bis zum nächsten interessanten Artikel (80 % wahrscheinlich bis zu 10 Tage) ansehen und die Wahrscheinlichkeit abschätzen, dass ich einen oder mehrere Artikel finde die sich auf die Gewichtung um über 16 % auswirken, liegt unter einem bestimmten Schwellenwert. Und damit kann ich meine Literatursuche vorzeitig beenden.
Tiago Cardoso
Daniel
Ilja Palatschew
Ilja Palatschew