Der Acolad-Blog

Der funktionale Analyst – der "Spielmacher" Ihres agilen Web-Teams

Geschrieben von Joris Bekaert | 03.07.2018 07:00:00

Die meisten durch Acolad geleiteten WCMS-Projekte verwenden agile Verfahren. Darum benutzen wir sie – weil uns bewusst ist, dass die Konzepte und Ideen hinter diesen Methoden zu Produkten führen, die unseren Kunden einen höheren Nutzen bieten. Aber wie beeinflusst dieser Ansatz die traditionelle Rolle des funktionalen Analysten in einem Projekt?

In einem klassischen Wasserfall-Ansatz ist die Arbeit des Analysten klar definiert. Er erfasst alle Anforderungen, legt die funktionalen Spezifikationen fest und übergibt nach Abschluss ein umfassendes Dokument an das Entwicklerteam, das daraufhin die Anwendung wie angegeben erstellt. In einer agilen Welt ist die Rolle des Analytikers weniger klar. In agilen Projekten arbeitet ein multidisziplinäres Projektteam zusammen an der schnellen Bereitstellung von kleinen Werkstücken des Produkts. Dies geschieht in kurzen, aufeinanderfolgenden Arbeitszeiten, sogenannten Sprints. Im Rahmen der Dokumentation besagt die Regel, dass eine "angemessene Menge" an Dokumentation zur Verfügung gestellt werden sollte.

Aber was bedeutet dies in der Praxis? Bleibt die Rolle des funktionalen Analysten überhaupt noch bestehen? Werden alle Analyse- und Dokumentationsaktivitäten vom Entwicklerteam durchgeführt? Werden alle schriftlichen Anforderungen vollständig durch anklickbare Prototypen ersetzt, die wiederum selbsterklärend sind?

Die Web-Teams

Wenn wir uns das Team eines standardmäßigen Webprojekts ansehen, finden wir normalerweise folgende Aufstellung vor: den Kunden (Geschäft und IT), ein UX- und Designteam, das für Konzept und Grafikdesign verantwortlich ist, einen Hosting-Partner und das Implementierungsteam.

Das Implementierungsteam von Acolad besteht normalerweise aus folgenden Rollen: Projektmanager, Frontend-Entwickler, funktionaler Analyst, technischer Leiter, Architekt, Infrastrukturspezialist und WCMS-Entwickler. Jede Rolle muss nicht unbedingt von einer anderen Person ausgefüllt werden. In kleineren Projekten kann die Rolle des Architekten oder des Infrastrukturspezialisten auch von der technischen Leitung übernommen werden.

Wenn wir aber die Rolle des funktionalen Analysten betrachten, müssen wir feststellen, dass sie in den meisten Fällen von einer separaten Person ausgeführt wird. Bedeutet dies aber, dass diese Aufgabe für ein etwas technischeres Profil zu spezifisch ist? Ganz und gar nicht. In der Praxis funktioniert es allerdings besser, wenn eine bestimmte Person die Führung für die typische Arbeit eines funktionalen Analysten übernimmt. Das bedeutet aber nicht, dass andere Teammitglieder nicht in den Analyseprozess einbezogen werden können. Der Analyst ist federführend bei der Analyse und wird auch andere Teammitglieder einbeziehen, um die funktionale Lösung zu gestalten und weiter zu fördern. Alle Beteiligten sollten stets über das Produkt informiert sein, was letztendlich auch der Qualität zugute kommt.

Schauen wir uns den funktionalen Analysten im agilen Web-Projektmanagement einmal etwas genauer an

1. TAUSCHEN SIE SICH ÜBER DIE FUNKTIONALEN ASPEKTE DES BENÖTIGTEN PRODUKTS MIT DEM KUNDEN, DEM UX- UND DEM DESIGN-TEAM AUS UND DEFINIEREN SO DIE FUNKTIONALEN ANFORDERUNGEN

