Was ist der Unterschied zwischen einem Fehler und einer Änderungsanforderung in MSF für CMMI?

StackOverflow https://stackoverflow.com/questions/5329

Frage

Ich evaluiere gerade das MSF for CMMI Prozessvorlage unten TFS zur Verwendung in meinem Entwicklungsteam, und ich habe Schwierigkeiten, die Notwendigkeit separater Fehler- und Änderungsanforderungs-Arbeitselementtypen zu verstehen.

Ich verstehe, dass es von Vorteil ist, bei der Erstellung von Berichten zwischen Bugs (Fehlern) und Änderungswünschen (sich ändernden Anforderungen) unterscheiden zu können.

In unserem aktuellen System gibt es jedoch nur eine einzige Art von Änderungsanforderung und wir verwenden lediglich ein Feld, um anzugeben, ob es sich um einen Fehler, eine Anforderungsänderung usw. handelt (dieses Feld kann zum Erstellen von Berichtsabfragen verwendet werden).

Welche Vorteile bietet ein separater Workflow für Fehler?

Mich verwirrt auch die Tatsache, dass Entwickler Arbeiten gegen einen Fehler einreichen können oder Ich dachte, dass der beabsichtigte Arbeitsablauf darin besteht, dass Fehler Änderungsanfragen generieren, auf die sich der Entwickler bezieht, wenn er Änderungen vornimmt.

War es hilfreich?

Lösung

@Luke

Ich widerspreche Ihnen nicht, aber dieser Unterschied ist in der Regel die Erklärung dafür, warum für die Behandlung der beiden Arten von Problemen zwei unterschiedliche Prozesse zur Verfügung stehen.

Ich würde sagen, wenn die Farbe der Homepage ursprünglich rot sein sollte und aus irgendeinem Grund blau ist, lässt sich das leicht schnell beheben und erfordert nicht den Einsatz vieler Leute oder Arbeitsstunden, um die Änderung vorzunehmen.Checken Sie einfach die Datei aus, ändern Sie die Farbe, checken Sie sie wieder ein und aktualisieren Sie den Fehler.

Wenn jedoch die Farbe der Homepage rot sein sollte und rot ist, aber jemand denkt, dass sie blau sein muss, ist das für mich jedenfalls eine andere Art von Änderung.Hat jemand beispielsweise darüber nachgedacht, welche Auswirkungen dies auf andere Teile der Seite haben könnte, etwa auf Bilder und Logos, die den blauen Hintergrund überlagern?Könnte es Grenzen von Dingen geben, die schlecht aussehen?Die Unterstreichung des Links ist blau. Wird das angezeigt?

Ich bin zum Beispiel rot-grün-blind, daher nehme ich es nicht auf die leichte Schulter, die Farbe von etwas zu ändern.Es gibt genug Webseiten im Internet, die mir Probleme bereiten.Ich möchte nur darauf hinweisen, dass selbst die trivialste Änderung nicht trivial sein kann, wenn man alles bedenkt.

Die tatsächliche Endimplementierungsänderung ist wahrscheinlich weitgehend dieselbe, für mich jedoch eine Änderungsanfrage Ist ein anderes Biest, gerade weil mehr darüber nachgedacht werden muss, um sicherzustellen, dass es wie erwartet funktioniert.

Ein Fehler ist jedoch, dass jemand gesagt hat So werden wir es machen und dann hat es jemand anders gemacht.

Ein Änderungsantrag ist eher so Aber wir müssen auch diese andere Sache berücksichtigen ...Hmm....

Natürlich gibt es Ausnahmen, aber lassen Sie mich Ihre Beispiele auseinandernehmen.

Wenn der Server war entworfen um mehr als 300.000.000.000 Seitenaufrufe zu verarbeiten, dann ist es ja ein Fehler, dass dies nicht der Fall ist.Aber einen Server so zu entwerfen, dass er so viele Seitenaufrufe verarbeiten kann, ist mehr als nur eine Aussage Unser Server sollte 300.000.000.000 Seitenaufrufe verarbeiten, es sollte ein enthalten sehr detaillierte Spezifikationen, wie dies erreicht werden kann, bis hin zu Verarbeitungszeitgarantien und durchschnittlichen Zugriffszeiten auf die Festplatte.Wenn der Code dann genau wie geplant implementiert wird und nicht die erwartete Leistung erbringen kann, stellt sich die Frage: Haben wir es falsch konzipiert oder falsch umgesetzt?.

Ich stimme zu, dass in diesem Fall die Frage, ob es sich um einen Konstruktionsfehler oder einen Implementierungsfehler handelt, vom tatsächlichen Grund abhängt, warum der Fehler nicht den Erwartungen entspricht.Wenn beispielsweise jemand davon ausgeht, dass Festplatten 100-mal so schnell sind, wie sie tatsächlich sind, und dies als Grund dafür angesehen wird, dass der Server nicht die erwartete Leistung erbringt, würde ich sagen, dass es sich um einen Designfehler handelt und dass jemand ein neues Design durchführen muss .Wenn die ursprüngliche Anforderung von so vielen Seitenaufrufen weiterhin eingehalten werden soll, muss möglicherweise eine umfassende Neugestaltung mit mehr In-Memory-Daten und Ähnlichem vorgenommen werden.

