Frage

Ein Erster Entwurf der Spezifikation der Anforderungen ist abgeschlossen und nun ist es an der Zeit, eine Bestandsaufnahme der Anforderungen, überprüfen Sie die Spezifikation.Teil dieses Prozesses ist zu machen Sie sicher, dass keine erheblichen Lücken in der Spezifikation.Unnötig zu sagen, dass die Lücken führen zu sehr ungenauen Schätzungen, unvermeidlich scope creep später in das Projekt und letztlich auch zu einem Todesmarsch.

Was sind die guten, effizienten Techniken zur Lokalisierung von vermissten und implizite Anforderungen?

  • Diese Frage ist über die praktische techiniques, nicht Allgemeine Hinweise, Grundsätze oder Leitlinien.
  • Fehlende Anforderungen ist alles entscheidend für die Vollständigkeit der Ware oder Dienstleistung aber nicht gedacht, oder vergessen,
  • Implizite Anforderungen sind etwas, das die Benutzer oder Kunden natürlich davon ausgehen wird, um ein standard-Teil der software werden, ohne dass explizit danach gefragt.

Ich bin glücklich, wieder besuchen akzeptierten Antworten, solange jemand trägt, besser, mehr umfassende Lösung.

War es hilfreich?

Lösung

bewerten den Lebenszyklus der Elemente des Modells in Bezug auf ein generisches / Gesamtmodell wie

acquisition --> stewardship --> disposal
  • Sie wissen, wo jedes Wesen herkommt und wie sind Sie es in Ihr System in Gang bringen?
  • weißt du, wo jede Einheit, einmal erworben, befinden wird, und für wie lange?
  • Sie wissen, was mit jeder Einheit zu tun, wenn es nicht mehr benötigt wird?

für eine feinere Analyse des Lebenszyklus der Entitäten in der Spezifikation, machen Sie eine ROH Matrix für die größeren Unternehmen in den Anforderungen; Dies ist eine Matrix mit den Operationen / Anwendungen wie die Zeilen und den Entitäten als die Spalten. In jeder Zelle, legte eine C, wenn die Anwendung die Entität erstellt, R für Lese-, U für Updates, D für Löschungen oder E für „Edits“; 'E' umfasst C, R, U, und D (die meist 'master Tabellenpflege' Anwendungen werden Es). Dann überprüft jede Spalte für C, R, U, und D (oder E); wenn man (außer E) fehlt, herauszufinden, ob es erforderlich ist. Die Zeilen und Spalten der Matrix (manuell oder unter Verwendung von Affinitätsanalyse) neu angeordnet werden, kohäsive Gruppen von Einheiten und Anwendungen zu bilden, das im allgemeinen auf Subsystemen entsprechen; dies mit physikalischer System Verteilung später helfen kann.

Es ist auch sinnvoll, eine „User“ Entität Spalte in die ROH Matrix addieren und für jede Anwendung (oder eine Funktion oder Funktionsbereich oder was auch immer Sie die Verarbeitung / Verhaltensaspekte der Anforderungen nennen will) angeben, ob es eine Eingabe nimmt ab der Benutzer, erzeugt eine Ausgabe für den Benutzer oder Interagiert mit dem Benutzer (ich benutze ich, O und N für diesen, und immer den Benutzer der erste Spalte machen). Dies hilft bei der Identifizierung, wo Benutzer-Schnittstellen für die Dateneingabe und Berichte erforderlich.

Das Ziel ist es, die Vollständigkeit der Spezifikation zu überprüfen; wenn der Lebenszyklus der Unternehmen die Techniken sind oben nützlich, um zu prüfen sind ‚geschlossen‘ in Bezug auf die Personen und identifiziert Anwendungen

Andere Tipps

Fortsetzung, häufige, frank und Zwei-Wege-Kommunikation mit dem Kunden erscheint mich als Haupt ‚Technik‘ so weit ich bin besorgt.

Es hängt davon ab.

Es hängt davon ab, ob Sie bezahlt werden wird, zu liefern, was Sie sagen, Sie liefern würden oder qualitativ hochwertige Software an den Kunden zu liefern.