Bevor das grafische, funktionale und technische Design einer Website umgesetzt werden kann, ist ein Konzept der Site erforderlich. Dieses Konzept wird vom Kunden gemeinsam mit einem UX- und Design-Team konzipiert. In der Regel umfasst es eine Informationsarchitektur, einen Styleguide, ein Funktionsinventar, Wireframes sowie Prototypen zur Veranschaulichung des funktionalen Verhaltens und der Navigationsflüsse. Wichtig ist, dass das Implementierungsteam so schnell wie möglich eingebunden wird, da die Grundlagen in dieser Phase für alle zukünftigen Funktionalitäten definiert werden.

Normalerweise ist an dieser Stelle der funktionale Analyst involviert. Das Ziel ist es, die funktionalen Anforderungen hinter dem Konzept besser zu verstehen und das Konzeptteam über die Möglichkeiten und Grenzen der technischen Plattform (Web Content Management System – WCMS) in Kenntnis zu setzen. So kann sichergestellt werden, dass die entworfene Lösung auf reibungslose und kostengünstige Art in die technische Umgebung integriert werden kann. Eine frühzeitige Einbindung hilft ebenso, eine gute Beziehung zwischen allen Teammitgliedern herzustellen – was auch förderlich für das gesamte Projekt ist.

2. BEHANDELN SIE NICHT-FUNKTIONALE ANFORDERUNGEN UND EINSCHRÄNKUNGEN MIT DEM KUNDEN

Neben der funktionalen Anforderungen muss der funktionale Analyst ebenso die geschäftsbezogenen nicht-funktionalen Anforderungen ermitteln. Typische Beispiele hierfür sind Browseranforderungen, Geräteanforderungen, Sprachanforderungen und Anforderungen bei der Bedienbarkeit.

Sobald das Gesamtbild klar ist, beginnt der Entwurf des detaillierten UX-Designs und des grafischen Designs – dieser Abschnitt wird normalerweise von einer Kommunikationsagentur übernommen. Diese liefert ein Design- und UX-Entwurf für alle verschiedenen Seitentypen, die sich auf einer Website befinden können. Nachdem der Seitenentwurf fertiggestellt ist und vom Kunden abgesegnet wurde, kann der funktionale Analyst die funktionale Aufnahme der Designs ausführen. Der Zweck dieser Aufnahme ist, die implizit im Design enthaltene Funktionalität klar zu verstehen und an ihre Grenzen zu bringen. Genauer gesagt zu überprüfen, ob das funktionale Konzept logisch und einheitlich ist und ob es mit dem ausgewählten WCMS übereinstimmt. Letzteres geschieht zusammen mit der technischen Leitung. Feedback und Verbesserungsvorschläge werden an den Kunden geliefert – diese Schritte helfen dabei, das Design bereits in einem frühen Stadium zu optimieren.

Erwähnenswert im Rahmen der agilen Projektmethodik ist ebenfalls, dass der Beginn des funktionalen Aufnahmeprozesses nicht warten muss, bis die vollständige Website entworfen ist. Die Annahme genehmigter Designs kann parallel zum Design neuer Funktionalitäten ablaufen – vorausgesetzt das ganzheitliche Konzept ist klar. Dies hilft insbesondere bei der frühzeitigen technischen Analyse und der Entwicklung. Gleichzeitig ist das Entwerfen / die Analyse einer bestimmten Funktionalität bei gleichzeitiger Entwicklung nicht sehr ratsam. Analyse und Design erfordern stets viel Diskussionsspielraum und haben eine relativ hohe Durchlaufzeit, die im Endeffekt auch zur Verfügung stehen muss. Eine Faustregel besagt, dass der Entwurf und die Analyse eines Artikels mindestens einen, noch besser zwei Sprints Vorsprung zu seiner eigentlichen Entwicklung vorweisen sollte.