Wenn jedoch jemand einfach nicht berücksichtigt hat, wie Raid-Festplatten funktionieren und wie man Stripe-Medien richtig nutzt, ist das ein Fehler, für dessen Behebung möglicherweise keine so großen Änderungen erforderlich sind.

Auch hier wird es natürlich Ausnahmen geben.

Auf jeden Fall ist der ursprüngliche Unterschied, den ich angegeben habe, derjenige, den ich in den meisten Fällen für zutreffend befunden habe.

Andere Tipps

Beachten Sie, dass ein Teil einer Arbeitselementtypdefinition für TFS die Definition seines „Workflows“ ist, d. h. die Zustände, die das Arbeitselement haben kann, und die Übergänge zwischen den Zuständen.Dies kann durch eine Sicherheitsrolle gesichert werden.

Im Allgemeinen wird also ein „Änderungsantrag“ von jemandem initiiert und genehmigt, der relativ hoch oben in einer Organisation steht (jemand mit „Sponsoring“-Rechten im Zusammenhang mit der Aufwendung der Ressourcen, um eine (möglicherweise sehr große) Änderung am System vorzunehmen.Letztendlich wäre diese Person diejenige, die bestätigt, dass die Änderung erfolgreich durchgeführt wurde.

Bei einem „Bug“ sollte jedoch JEDER Benutzer der Anwendung in der Lage sein, einen Bug zu initiieren.

In einer Organisation, in der ich TFS implementiert habe, können nur Abteilungsleiter die Urheber einer „Änderungsanfrage“ sein – aber „Bugs“ wurden aus „Helpdesk“-Tickets erstellt (nicht automatisiert, nur durch den Prozess ...)

Obwohl ich nicht für CMM sprechen kann, werden Änderungsanfragen und Fehler im Allgemeinen unterschiedlich behandelt und berücksichtigt, da sie sich normalerweise auf verschiedene Teile Ihres Anwendungslebenszyklus beziehen.

Ein Fehler ist ein Fehler in Ihrer Programmimplementierung.Wenn Sie Ihr Programm beispielsweise so gestalten, dass es zwei Zahlen addieren und dem Benutzer die Summe geben kann, besteht ein Fehler darin, dass es negative Zahlen nicht korrekt verarbeitet, und somit ein Fehler.

Eine Änderungsanforderung liegt vor, wenn Sie einen Konstruktionsfehler haben.Beispielsweise könnten Sie ausdrücklich gesagt haben, dass Ihr Programm keine negativen Zahlen verarbeiten soll.Anschließend wird ein Änderungsantrag gestellt, um diesen Teil neu zu gestalten und damit neu zu implementieren.Der Entwurfsfehler ist möglicherweise nicht beabsichtigt, sondern kann leicht darauf zurückzuführen sein, dass Sie diesen Teil einfach nicht berücksichtigt haben, als Sie Ihr Programm ursprünglich entworfen haben, oder dass neue Fälle erfunden oder entdeckt wurden, die zum Zeitpunkt der Erstellung des ursprünglichen Entwurfs noch nicht existierten seit.

Mit anderen Worten: Ein Programm funktioniert möglicherweise genau wie geplant, muss jedoch geändert werden.Dies ist eine Änderungsanfrage.


In der Regel gilt die Behebung eines Fehlers als eine wesentlich kostengünstigere Maßnahme als die Ausführung einer Änderungsanforderung, da der Fehler nie dazu gedacht war, Teil Ihres Programms zu sein.Das Design war jedoch.

Daher ist möglicherweise ein anderer Arbeitsablauf erforderlich, um die beiden unterschiedlichen Szenarien zu bewältigen.Beispielsweise haben Sie möglicherweise eine andere Möglichkeit, Fehler zu bestätigen und einzureichen, als bei Änderungsanfragen, was möglicherweise mehr Arbeit erfordert, um die Konsequenzen der Änderung darzulegen.

Ein Fehler ist ein Fehler in einer Anforderung, deren Implementierung bereits genehmigt wurde.

Ein Änderungsantrag muss einen Zyklus durchlaufen, in dem die Auswirkungen und der Aufwand für diese Änderung abgeschätzt werden müssen. Anschließend muss sie zur Implementierung genehmigt werden, bevor mit der Arbeit daran begonnen werden kann.

Die beiden unterscheiden sich unter CMM grundlegend.

Ist meine Annahme falsch, dass Änderungswünsche aus Fehlern generiert werden sollten?Ich bin verwirrt, weil ich nicht denke, dass alle Fehler automatisch zur Implementierung genehmigt werden sollten – sie können trivial sein und durchlaufen zumindest in unserem Fall denselben Überprüfungsprozess wie eine Änderungsanforderung, bevor sie einem Entwickler zugewiesen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top