Wenn die ehemaligen, beseitigen einfach Mehrdeutigkeit aus den Spezifikationen und dann bauen, was Sie vereinbart. Versuchen Sie zu bleiben weg von allem, was nicht messbar (wie "schnell", "cool", "bissig", etc ...).

Wenn das letztere, was Galwegian sagte + Zeit oder einfach alles schneiden nicht absolut umwerfend kritisch und bauen, dass so schnell wie möglich. Die Produktion hat eine bemerkenswerte Art und Weise zu beleuchten, was Sie in Analysis verpasst.

Hier ist, wie Sie die fehlenden Anforderungen.

  1. die Anforderungen lassen sich in winzig kleinen Schritten. Wirklich klein. Etwas, das in zwei Wochen oder weniger gebaut werden kann. Sie werden eine Menge Lücken finden.

  2. priorisieren diejenigen in dem, was zuerst zu haben, wäre am besten, was als nächstes kommt darauf an, was nicht wirklich wichtig, sehr viel. Sie werden feststellen, dass einige der Füllsender spielte keine Rolle. Sie werden auch feststellen, dass einige der ursprünglichen „Anforderungen“ sind nur wünschenswert.

  3. Debatte über die Meinungsverschiedenheiten darüber, was am wichtigsten ist für die Endbenutzer und warum. Zwei Benutzer werden drei Meinungen. Sie werden feststellen, dass einige Benutzer keine Ahnung haben, und keine ihrer „Anforderungen“ sind erforderlich. Sie werden feststellen, dass einige Leute keine Wirbelsäule haben, und Dinge, die sie nicht mutig genug, um laut zu sagen „erforderlich“.

  4. Holen Sie sich ein Konsens über die oberen zwei oder drei nur. Nicht jede Nuance ausdiskutieren. Es ist nicht möglich, Software vorzustellen. Es ist nicht möglich, dass jemand vorstellen, welche Software aussehen wird und wie sie es verwenden. Die meisten Menschen die „Anforderungen“ beschrieben wird, wie der Kampf um die unzureichenden Geschäftsprozesse arbeiten sie mit heute nicht weiterkommen.

  5. Erstellen Sie die höchste Priorität, wichtigsten Teil zuerst. Geben Sie es für die Benutzer.

  6. GOTO 1 und wiederholen Sie den Vorgang.

„Warte,“ Sie sagen: „Was ist mit dem Gesamtbudget?“ Was ist damit? Sie können nie das Gesamtbudget wissen. Führen Sie die folgenden.

Schauen Sie bei jedem Schritt in Schritt 1 definiert einen Preis-pro-Zuwachs sorgen. In Prioritätsreihenfolge. Auf diese Weise kann jemand so viel oder so wenig wählen, wie sie wollen. Es gibt keine große, scary „Big Haushalts Estimate Mit Viel Zeroes“. Es ist alles verhandelbar.

Ich habe eine Modellierungsmethode wurde namens Verhalten Engineering (BE), die die ursprüngliche Spezifikation Text verwendet das resultierende Modell zu erstellen, wenn Sie das Modell haben es einfacher ist, fehlende oder unvollständige Abschnitte der Anforderungen zu identifizieren.

so weit reichen von weniger als houndred Anforderungen auf über 1300 Anforderungen

Ich habe die Methodik auf etwa sechs Projekten. Wenn Sie mehr wissen wollen, würde ich vorschlagen, um www.behaviorengineering.org gibt einige wirklich gute Papiere in Bezug auf die Methodik .

Das Unternehmen für die ich arbeite hat ein Tool zur Durchführung der Modellierung erstellt. Die Arbeitsleistung, um tatsächlich das Modell zu erstellen, ist etwa 5 Anforderungen für einen Anfänger und einen Experten etwa 13 Anforderungen pro Stunde. Die kühle Sache über die Methodik, die Sie benötigen, um die Domain weiß wirklich nicht, etwas über die Spezifikation geschrieben. nur den Benutzer Text über wie Substantive und Verben, die Modellierer werden Lücken im Modell in kürzester Zeit finden.

