Suchen

Klassisch, agil, und dann? – Teil 2

Agile Ansätze im Requirements Engineering

Seite: 7/9

Kundenbeteiligung

Die Kundenbeteiligung ist von entscheidender Bedeutung für das Projekt und ein wichtiger Punkt für den Erfolg. Grundsätzlich ist bei agilen Methoden zu beachten, dass der Kunde zugänglich oder möglichst vor Ort ist. In agilen Projekt wird meist davon ausgegangen, dass die Mitarbeiter des Kunden alle für das Projekt notwendigen Informationen haben und über die erforderliche Entscheidungsbefugnis verfügen. Dies ist aber nicht immer der Fall, selbst wenn die Anforderungen in Gruppensitzen z.B. durch DSDM oder Scrum erarbeitet wurden. Im konventionellen Umfeld des Requirments Engeneering ist der Kunde vor allem in der frühen Projektphase eingebunden. In agilen Projekten hingegen, begleitet der Kunden das Projekt über den gesamten Entwicklungsprozess.

Interviews

Interviews können sowohl mündlich, als auch schriftlich in Form eines Fragenbogens erfolgen. Dabei werden dem Benutzer Fragen über die Produkteigenschaften gestellt. Ein Fragebogen hat den Nachteil, dass der Benutzer nicht präzise genug antwortet. Bei der mündlichen Befragung unterscheidet man zwischen drei Verfahren: die Methode des lauten Denkens, konstruktiver Interaktionen oder Videokonfrontation (Balzert, 2009).

Bildergalerie

Bei Interviews handelt es sich um die am häufigsten eingesetzte Methode im Requirements Engineering. Diese bieten einen direkten und ungefilterten Zugriff auf das benötigte Wissen, sowohl aus Expertensicht als auch aus der Benutzersicht. Alle agilen Ansätze betonen, dass Interviews die beste Möglichkeit zum Wissenstransfer darstellen, da sie u.a. zur Vermeidung von Missverständnissen dienen. Darüber hinaus fördern direkte Interaktionen zwischen dem Kunden und den Entwicklern das Vertrauensverhältnis.

Priorisierung

Die Priorisierung ist ein wichtiger Bestandteil des Requirements Engineering und findet sich daher in allen agilen Ansätzen wieder. Durch die Fokussierung auf die wichtigsten Aufgaben, verhindert man den Stillstand im Projekt, da vor lauter ‚was wäre wenn‘ Szenarien, kein Fortschritt erfolgen kann. Nach der Priorisierung wird das Feature mit der höchsten Priorität in das Produkt Backlog übernommen und als erstes implementiert.

Da das Wichtigste im Verhältnis sehr zeitnah benutzt werden kann, entsteht dem Kunden dadurch bereits frühzeitig ein geschäftlicher Nutzen. Darüber hinaus wird während der Entwicklung das Verständnis erhöht und weitere Anforderungen folgen. Die Priorisierung der Anforderungen muss über den gesamten Zeitraum der Entwicklung fortgeführt bzw. aktualisiert werden, da jederzeit neue Anforderungen hinzukommen können, die die ursprüngliche Priorisierung verändern.

Die Priorisierung kann anhand unterschiedlicher Kriterien wie z.B. Wichtigkeit, Kosten, Volatilität, Akzeptanzrisiko usw. durchgeführt werden. IEEE830 nennt die Notwendigkeit mit den Ausprägungen „essenziell“, „bedingt notwendig“ und „optional“ als Kriterium. Als weitere Methoden sind zu nennen: die Kano-Klassifikation der Kundenzufriedenheit, Ad-hoc-Anordnung, Top-Ten-Methode und die Priorisierungsmethode nach Wiegers (Balzert, 2009).

JAD Sessions

JAD Sessions fördern das Engagement des Kunden und das Vertrauen zueinander, was den agilen Prinzipien durchaus entspricht. Zur Erhöhung der Kundenbeteiligung werden JAD-Sessions (Joint Application Design) in der adaptiven Softwareentwicklung (ASD, Adaptive Software Development) verwendet. In der Dynamic Systems Development Method (DSDM) verwendet man JAD um ein gutes Verständnis für das neues System bereits möglichst früh in der Projektphase zu gewinnen.

Grundsätzlich sollen die Ergebnisse für spätere Fragen dokumentiert und zugänglich sein, was sich etwas mit der agilen Herangehensweise widerspricht. Daher sollte zwar nicht gänzlich auf die Dokumentation verzichtet werden, dennoch ist eine Lockerung erforderlich. Wie bereits bei der Priorisierung sind auch JAD Sessions über den kompletten Entwicklungsprozess im agilen Umfeld regelmäßig abzuhalten (Paetsch et al., 2003).

Modellierung

Bei einer agilen Softwareentwicklung wird zumeist auf eine Modellierung verzichtet, da anhand der Spezifikation, also den User Stories, direkt entwickelt wird. Sofern eine Modellierung durchgeführt wird, unterscheidet sich diese zum konventionellen Requirements Engineering dahingehend, dass sie nur für einen kleinen Teil des Systems verwendet und zumeist anschließend weggeworfen wird. Im klassischen Ansatz werden Modelle auf verschiedenen Abstraktionsebenen verwendet und sind Teil des Systems, müssen also auch weiterhin aktualisiert werden.

Artikelfiles und Artikellinks

(ID:42704398)