3. ERSTELLEN SIE FUNKTIONALE SPEZIFIKATIONEN, UM EINE KLARE UND MEHRFACH GENUTZTE BESCHREIBUNG DES ERFORDERLICHEN FUNKTIONALEN VERHALTENS ZU ERSTELLEN

Nach Fertigstellung des Entwurfs werden die funktionalen Spezifikationen für die Frontend-Aspekte der ausgelieferten Seitentemplates sowie -komponenten vom funktionalen Analysten festgelegt. Die Frontend-Spezifikationen konzentrieren sich auf die Lösungsaspekte, die vom Endbenutzer (Besucher) der Website gesehen und verwendet werden können. Ein gängiges Beispiel für eine Seitentemplate ist eine Startseite oder eine Artikelseite. Eine Komponente ist beispielsweise die Hauptnavigation oder ein Videoblock, der auf einer Seite angezeigt wird.

Neben des erforderlichen Frontend-Verhaltens werden die funktionalen Spezifikationen für das Web-Content-Management-System erstellt. Ziel dieser Spezifikationen ist es zu beschreiben, wie die identifizierten Vorlagen und Komponenten durch die Autoren im System verwaltet werden sollen – dieser Schritt ist extrem wichtig und wird allzu oft vergessen. Nicht nur ist es notwendig, eine Website zu erstellen, die gut für den Endbenutzer funktioniert – mindestens genauso wichtig ist die Bereitstellung eines ausgezeichneten Werkzeugs für die Autoren der Website. Die Gestaltung der Backend-Erfahrung ist in der Regel Aufgabe des funktionalen Analysten in Zusammenarbeit mit dem technischen Leiter und dem Kunden.

4. STELLEN SIE SICHER, DASS DIE FUNKTIONALEN AKZEPTANZKRITERIEN KLAR UND DEUTLICH SIND

Es sollte stets beachtet werden, dass die Dokumentation in der richtigen Menge für die richtige Zielgruppe zur richtigen Zeit und ebenso am richtigen Ort bereitgestellt wird. Da sich jedes Projekt anders gestaltet, muss die Herangehensweise im Rahmen der Dokumentation in jedem Projekt angepasst werden. Ihre erste Priorität sollte also eine Möglichkeit darstellen, eine für die Erstellung des Produkts nützliche Dokumentation zu erstellen, worauf Sie gerade arbeiten.

Im Rahmen der Spezifikationen sind neben der schriftlichen Vorgaben auch die mündliche Kommunikation zu beachten. In einem agilen Ansatz ist die Arbeit in kurzen Arbeitszeiten organisiert (Sprints). Vor jedem Sprint wird die Arbeit, die im Sprint realisiert werden soll, definiert und einem Entwickler zugewiesen. Bevor die eigentliche Entwicklung beginnt, wird ein ganzheitliches und individuelles Briefing organisiert, um die erforderliche Funktionalität und das technische Vorgehen zu besprechen. In diesem Prozess ist der funktionale Analyst dafür verantwortlich, das Team über die verfügbaren Spezifikationen zu informieren und gegebenenfalls die Details zu klären.

5. ASSISTIEREN SIE WÄHREND DER VORFÜHRUNGEN

Während des Entwicklungsprozesses müssen die Entwickler auch mit dem funktionalen Analysten und dem Kunden kommunizieren, um zusätzliche Informationen zu bestimmten Themen zu erhalten. Nach jedem Sprint wird dem Kunden die Arbeitsfunktion während der Vorführung präsentiert und mit ihm besprochen. Eine regelmäßige Kommunikation über die Funktionalität ist äußerst wichtig, um ein optimales Ergebnis zu erzielen. Der Analyst muss sicherstellen, dass dieser Prozess ausgeführt wird.

6. FÜHREN SIE DIE FUNKTIONSTESTS ANHAND DER SPEZIFIKATIONEN UND DER AKZEPTANZKRITERIEN DURCH

