Template Analysis zur Erhebung von Anforderungen
Tags: paper, qualitative
Kategorie Promotion | 1 Kommentar »
In meinem letzten Beitrag hatte ich gezeigt, dass es nur relativ wenige konkrete Techniken gibt, um Anforderungen aus Dokumenten zu gewinnen. Dies ist verwunderlich, da in Lehrbüchern zum Anforderungsmanagement existierende Dokumente als eine wichtige Quelle für Anforderungen beschrieben werden. Deshalb füge ich dem Kanon von Techniken für die Anforderungserhebung aus Dokumenten eine neue Technik hinzu: Template Analysis.
Template Analysis ist eine in den Sozialwissenschaften verwendete Technik zur Textanalyse. Mit dieser kann man zum Beispiel Mitschriften von Interviews untersuchen, um festzustellen, welche Themen von Personen in Interviews angesprochen werden.
Ich persönlich hatte Template Analysis bereits im Rahmen meiner Masterarbeit eingesetzt. Damals hatte ich ein mittelständisches Softwareunternehmen bei seinen Prozessverbesserungsbemühungen beobachtet. Bei meiner teilnehmenden Beobachtung machte ich eine Vielzahl von Notizen, um meine Eindrücke festzuhalten. Neben meinen Feldnotizen sammelte ich auch Emails und Mitschriften von Interviews. Am Ende hatte ich einen großen Berg von schlecht strukturiertem Text.
Bevor ich mit der Analyse begann, stellte ich eine MindMap mit den wohl wichtigsten Themen auf, die ich in meinen Feldnotizen vermutete. Dann versuchte ich die MindMap zur Kategorisierung des Texts zu verwenden. Dabei suchte ich im Text nach Stichworten oder Sätzen, die zu meinen Begriffen in der MindMap passen. Dabei zeigte sich schnell, dass die MindMap nicht wirklich zum Text passt und ich sie überarbeiten muss. So baute ich die MindMap mehrmals um und kategorisierte den gesamten Text. Am Schluss hatte ich zu jedem Blattelement der MindMap eine Vielzahl von Textstellen und konnte so gut nachvollziehen, wie bestimmte Themen an ganz unterschiedlichen Textstellen immer wieder auftauchten.
Bei Template Analysis spricht man nicht von einer MindMap, sondern von einem Code Template. Den zu analysierenden Text bezeichnet man als Corpus und die Analyse selbst als Coding bzw. Kodierung. Wichtig ist, dass einem Textsegment durchaus mehrere Codes aus dem Code Template zugewiesen werden können.
Template Analysis ist aber nicht nach der Kodierung des Texts abgeschlossen, sondern dann beginnt die Interpretation der Ergebnisse. Eine wichtige Frage ist zum Beispiel, wie sich das ursprüngliche Code Template (MindMap) und das finale Code Template unterscheiden? Warum wurden bestimmte Themen vor Beginn der Kodierung noch nicht als wichtig angesehen? Was hat man während der Kodierung gelernt, was zu diesen Änderungen geführt hat? Welche Zusammenhänge gibt es zwischen einzelnen Codes (weil sie zum Beispiel häufig gleichen Textsegmenten zugewiesen werden)? Gab es während der Kodierung einen „Aha“ Effekt bzw. andere überraschende Erkenntnisse?
Wesentlich interessanter wird Template Analysis, wenn die Kodierung von mehreren Personen durchgeführt wird. Die Personen nennt man Kodierer. Schon alleine die Diskussion um die initiale Version des Code Templates kann zu interessanten Erkenntnissen führen. So können sich schon dabei ganz unterschiedliche Vorstellungen („Missverständnisse“) zeigen. Es ist auch recht unwahrscheinlich, dass die Kodierer alle Textsegmente gleich kodieren. Dies ist kein Fehler, sondern ein durchaus gewollter Effekt, der fruchtbare Diskussionen anregen kann. Wichtig ist, dass es keine falsche Kodierung gibt, sondern Unterschiede gerade die Chance auf gemeinsames Lernen bieten!
Die Anwendung von Template Analysis zur Erhebung von Anforderungen aus Dokumenten ist sehr ähnlich. Zunächst führt man alle Dokumente zu einem großen Dokument zusammen und entfernt unnötige oder sich wiederholende Textteile. Damit hat man den Corpus. Dann stellt man ein initiales Code Template auf. Dieses Code Template kann zum Beispiel aus den Hauptanforderungen bestehen, die man „vermutet“ zu finden. Nun analysiert man einen ersten Teil des Corpus und versucht das Code Template anzuwenden. Dabei zeigt sich meist recht schnell, dass das Code Template so nicht anwendbar ist und man es teils drastisch überarbeiten muss. Nach der Kodierung des ersten Drittels des Corpus sollte sich das Code Template stabilisieren. Wenn man ein stabiles Code Template hat, beginnt die eigentliche Kodierung. Alle Kodierer führen nun unabhängig die Kodierung des gesamten Corpus mit dem Code Template durch. Anschließend analysiert man die erhaltenen Ergebnisse in Gruppendiskussionen und reflektiert über das neu entstandene Verständis und die dabei erkannten Anforderungen.
Glüchlicherweise gibt es zur Unterstützung der Kodierung Softwarelösungen. Ich persönlich kann das OpenSource Programm WeftQDA empfehlen. Man lädt zunächst den Corpus als Textdatei in WeftQDA. Danach erstellt man mit einem integrierten Editor das Code Template. Anschließend beginnt die Kodierung. Man kann beliebige Textsegmente markieren und mit einem Code aus dem Code Template versehen. Es ist auch möglich sich anzeigen zu lassen, welche Textsegmente mit einem bestimmten Code markiert wurden. Leider bietet WeftQDA keine Möglichkeit mit mehreren Kodierern zu arbeiten. Deshalb ist es auch nicht möglich in WeftQDA direkt eine vergleichende Analyse der Kodierungsergebnisse durchführen zu lassen. Allerdings speichert WeftQDA alle Daten in einer HSQLDB Datenbank, die man relativ einfach mit einem eigenen Programm anzapfen kann. Wer solche Friemellösungen nicht mag, kann auf eine der vielen kommerziellen Softwarelösungen für qualitative Datenanalyse (QDA) zurückgreifen.
Ergebnis einer Template Analysis ist nicht ein fertiges Anforderungsdokument oder eine vollständige Liste aller Anforderungen. Vielmehr gewinnen die beteiligten Personen ein tiefes und genaues Verständnis von der in den Dokumenten beschriebenen Domän. Die Dokumente werden nicht nur gelesen, sondern es wird mit den Dokumenten gearbeitet.
Template Analysis ist eine qualitative Methode und man sollte deshalb auch nicht versuchen sie quantitativ auszuwerten. Wer also versucht die Ergebnisse der Kodierung mit statistischen Mitteln zu untersuchen, um etwa Abweichungen zwischen Kodierern festzustellen, der ist auf dem Holzweg. Allerdings können einfache Metriken helfen, sich einen ersten Überblick zu verschaffen. Wichtig sind die Gruppendiskussionen und die eigene Reflektion über den eigenen Erkenntnisprozess. Interessant ist zum Beispiel die Frage, warum man nicht früher bestimmte Anforderungen in ihrer Wichtigkeit erkannt hat?
Template Analysis hat natürlich auch ihre Grenzen und man sollte sie mit Sicherheit in bestimmten Fällen nicht anwenden. Das größte Problem ist, dass Template Analysis schlecht skaliert. Die Analyse von umfangreichen Textsammlungen ist allein schon aus Zeitgründen nicht möglich. Auch fällt es zunehmend schwer ein übergreifendes Code Template aufzustellen, das durchgängig anwendbar sein soll. Gerade im Fall eines umfangreichen Corpus können automatisierte Verfahren, wie das im vorherigen Artikel vorgestellte Natural Language Processing (NLP), von Vorteil sein. Im Vergleich zur Content Analysis hat Template Analysis den Vorteil, dass sich das Code Template mitentwickelt und man nicht schon zu Beginn die Lösung kennen muss.
Wenn man mal die Möglichkeit hat, in einem kleineren Projekt Template Analysis einzusetzen, dann sollte man sich die Chance nicht entgehen lassen. Schon allein die Verwendung einer qualitativen Techniken ist für die meisten mathematisch geschulten Informatiker eine interessante Erfahrung. Und man sollte natürlich auch hier mittels Kommentar über die eigenen Erfahrungen berichten ;-)
Vielen Dank für den Artikel er gibt mir schonmal einen ersten Hinweis ob diese Methode mein Research Problem lösen kann.