Geschäftsanalyse - Anforderungen Mngmt
Das Sammeln von Softwareanforderungen ist die Grundlage des gesamten Softwareentwicklungsprojekts. Das Einholen und Sammeln von Geschäftsanforderungen ist ein kritischer erster Schritt für jedes Projekt. Um die Lücke zwischen geschäftlichen und technischen Anforderungen zu schließen, müssen die Geschäftsanalysten die Geschäftsanforderungen im gegebenen Kontext vollständig verstehen, diese Anforderungen an den Geschäftszielen ausrichten und die Anforderungen sowohl den Stakeholdern als auch dem Entwicklungsteam ordnungsgemäß mitteilen.
Die wichtigsten Stakeholder wünschen sich, dass jemand die Kundenanforderungen in einfachem Englisch erklärt. Wird dies ihnen helfen, den Wert auf hohem Niveau zu verstehen? Dies wird der Schwerpunkt sein, da sie versuchen werden, die Dokumentation mit den Anforderungen abzubilden und wie BA bestmöglich kommunizieren kann.
Warum Projekte scheitern
Es gibt viele Gründe, warum Projekte scheitern, aber einige der gemeinsamen Bereiche umfassen die folgenden:
- Markt- und Strategieversagen
- Organisations- und Planungsfehler
- Qualitätsmängel
- Führungs- und Governance-Fehler
- Kompetenz-, Wissens- und Kompetenzfehler
- Engagement, Teamarbeit und Kommunikationsfehler
Im Mittelpunkt des Problems steht, dass Projekte immer komplexer werden, Änderungen auftreten und die Kommunikation eine Herausforderung darstellt.
Warum erfolgreiche Teams Anforderungsmanagement betreiben
Beim Anforderungsmanagement geht es darum, Ihr Team zu halten in-sync und Bereitstellung visibility zu dem, was innerhalb eines Projekts vor sich geht.
Für den Erfolg Ihrer Projekte ist es entscheidend, dass Ihr gesamtes Team versteht, was Sie aufbauen und warum - so definieren wir das Anforderungsmanagement. Das „Warum“ ist wichtig, weil es Kontext zu den Zielen, Rückmeldungen und Entscheidungen bietet, die über die Anforderungen getroffen werden.
Dies erhöht die Vorhersehbarkeit zukünftiger Erfolge und potenzieller Probleme und ermöglicht Ihrem Team, Probleme schnell zu beheben und Ihr Projekt pünktlich und innerhalb des Budgets erfolgreich abzuschließen. Als Ausgangspunkt ist es für alle Beteiligten wertvoll, ein grundlegendes Verständnis dafür zu haben, was Anforderungen sind und wie sie zu verwalten sind.
Beginnen wir mit den Grundlagen
Eine Anforderung ist eine Bedingung oder Fähigkeit, die ein Stakeholder benötigt, um ein Problem zu lösen oder ein Ziel zu erreichen. Eine Bedingung oder Fähigkeit, die von einem System oder System erfüllt oder besessen werden muss. Komponente zur Erfüllung eines Vertrags, einer Norm, einer Spezifikation oder anderer formal auferlegter Dokumente.
Eine Anforderung kann mit Text, Skizzen, detaillierten Modellen oder Modellen ausgedrückt werden, unabhängig davon, welche Informationen einem Ingenieur am besten mitteilen, was gebaut werden soll, und einem QS-Manager, was getestet werden soll. Abhängig von Ihrem Entwicklungsprozess verwenden Sie möglicherweise unterschiedliche Begriffe, um Anforderungen zu erfassen.
Übergeordnete Anforderungen werden manchmal einfach als bezeichnet needs oder goals. Innerhalb der Softwareentwicklungspraktiken können Anforderungen als "Anwendungsfälle", "Funktionen" oder "funktionale Anforderungen" bezeichnet werden. Noch genauer innerhalb agiler Entwicklungsmethoden werden Anforderungen häufig als erfasstepics und stories.
Unabhängig davon, wie Ihr Team sie nennt oder welchen Prozess Sie verwenden. Anforderungen sind für die Entwicklung aller Produkte von wesentlicher Bedeutung. Ohne klare Definition der Anforderungen können Sie ein unvollständiges oder fehlerhaftes Produkt produzieren. Während des gesamten Prozesses können viele Personen an der Definition von Anforderungen beteiligt sein.
Ein Stakeholder kann eine Funktion anfordern, die beschreibt, wie das Produkt bei der Lösung eines Problems einen Mehrwert bietet. Ein Designer kann eine Anforderung definieren, die darauf basiert, wie das Endprodukt unter dem Gesichtspunkt der Benutzerfreundlichkeit oder der Benutzeroberfläche aussehen oder funktionieren soll.
Ein Geschäftsanalyst kann eine Systemanforderung erstellen, die bestimmten technischen oder organisatorischen Einschränkungen entspricht. Für die Entwicklung anspruchsvoller Produkte und Softwareanwendungen von heute sind häufig Hunderte oder Tausende von Anforderungen erforderlich, um den Umfang eines Projekts oder einer Version ausreichend zu definieren. Daher ist es unerlässlich, dass das Team in der Lage ist, auf jede Anforderung zuzugreifen, zusammenzuarbeiten, sie zu aktualisieren und bis zum Abschluss zu testen, da sich die Anforderungen im Laufe des Entwicklungsprozesses natürlich ändern und im Laufe der Zeit weiterentwickeln.
Nachdem wir den Wert des Anforderungsmanagements auf hoher Ebene definiert haben, gehen wir näher auf die vier Grundlagen ein, die jedes Teammitglied und jeder Stakeholder vom Verständnis profitieren kann.
- Planen Sie gute Anforderungen: "Was zum Teufel bauen wir?"
- Zusammenarbeit und Buy-In: „Genehmigen Sie die Spezifikation bereits!“
- Rückverfolgbarkeit und Änderungsmanagement: "Warten Sie, wissen die Entwickler, dass sich dies geändert hat?"
- Qualitätssicherung: „Hallo, hat jemand dieses Ding getestet?“
Weiß jeder, was wir bauen und warum? Das ist der Wert des Anforderungsmanagements.
Zusammenarbeit und Buy-In von Stakeholdern
Ist jeder auf dem Laufenden? Haben wir eine Genehmigung für die Anforderungen, um vorwärts zu kommen? Diese Fragen tauchen während der Entwicklungszyklen auf. Es wäre großartig, wenn sich alle auf Anforderungen einigen könnten, aber bei großen Projekten mit vielen Stakeholdern geschieht dies normalerweise nicht. Der Versuch, alle zu einer Einigung zu bringen, kann dazu führen, dass Entscheidungen verzögert oder gar nicht getroffen werden. Es ist nicht immer einfach, bei jeder Entscheidung einen Konsens zu erzielen.
In der Praxis möchten Sie nicht unbedingt einen „Konsens“, sondern ein „Buy-In“ der Gruppe und eine Genehmigung durch die Verantwortlichen, damit Sie das Projekt vorantreiben können. Mit Konsens versuchen Sie, alle dazu zu bringen, Kompromisse einzugehen und sich auf die Entscheidung zu einigen. Mit Buy-In versuchen Sie, die Leute dazu zu bringen, die beste Lösung zu unterstützen, eine kluge Entscheidung zu treffen und das Notwendige zu tun, um vorwärts zu kommen.
Sie müssen nicht alle zustimmen, dass die Entscheidung die beste ist. Sie brauchen jeden, der die Entscheidung unterstützt. Teamzusammenarbeit kann dabei helfen, Unterstützung bei Entscheidungen zu erhalten und gute Anforderungen zu planen.
Kollaborative Teams arbeiten hart daran, sicherzustellen, dass jeder an Projekten beteiligt ist und Feedback gibt. Kollaborative Teams tauschen kontinuierlich Ideen aus, haben in der Regel eine bessere Kommunikation und unterstützen Entscheidungen, die getroffen werden, weil ein gemeinsames Gefühl des Engagements und des Verständnisses für die Ziele des Projekts besteht.
Wenn Entwickler, Tester oder andere Stakeholder sich „out of the loop“ fühlen, treten Kommunikationsprobleme auf, die Leute werden frustriert und Projekte verzögern sich. Sobald sich alle für den Arbeitsumfang entschieden haben, müssen die Anforderungen klar und gut dokumentiert sein. Wenn Sie alle Anforderungen im Auge behalten, wird es schwierig.
Stellen Sie sich vor, Sie hätten eine kilometerlange Aufgabenliste, bei der Sie mit mehreren Personen zusammenarbeiten müssen, um sie zu vervollständigen. Wie würden Sie all diese Dinge gerade halten? Wie würden Sie verfolgen, wie sich eine Änderung an einem Element auf den Rest des Projekts auswirken würde? Hier schaffen Rückverfolgbarkeit und Änderungsmanagement einen Mehrwert.