Funktionelle Anforderungen identifizieren
Anforderungen werden im Allgemeinen entweder als funktionell oder als nicht-funktionell eingestuft. Funktionelle Anforderungen beschreiben, was die Lösung tun muss bzw. ihr Verhalten. Nicht-funktionelle Anforderungen beschreiben im Allgemeinen verhaltensunabhängige Aspekte der Lösung, z. B. Leistungsanforderungen. In diesem Thema werden funktionelle Anforderungen behandelt.
Jede funktionale Anforderung sollte eindeutig das „Wer“, „Was“ und „Warum“ der Anforderung erfassen. Wenn die Anforderung zu groß ist, sollte sie in kleinere Teile aufgeteilt werden.
Beispiele für funktionelle Anforderungen
Die folgenden Szenarien beschreiben einfache Beispiele für funktionale Anforderungen:
Als Vertriebsbenutzer muss ich in der Lage sein, eine Verkaufschance als „Verloren“ zu schließen und dann zu erfassen, warum sie verloren ist, damit wir in Zukunft unsere Verkaufstaktiken verbessern können.
Als Vertriebsleiter muss ich dazu in der Lage sein, einen Rabatt für ein Angebot zu genehmigen, damit ich den Gesamtpreis senken und dem Kunden einen Rabatt gewähren kann.
Als Buchhalter möchte ich daran gehindert werden, einen Batch mit ausstehenden Elementen zu schließen, damit ich ihn später nicht erneut öffnen muss.
Diese Situationen kommunizieren das „Wer“, „Was“ und „Warum“ einer Anforderung.
Die folgenden Beispiele stellen schlecht strukturierte Anforderungen dar:
Verkaufschancen können gewonnen oder verloren werden.
Der Preis sollte Rabatte widerspiegeln.
Wählen Sie in der Batch-Artikelliste die dritte Schaltfläche von links Batch schließen aus. Dadurch sollte das Batch geschlossen werden, wenn keine Artikel vorhanden sind, die dies verhindern würden.
Wenn Sie Anforderungen jeglicher Art erfassen, ist es hilfreich, die Zuordnung zum Prozess vorzunehmen, anstatt nur die Merkmale und Funktionen aufzulisten. Erstellen Sie eine Story für einen Benutzer und beschreiben Sie, wie dieser das von Ihnen entworfene System erfolgreich einsetzen wird. Sie können auf einem Whiteboard schreiben oder zeichnen, mit einem Tool einen Prozess grafisch darstellen oder jede andere Methode verwenden, die für Ihr Team in der Planungsphase, in der Sie sich gerade befinden, funktioniert. Ihr Team zerlegt die Teile später in kleinere verwertbare Elemente.
Akzeptanzkriterium
Es ist wichtig, ein klares Verständnis dafür zu haben, wann eine Anforderung als erfüllt angesehen wird. Oft hilft es, die Zufriedenheit zu dokumentieren, um festzustellen, ob die Anforderung detailliert genug ist und die richtige Größe hat. Dieser Ansatz ist auch für Testteams hilfreich, wenn sie die Implementierung der Anforderung bewerten. Schließlich sollte die Zufriedenheit der Anforderung mit dem Stakeholder überprüft werden, um sicherzustellen, dass sie korrekt ist, da sie dazu verwendet werden kann, den Umfangszuwachs zu verhindern. Der Lösungsarchitekt muss nach Akzeptanzkriterien suchen, die möglicherweise nicht erfüllt werden können, und dann verhandeln, um einen erreichbaren Kompromiss zu erzielen.
Ausnahmen erfassen
In der Regel hat eine einfache Anforderung wie das Schließen einer Transaktion einen einfachen Pfad und nur wenige Ausnahmepfade. Stellen Sie sicher, dass Sie diese Ausnahmen suchen und identifizieren, wenn Sie den erfolgreichen Pfad erfassen. Wenn Sie beginnen, sich mit dem Design zu befassen, möchten Sie sich nicht in erster Linie auf Ausnahmen konzentrieren. Sie sollten als solche behandelt werden. Wissen Sie jedoch nicht, dass sie vorhanden sind, müssen Sie das Design später überarbeiten. Denken Sie außerdem daran, zu erfassen, wie häufig die Ausnahme auftritt. Einige Ausnahmen werden am besten durch Verfahren und/oder Prozesse und nicht durch Softwareanpassungen behandelt.
Umfangszuwachs vermeiden
Wenn das Kontrollkästchen nicht aktiviert ist, würde jedes Projekt den ursprünglichen Planungs‑ und Budgetumfang erweitern. Der Lösungsarchitekt muss aufmerksam nach Anforderungen suchen, die von den ursprünglichen Annahmen abweichen. Der Projektgovernanceprozess sollte verwendet werden, um zu bewerten, wie mit diesen umgegangen werden soll, nachdem sie identifiziert wurden. Abhängig von der Vertragsstruktur des Projekts kann es häufig vorkommen, dass Anforderungen außerhalb des Umfangs, die für die Aufnahme akzeptiert werden, zu einer Änderungsreihenfolge führen. Die Tatsache zu ignorieren, dass der Umfang zunimmt, kann leicht zum Scheitern des Projekts führen.
Übung: Die funktionellen Anforderungen ermitteln
Überprüfen Sie die Teams der Woodgrove Bank, und ermitteln Sie mögliche Überschneidungen zwischen den Teams hinsichtlich der Funktionen, die sie für ihre Arbeit benötigen.
Geschäftswachstum und Anlagenverwaltung – Kommerzielle Konten mit einem jährlichen Umsatz von weniger als 1 Mrd. US-Dollar. So gesehen bezieht sich Wachstum auf die Kredite, die zur Reinvestition in die Gesellschaft verwendet werden. Diese Kunden teilen sich eine Gruppe von Kundenbetreuern und sind keiner Person zugeordnet.
Fortune 500 – Jeder Kunde dieses Geschäftsbereichs ist einem Senior Account Manager als Hauptansprechpartner für alle Bankangelegenheiten zugeordnet. Sobald ein Unternehmen in dieser Sparte verwaltet wird, bleibt es hier – auch wenn es nicht mehr unter den „Fortune 500“ gelistet ist.
Portfolio-Bewertung für Gruppen – Dieses Team verwaltet die über-/untergeordneten Konten unter einem gemeinsamen Dach für Unternehmen mit mehreren Organisationen.
Neue Geschäftsfeldentwicklung – Dieser Geschäftsbereich ist in erster Linie für das Neugeschäft zuständig. Sobald ein Konto qualifiziert und aktiv ist, wechselt es zum entsprechenden Managementteam.
Öffentlicher Sektor/Regierung/Hochschulwesen – Die Woodgrove Bank ist ein bevorzugter Kreditgeber für viele souveräne Regierungen auf der ganzen Welt und für private Universitäten. Dieses Team kümmert sich auch um die wenigen großen gemeinnützigen Organisationen, die von der Bank betreut werden.
Konsumentendarlehen – Dieses Team ist das kleinste, da Woodgrove sich auf kommerzielle Produkte konzentriert. Hochvolumige Konsumentendarlehen sind dennoch von Fall zu Fall verfügbar. Dieses Team wird nicht für externe Interessenten beworben, sondern hauptsächlich von Führungskräften von Unternehmenskunden eingesetzt.
Beziehungsmanager – Dieses Team besteht aus Mitgliedern aus jedem der anderen Teams. So wird eine konsistente Erfahrung sichergestellt, da Konten möglicherweise zwischen Teams verschoben werden und auf andere Weise interagieren. Dieses Team ermittelt auch Best Practices für Benutzer.