Ich habe die letzten drei Monate in einer erschöpfenden - und anstrengenden - Phase verbracht, in der die Anforderungen eines Großprojekts gesammelt wurden, und vor allem festgestellt, dass es keine einheitliche Lösung gibt . Es gibt keinen Prozess, kein Geheimnis, das in jedem Fall funktionieren wird. Die Anforderungsanalyse ist eine echte Fähigkeit, und wenn Sie glauben, endlich alles herausgefunden zu haben, werden Sie einer völlig anderen Gruppe von Menschen ausgesetzt und müssen alles, was Sie wissen, aus dem Fenster werfen.
Unterschiedliche Stakeholder denken auf unterschiedlichen Abstraktionsebenen.
Es ist leicht zu sagen, "auf geschäftlicher Ebene zu sprechen, nicht technisch", aber es ist nicht unbedingt so einfach zu tun . Das System, das Sie entwerfen, ist ein Elefant, und Ihre Interessengruppen sind die Blinden, die es untersuchen . Manche Menschen sind so tief in der Prozess- und Routine eingetaucht , dass sie nicht einmal erkennen , dass es ist ein Geschäft. Andere mögen auf der von Ihnen gewünschten Abstraktionsebene arbeiten, neigen jedoch dazu, übertriebene oder sogar falsche Behauptungen aufzustellen oder sich auf Wunschdenken einzulassen.
Leider muss man einfach alle Individuen als Individuen kennenlernen und verstehen, wie sie denken, wie sie die Dinge interpretieren, die sie sagen, und sogar entscheiden, was zu ignorieren ist.
Teilen und Erobern
Wenn Sie nicht möchten, dass etwas erledigt wird, senden Sie es an ein Komitee.
Treffen Sie sich nicht mit Komitees. Halten Sie diese Besprechungen so klein wie möglich. YMMV, aber meiner Erfahrung nach ist die ideale Größe 3-4 Personen (einschließlich Sie selbst) für offene Sitzungen und 2-3 Personen für geschlossene Sitzungen (dh wenn Sie eine bestimmte Frage beantwortet haben müssen).
Ich versuche, Leute zu treffen, die ähnliche Funktionen im Geschäft haben. Es gibt wirklich sehr wenig zu gewinnen und sehr viel zu verlieren, wenn man die Marketing-Leute mit den Bohnenzählern in den Raum wirft. Suchen Sie die Experten auf, die sich mit einem Thema auskennen, und lassen Sie sie über dieses Thema sprechen.
Ein Meeting ohne Vorbereitung ist ein Meeting ohne Zweck.
In einigen anderen Antworten / Kommentaren wurde auf die Strohmann-Technik verwiesen, die sich hervorragend für diejenigen eignet, die Probleme haben und auf die man scheinbar keine Antworten hat. Aber verlassen Sie sich nicht zu sehr auf Strohmänner, sonst fühlen sich die Leute, als würden Sie sie beschimpfen. Man muss die Leute sanft in die richtige Richtung schubsen und sie sich die Einzelheiten selbst überlegen lassen, damit sie das Gefühl haben, sie zu besitzen (und in gewissem Sinne besitzen sie sie auch).
Was Sie brauchen, ist eine Art mentales Modell dafür, wie das Geschäft funktioniert und wie das System funktionieren sollte . Sie müssen Domain-Experte werden , auch wenn Sie kein Experte für das betreffende Unternehmen sind. Informieren Sie sich so ausführlich wie möglich über Ihr Unternehmen, seine Konkurrenten, die auf dem Markt befindlichen Systeme und alles andere, was möglicherweise auch nur aus der Ferne in Zusammenhang steht.
Zu diesem Zeitpunkt fand ich es am effektivsten, mit Konstrukten auf hoher Ebene wie Use Cases zu arbeiten, die in der Regel für jedermann akzeptabel sind, aber es ist immer noch wichtig, bestimmte Fragen zu stellen. Wenn Sie mit "Wie rechnen Sie Ihren Kunden ab?" Sie sind in einem sehr langen Treffen. Stellen Sie Fragen, die einen Prozess implizieren , anstatt den Prozess beim Loslegen zu beenden: Was sind die Werbebuchungen? Wie werden sie berechnet? Wie oft wechseln sie? Wie viele verschiedene Arten von Verkäufen oder Verträgen gibt es? Wo werden sie gedruckt? Du hast die Idee.
Wenn Sie einen Schritt verpassen, werden Sie normalerweise von jemandem darüber informiert. Wenn sich niemand beschwert, klopfen Sie sich auf den Rücken, weil Sie den Vorgang nur implizit bestätigt haben.
Verschieben Sie Diskussionen außerhalb des Themas .
Als Anforderungsanalyst spielen Sie auch die Rolle des Moderators. Wenn Sie nicht wirklich Spaß daran haben, Ihre gesamte Zeit in Meetings zu verbringen, müssen Sie einen Weg finden, die Dinge im Griff zu behalten. Ironischerweise wird dieses Problem am verderblichsten, wenn man die Leute endlich zum Reden bringt. Wenn Sie nicht aufpassen, kann der Zug, für den Sie so viel Zeit aufgewendet haben, entgleisen.
Aber - und das habe ich vor langer Zeit auf die harte Tour gelernt - man kann den Leuten nicht einfach sagen, dass ein Thema irrelevant ist . Es ist offensichtlich relevant für sie , sonst würden sie nicht darüber reden. Ihre Aufgabe ist es, die Leute dazu zu bringen, so oft wie möglich "Ja" zu sagen, und eine solche Barriere zu errichten, bringt Sie einfach auf "Nein".
Dies ist ein heikles Gleichgewicht, das viele Menschen mit "Aktionselementen" aufrechterhalten können - im Grunde genommen eine allgemeine Warteschlange von Diskussionen, zu denen Sie versprochen haben, irgendwann zurückzukehren , normalerweise gekennzeichnet mit den Namen der Stakeholder, die es für wirklich wichtig hielten. Dies dient nicht nur der Diplomatie, sondern ist auch ein wertvolles Hilfsmittel, um sich zu erinnern, was während der Meetings passiert ist und mit wem Sie sprechen können, wenn Sie später Abklärungen benötigen.
Verschiedene Analysten gehen unterschiedlich damit um. Einige mögen das sehr öffentliche Whiteboard oder Flipchart-Protokoll, andere tippen es leise auf ihren Laptops an und gehen vorsichtig zu anderen Themen über. Was auch immer Sie sich wohl fühlen.
Du brauchst eine Agenda
Dies gilt wahrscheinlich für nahezu jede Art von Besprechung, aber auch für Anforderungsbesprechungen. Während sich die Diskussionen hinziehen, verlieren sich die Gedanken der Menschen und sie fragen sich, wann Sie zu den Dingen kommen, die ihnen wirklich am Herzen liegen. Eine Agenda bietet eine gewisse Struktur und hilft Ihnen, wie oben erwähnt, festzustellen, wann Sie eine Diskussion verschieben müssen, die vom Thema abweicht.
Gehen Sie nicht hinein, ohne genau zu wissen, was und wann Sie abdecken möchten . Ohne das haben Sie keine Möglichkeit, Ihren eigenen Fortschritt zu bewerten, und die Benutzer hassen Sie dafür, dass Sie immer lange laufen (vorausgesetzt, sie hassen Sie nicht bereits aus anderen Gründen).
Verspotte es
Wenn Sie PowerPoint oder Visio als Mock-up-Tool verwenden, leidet das Problem, dass es zu poliert aussieht . Es ist fast ein unheimliches Tal von Benutzeroberflächen; Menschen fühlen sich wohl mit Serviettenzeichnungen (oder computergenerierten Zeichnungen, die wie Serviettenzeichnungen aussehen, wenn sie ein Werkzeug wie Balsamiq oder Sketchflow verwenden ), weil sie wissen, dass es nicht das Richtige ist - der gleiche Grund, warum Menschen Zeichentrickfiguren sehen können. Aber je mehr es aussieht wie eine echte Benutzeroberfläche, desto mehr Menschen werden daran interessiert sein, und desto mehr Zeit werden sie damit verbringen, über Details zu streiten, die letztendlich bedeutungslos sind.
Machen Sie auf jeden Fall Mock-ups, um Ihr Verständnis der Anforderungen zu testen ( nach den anfänglichen Analysephasen). Auf diese Weise erhalten Sie sehr schnell und ausführlich Feedback. Sie sind sich ziemlich sicher, dass Sie Ihren Nutzern auf Augenhöhe begegnen.
Denken Sie daran, dass ein Mock-up kein Ergebnis ist , sondern ein Hilfsmittel zum besseren Verständnis. So wie Sie beim UI-Design nicht erwarten würden, dass Sie an Ihrem Mock festhalten, können Sie nicht davon ausgehen, dass das Design in Ordnung ist, nur weil sie Ihrem Mock-up die Daumen hoch gaben. Ich habe Mocks gesehen, die als Krücke oder schlimmer noch als Ausrede benutzt wurden, um die Anforderungen gänzlich zu umgehen. Stellen Sie sicher, dass Sie das nicht tun. Gehen Sie zurück und verwandeln Sie diesen Schein in eine Reihe realer Anforderungen.
Sei geduldig.
Dies ist für viele Programmierer schwer zu glauben, aber für die meisten nicht-trivialen Projekte kann man sich nicht einfach einmal hinsetzen und eine komplette Funktionsspezifikation ausarbeiten. Ich spreche nicht nur von Geduld während eines einzigen Meetings. Die Anforderungsanalyse ist genauso iterativ wie der Code. Gruppe A sagt etwas und Gruppe B sagt etwas, das völlig im Widerspruch zu dem steht, was Sie von Gruppe A gehört haben. Dann erklärt Gruppe A die Inkonsistenz und es stellt sich heraus, dass Gruppe C vergessen hat, es zu erwähnen. Wiederholen Sie 500 Mal und Sie haben etwas, das ungefähr der Wahrheit ähnelt .
Wenn Sie keine winzige CRUD-App entwickeln (in welchem Fall, warum sollten Sie sich überhaupt um die Anforderungen kümmern?), Können Sie nicht erwarten, dass Sie in einem oder zwei oder fünf Meetings alles bekommen, was Sie brauchen. Sie werden viel zuhören, viel reden und sich viel wiederholen. Was wohlgemerkt keine schreckliche Sache ist; Es ist eine Chance, eine gewisse Beziehung zu den Menschen aufzubauen, die sich zwangsläufig von Ihrem Ergebnis verabschieden werden.
Hab keine Angst davor, deine Technik zu ändern oder zu improvisieren.
Unterschiedliche Aspekte eines Projekts erfordern möglicherweise unterschiedliche Analysetechniken. In einigen Fällen funktioniert die klassische UML (Use Case / Activity Diagram) hervorragend. In anderen Fällen könnten Sie mit KSIs für Unternehmen beginnen oder ein Brainstorming mit einer Mind Map durchführen oder sich trotz meiner früheren Warnung direkt in Mockups vertiefen.
Das Fazit ist, dass Sie die Domäne selbst verstehen und Ihre Hausaufgaben machen müssen, bevor Sie die Zeit anderer verschwenden. Wenn Sie wissen, dass eine bestimmte Abteilung oder Komponente nur einen Anwendungsfall hat, dieser jedoch wahnsinnig kompliziert ist, überspringen Sie die Anwendungsfallanalyse und sprechen Sie über Workflows oder Datenflüsse. Wenn Sie nicht für jeden Teil einer App-Implementierung dasselbe Tool verwenden würden, warum würden Sie dann für jeden Teil der Anforderungen dasselbe Tool verwenden?
Halte dein Ohr am Boden.
Von allen Hinweisen und Tipps, die ich für die Anforderungsanalyse gelesen habe, ist dies wahrscheinlich derjenige, der am häufigsten übersehen wird. Ich glaube ehrlich, ich habe mehr über das Abhören und gelegentliche Abstürzen von Gesprächen mit Wasserkühlern gelernt als über geplante Meetings.
Wenn Sie es gewohnt sind, isoliert zu arbeiten, versuchen Sie, einen Ort zu finden, an dem die Aktion stattfindet, damit Sie das Geschwätz hören können. Wenn Sie nicht können, dann machen Sie einfach häufige Runden, in die Küche oder ins Badezimmer oder wo auch immer. Sie werden alle möglichen interessanten Dinge darüber herausfinden, wie das Geschäft wirklich funktioniert, wenn Sie hören, was die Leute während ihrer Kaffee- und Rauchpausen prahlen oder sich darüber beschweren.
Zuletzt lesen Sie zwischen den Zeilen .
Einer meiner größten Fehler in der Vergangenheit war es, mich so auf das Endergebnis zu konzentrieren, dass ich mir nicht die Zeit nahm, zu hören, was die Leute sagten . Manchmal - die meiste Zeit - hört es sich so an, als würden die Leute über nichts quasseln oder über ein Verfahren harpen, das für Sie völlig sinnlos klingt, aber wenn Sie sich wirklich auf das konzentrieren, was sie sagen, werden Sie feststellen, dass es wirklich etwas gibt eine Anforderung darin begraben - oder mehrere.
So kitschig und fade es klingt, die Five Whys sind hier eine wirklich nützliche Technik. Wann immer du diese dumme Reaktion hast (nicht, dass du es jemals laut sagen würdest), halte dich zurück und verwandle sie in eine Frage: Warum? Warum werden diese Informationen viermal neu eingegeben, dann gedruckt, fotokopiert, gescannt, erneut gedruckt, auf eine Spanplatte gesteckt, mit einer Digitalkamera aufgenommen und schließlich per E-Mail an den Verkaufsleiter gesendet? Es gibt einen Grund , und sie wissen vielleicht nicht, was es ist, aber es ist Ihre Aufgabe, es herauszufinden. Viel Glück damit. ;)