Ich hoffe, das hilft

Michael Larsen

Wie wäre es, einen Prototyp bauen?

Während der Lektüre Tonnen von Literatur über software-Anforderungen, fand ich diese zwei interessante Bücher:

Diese zwei Autoren, die wirklich von der Masse abheben, weil in meiner bescheidenen Meinung nach, ein wirklich guter Versuch, die wiederum die Entwicklung von Anforderungen in einer sehr systematischen Prozess - mehr wie Technik als Kunst oder schwarze Magie.Insbesondere, Michael Jackson ' s definition, welche Anforderungen wirklich sind - ich denke, es ist die sauberste und Genaueste, die ich je gesehen habe.

Ich würde nicht einen guten Dienst zu tun, um diese Autoren versuchen, beschreiben Sie Ihre Vorgehensweise in einem kurzen posting hier.So werde ich nicht tun.Aber ich werde versuchen zu erklären, warum Ihr Ansatz scheint zu sein, sehr relevant für Ihre Frage:es ermöglicht Ihnen zum einkochen die meisten (nicht alle, aber die meisten!) Sie Anforderungen Entwicklung arbeiten, um die Verarbeitung einer Reihe von check-Listen* sagen Sie, welche Anforderungen Sie haben, um zu definieren, zu decken alle wichtigen Aspekte der gesamten customer ' s problem.In anderen Worten, dieser Ansatz soll das Risiko minimieren, fehlen wichtige Anforderungen (einschließlich derer, die bleiben oft implizit).

Ich weiß, es klingt nach Magie, ist es aber nicht.Es dauert noch eine erhebliche geistige Anstrengung zu kommen, um diesen "magischen" check-Listen:Sie haben zu artikulieren, der Kunde die problem Erstens, dann analysieren Sie ihn gründlich aus, und schließlich sezieren es in der sogenannten "problem-frames" (die kommen mit die magischen check-Listen nur, wenn Sie eng mit ein paar typisches problem, das die frames definiert durch die Autoren).Wie ich schon sagte, dieser Ansatz funktioniert nicht Versprechen, machen alles einfach.Aber es ist definitiv verspricht Anforderungen Entwicklungsprozess so systematisch wie möglich.

Wenn Anforderungen, die Entwicklung in Ihrem aktuellen Projekt ist schon ziemlich weit von der sehr Anfang, ist es möglicherweise nicht möglich, zu versuchen, das Problem Frames Approach an dieser Stelle (obwohl es stark davon abhängig, wie Ihre aktuellen Anforderungen organisiert sind).Trotzdem, ich empfehle, Lesen Sie diese beiden Bücher - Sie enthalten viel Weisheit, dass Sie möglicherweise noch in der Lage sein, zu übernehmen, um das aktuelle Projekt.

Meine Letzte wichtige Anmerkungen zu diesen Büchern:

  • Soweit ich das verstanden habe, HerrJackson ist der ursprüngliche Autor der Idee von "problem-frames".Sein Buch ist sehr akademisch und theoretisch, aber es ist sehr, sehr lesenswert und auch unterhaltsam.

  • HerrKovitz " Buch versucht zu zeigen, wie Mr.Jackson Ideen, die angewendet werden können in der realen Praxis.Es enthält auch Tonnen von nützlichen Informationen über das verfassen und organisieren der tatsächlichen Bedürfnisse und Anforderungen Dokumente.

Sie können wahrscheinlich beginnen, von der Kovitz " Buch (und beziehen sich auf Mr.Jackson Buch nur, wenn Sie wirklich brauchen, um tiefer zu Graben, auf der theoretischen Seite).Aber ich bin sicher, dass am Ende des Tages, sollten Sie Lesen Bücher, und Sie werden es nicht bereuen, dass.:-)

HTH...

Ich bin mit Galwegian. Die beschriebene Technik ist wesentlich effizienter als der „für Kunden warten auf uns schreien“ -Ansatz.

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