Auf Grundlage der Spezifikationen werden die Akzeptanzkriterien vom funktionalen Analysten zusammen mit dem Kunden festgelegt. Dies gibt den Entwicklern und Testern einen klaren Hinweis, ob ein bestimmter Teil der Funktionalität fertiggestellt ist. In den meisten Projekten wird der funktionale Analyst auch die Rolle des Funktionstesters übernehmen. Der Funktionstest ist neben dem eher technisch orientierten Peer-Review und Unit-Testing Teil des internen Qualitätsprozesses. Ausgehend von Spezifikationen und Annahmekriterien werden Testszenarien erstellt, anhand derer überprüft werden kann, ob die erforderliche Funktionalität korrekt implementiert wurde. Da der funktionale Analyst eine gute ganzheitliche Sicht auf die erforderliche Funktionalität des Produkts hat, ist er auch am besten dafür geeignet, diese Tests durchzuführen.

7. NEHMEN SIE DIE GEMELDETEN BUGS AUF

Die Akzeptanzkriterien und Testszenarien werden auch von unserem Kunden zur Durchführung der Abnahmetests verwendet. Als Ergebnis dieser Tests werden Defekte protokolliert. In der Regel wird die Aufnahme des protokollierten Fehlers auch vom funktionalen Analysten vorgenommen. Der Analyst wird feststellen, ob auch wirklich ein Defekt vorliegt. Im Falle eines echten Defekts wird ein Ticket an den jeweiligen Entwickler versandt. In anderen Fällen stellt der funktionale Analyst die zur Problemlösung erforderlichen Informationen bereit, indem er die erforderliche Dokumentation bereitstellt.

8. STELLEN SIE DIE FUNKTIONALE DOKUMENTATION SO BEREIT, DAS SIE UNSEREM KUNDEN NUTZT

Die Benutzerdokumentation wird während des Projekts vom Entwicklerteam erstellt. Die Idee dahinter besteht darin, dass diese Art von Aufgaben am Besten in kleinen Teilen von Personen ausgeführt werden, die genaustens über eine bestimmte Funktionalität bescheid wissen. Dies ist auch der Grund, warum die Dokumentation für die Funktionalität von den Entwicklern während der Sprints erstellt wird, die in diesem Sprint entwickelt wird. Darüber hinaus übernimmt der funktionale Analyst die Korrektur bzw. die Redaktion. Das Ziel besteht darin, die grundlegende Benutzerdokumentation vor dem (Akzeptanz-)Test bereit zu halten, um sicherzustellen, dass alle Tester und Autoren über die erforderlichen Informationen verfügen, wenn sie mit dem Testen / Authoring beginnen.

9. BIETEN SIE FUNKTIONELLE SCHULUNGEN AN

Zusammen mit dem Kunden wird ein geeignetes Format definiert, um eine nützliche Dokumentationsressource anbieten zu können. Diese wird auch während der funktionalen Schulungen verwendet. Während dieser Sitzungen wird das Autorenteam über die Funktionalitäten des Content-Management-Systems informiert und erhält spezifische Informationen über die Verwaltung aller Templates und Komponenten, die im System verfügbar sind.

Wenn die Organisationsstruktur eines Kunden es zulässt, werden Dokumentation sowie Schulung schon während eines Sprints organisiert. Dies hilft dabei, das Team der Tester des Kunden so schnell wie möglich auf dem neuesten Stand zu bringen und stellt ebenso eine großartige Möglichkeit dar, Benutzerfeedback in einem frühen Stadium zu sammeln.

Fazit

Die obige Beschreibung zeigt, dass die Aufgaben des Analysten in einem agilen Projektansatz ebenso relevant sind wie in anderen Projektansätzen. Der agile Ansatz versucht jedoch, diese Aufgaben effizienter zu organisieren und sicherzustellen, dass das gesamte Team durch iterative Entwicklung, Tests, Dokumentation und Schulungen an der Gestaltung der Lösung beteiligt ist.