Qualität - Was kann
man tun, damit ein Anforderungsdokument gut wird?
Zusammenfassung
Qualitätssicherung - Auch beim
Anforderungsdokument und in der Fachabteilung!
Checkliste für Qualitätsanforderungen
an ein Anforderungsdokument
Testbarkeit von Anforderungen
Walkthrough - Der Analytiker erklärt die
Spezifikation
Aufspüren logischer Fehler - Der
strukturierte Ansatz des Analytikers
Review - Was man beim Review beachten sollte!
Namen sind nicht Schall und Rauch
Der versteckte Fehler - Wieviel
übersieht der Anwender?
vgl. auch Arbeitsorganisation,
ein auf Grund von Leserwünschen erweiterter Abschnitt, der im
Dezember 2003 in ein eigenes Kapitel ausgelagert wurde
Zusammenfassung
Dieses Kapitel setzt sich mit der Frage ausweinander, wie ein
Anforderungsdokument qualitativ gut wird. Aufgezeigt werden formale und
intuitive Methoden, mit denen ein Analytiker sein Dokument selbst
sichten und prüfen kann. Ein umfangreicher Abschnitt widmet sich
der Frage, wie verläßliche Prognosemodelle für all die
Anforderungen erstellt werden können, die vom Fachanwender nicht
ausgesprochen wurden, sowie dafür, festzustellen, wie
verläßlich die Durchsicht des Anforderungsdokuments durch
den Fachanwender ist. Eine Checkliste und eine Wortliste unscharfer und
in Anforderungsdokumenten zu vermeidender Begriffe wird hier
dargestellt. Auf Walkthroughs und die Review-Prozedur wird am Rande
eingegangen. - Methoden zur eigenen Arbeitsorganisation und eine
detaillierte Darstellung der Kommunikationstechniken
mit Anwendern inkl. Fragetechniken zur Vollständigkeit und
Richtigkeit der Anforderungen findet sich in den verlinkten Kapiteln.
Qualitätssicherung - Auch
beim Anforderungsdokument und in der Fachabteilung!
Qualitätsmanager haben einen merkwürdigen Ruf. Sie
gelten entweder als Bürokraten, Esoteriker oder Pessimisten - oder
alles drei in einem. Qualitätsmanager werden fast prinzipiell als
Feinde betrachtet, die ein Projekt nur aufhalten. Wahr ist, dass ein
Optimist als Qualitätsmanager etwa so gut wie ein Bock als
Gärtner ist. Wahr ist weiterhin, dass Qualität
vernachlässigt wird, wenn es nicht klar definierte Kriterien gibt,
die auch überprüft werden. Wahr ist zudem, dass Verbesserung
nur dann erzielt werden kann, wenn der damit verbundene Fortschritt
auch gemessen werden kann. Aufgabe eines Qualitätsmanagers ist es,
zunächst Qualitätsstandards im gegebenen Arbeitsumfeld zu
definieren, dann für deren Einhaltung zu sorgen und laufende
Verbesserung anzustreben. In großen Organisationen
verselbstständigt sich solch ein Prozess relativ leicht und
degeneriert dann tatsächlich zum bürokratischen Monster.
Ärgerlich wird es immer dann, wenn sich heraus stellt,
dass vom QM-Prozess Ausnahmen existieren, z.B. bei
Geschäftsführung, Marketing, bestimmten Fachabteilungen,
einzelnen Mitarbeitern in produktionskritischen
Schlüsselpositionen oder gar beim Qualitätsmanager selbst.
In einer professionellen Organisation kann der Qualitätsmanager
als
die mächtigste Figur betrachtet werden und er ist bei IT-Projekten
ein wichtiger Verbündeter des Business Analysten.
Beispiel aus der Praxis
Ich bat einmal einen QM-Spezialisten eines indischen Unternehmens, der
im Auftrage eines Unternehmens für das ich auch gerade tätig
war, einen Vortrag für die Auszubildenden der IT zu halten. Nach
dem Vortrag stellte einer der Azubis die Frage was passiert, wenn die
Geschäftsführung auf der Auslieferung eines qualitativ
mangelhaften Produkts beharrt, obwohl der Qualitätsmanager dagegen
ist. Der
QM-Spezialist antwortete, dass der Qualitätsmanager über die
interne Abnahme und Kundenfreigabe entscheidet, der
Geschäftsführung nicht weisungsgebunden ist und jede
diesbezügliche Entscheidung der Geschäftsführung ausser
Kraft setzen könne. Dies sei in seinem Unternehmen bereits
mehrfach geschehen.
Die Realität, gerade bei kleineren und mittleren
Betrieben, sieht leider nicht ganz so aus.
Beispiel aus der Praxis
Bei einem Vorstellungsgespräch in einem mittelständischen
Unternehmen stellte der Bewerber dieselbe Frage wie oben der Azubi. Der
Geschäftsführer antwortete, dass man Qualitätsmanagement
implementieren wolle, dass er sich aber im Zweifelsfall die
Entscheidung über eine Produktauslieferung bei zweifelhafter
Qualität selbst vorbehält. Der Bewerber entschied sich,
weiter selbstständig zu bleiben.
Im technischen Umfeld professioneller Organisationen der IT bzw. mit
großen IT-Abteilungen ist ein definierter QM-Prozess nichts
ungewöhnliches. Es gibt Dokumentationsvorlagen,
Arbeitsvorschriften und Checklisten, manuelle Arbeitsschritte werden
dokumentiert, Zeiten und Tätigkeiten werden belegt und
Code-Verwaltungs- und Bug-Tracking-Systeme werden benutzt. Die
Eintragungen in das Bug-Tracking-System werden auch statistisch
ausgewertet. Dabei geht es nicht darum, einen Underperformer ausfindig
zu machen, sondern im laufenden Projekt festzustellen, wo man
eigentlich gerade steht und von einem Projekt zum nächsten
Verbesserungen zu erarbeiten. Stellt sich z.B. heraus, dass die
teuersten Fehler ein Resultat unzureichend spezifizierter
Fachanforderungen sind, so wird das Analystenteam darüber
nachdenken müssen, woran das liegt. Hat der zuständige
Analyst Mehrdeutigkeiten stillschweigend geduldet? Wurde der Anwender
zu einer Abnahme gedrängt, z.B. wegen Zeitdrucks, obwohl die
Spezifikation nicht komplett verstanden worden war? Oder wurde die
Spezifikation abgenommen, weil der Anwender nicht weiter interessiert
war? Oder haben die Entwickler nicht nachgefragt sondern eigene
Deutungen implementiert? War gar die Mehrdeutigkeit von der
Organisation, die den Analytiker bezahlt, aus politischen Gründen
gefordert?
Stellt sich dagegen z.B. heraus, dass korrekt spezifizierte Features
einfach nicht umgesetzt wurden, dann dürfte eine engere Betreuung
der Designer und Entwickler durch den Analytiker im nächsten
Projekt
angezeigt sein.
Software wird vor Auslieferung getestet. Dabei soll nicht etwa
Qualität in ein System hinein getestet werden, der Test soll
vielmehr die von der Entwicklungsabteilung gelieferte hohe
Qualität bestätigen. Testgrundlage ist der Wille des
Auftraggebers, der sich ausschließlich im abgenommenen
Anforderungsdokument und den für die aktuelle Produktversion
angenommenen Change Requests
niederschlägt. Getestet wird gegen dieses Anforderungsdokument.
Damit dies möglich ist, muss es gut genug sein, um
überhaupt ein IT-System bauen zu können. Gerade deshalb ist
es sinnvoll, dass sich auch der Analytiker und die Fachabteilung
über Qualitätsmanagement den Kopf zerbrechen und QM-Prozessen
folgen, die eine hinreichend gute Spezifikation in annehmbarer Zeit bei
akzeptablen Kosten liefert.
Checkliste für
Qualitätsanforderungen an ein Anforderungsdokument
Ein Anforderungsdokument muss vollständig und richtig sein. Man
sollte beim Einreichen einer Spezifikation zum Review folgende Punkte
aushaken können:
- Eine konkrete, messbare und durch Regeln darstellbare Definition
von Erfolg und Misserfolg ist vorhanden.
- Alle Anforderungen wurden spezifiziert, die vom Benutzer gestellt
worden sind.
- Jede Anforderung lässt sich einem Auslöser zuordnen,
einer Person bzw. einem Dokument.
- Die Menge der Anforderungen ist in sich geschlossen und soweit
vollständig, dass das IT-System auch nutzbringend eingesetzt
werden kann und vom Anwender abgenommen wird. Redundanzen wurden
entfernt, Auslassungen ("Wunder hier?") und Inkonsistenzen sind keine
vorhanden.
- Die Anforderungen sind hinreichend genau spezifiziert und
gehen weit genug ins Detail, verlieren sich aber nicht in
Offensichtlichkeiten.
- Für jede spezifizierte Anforderung wurde bewiesen, dass sie
auch implementierbar ist.
- Für jede Anforderung, jeden Anwendungsfall, jeden Prozess,
jede Funktion und jeden beschriebenen Algorithmus wurde Eingabe und
Ausgabe bis auf Attributebene spezifiziert.
- Jede spezifizierte Anforderung, jeder Geschäftsprozess und
jedes Datenelement ist auch für die Lösung erforderlich.
- Jede Anforderung findet sich in einem Anwendungsfall (use
case) bzw. eine Menge von Anwendungsfällen wieder.
- Aus jeder Anforderung kann auch ein Software-Design abgeleitet
werden.
- Aus jeder Anforderung kann auch ein Testfall hergeleitet werden.
- Der Informationsfluss zwischen einzelnen Prozessen und innerhalb
des Gesamtsystems ist ausreichend gut dokumentiert.
- Für jedes Datenelement kann ein Ursprung nachgewiesen werden.
- Verwendete Daten wurden konsequent bis auf Attribut-Ebene
spezifiziert, auch bei größeren Datenobjekten und
Schnittstellen
- Alle Datenformate lassen sich auf einfache Datentypen (boolean,
double, integer, strings mit und ohne definierte maximallängen...)
zurück führen, der Verwendungszweck wurde erklärt.
- Datenfilter, Sortierungen und Formatierungen für Eingabe,
Ausgabe (Bildschirm, Reporte, Schnittstellen) und Verarbeitungen wurden
definiert.
- Die Anforderungen wurden in einer Form spezifiziert, die die
Mitarbeiter der Fachabteilung auch verstehen. Die Fachanwender wurden
auch dahingehend befragt, ob sie den Inhalt des Anforderungsdokuments
auch
verstanden haben und sie haben dies glaubwürdig bestätigt.
- Alle Funktionalitäten und Algorithmen sind hinreichend
detailliert beschrieben und nachvollziehbar. Randbedingungen für
Einschwingverhalten, eingeschwungenes System und Ausschwingverhalten
wurden
dokumentiert. Beispiele wurden, wo angebracht, nachvollzogen.
- Eine Durchsicht auf Uninterpretierbarkeit jedes Abschnitts des
Dokuments hat stattgefunden, zunächst durch die Fachanwender,
später auch durch das technische Team.
- Das technische Team und die Testgruppe bestätigt
(informell), dass das Anforderungsdokument ausreicht, um
(weitestgehend) ohne weitere Rückfragen Design, Implementierung
und Test planen zu können.
- Die Widerspruchsfreiheit wurde bewiesen.
- Das Anforderungsdokument beschreibt ausschließlich was zu
tun ist und lediglich rein fachlich, wie bestimmte Algorithmen
funktionieren; ein Vorgriff auf das technische Design findet nicht
statt.
- Auf mögliche zukünftige Entwicklungen wurde im
Anforderungsdokument eingegangen.
- Auf zu erwartende Change Requests wurde hingewiesen.
- Risiken wurden erkannt, dokumentiert und es ist sicher gestellt,
dass sie auch überwacht werden.
- Wo möglich, wurden mehrere alternative Wege zum Ziel
erwogen. Der beste Weg wurde ausgewählt, nicht der erste, der dem
Fachanwender oder dem Analytiker in den Sinn kam.
- Quantitative Anforderungen (Mengengerüst, Performance)
liegen vor.
- Anforderungen an die Systemumgebung sind dokumentiert.
- Die gewählte Darstellungsform ist einheitlich, insbesondere
für Anwendungsfälle, Schnittstellen und Ablaufbeschreibungen.
- Die verwendete Terminologie ist einheitlich und in einem Glossar
fest gehalten.
- Fachliche Randbedingungen und gesetzliche Vorschriften wurden
beachtet.
Die Frage nach subjektiven
Befindlichkeiten darf gestellt werden. Wenn
sich ein Fachanwender oder der Analytiker nicht gut fühlt
bzgl. der Spezifikation, dann sollte dem nachgegangen werden, auch wenn
zunächst kein rational nachvollziehbarer Grund feststellbar ist.
Abschließend muss festgestellt werden, dass der Kundenkontakt
für die aktuelle Version abgeschlossen ist, dass also vom
Kunden keine Anforderungen für die nun zu entwickelnde
Produktversion mehr eingebracht werden.
Checklisten zur Business Analysis und andere IT-nahe Themen finden sich
auch bei Construx.com
(inzwischen ist eine Registrierung notwendig) und http://www.rspa.com/checklists/.
Diese Checklisten bildeten für mich lange Zeit eine Basis für
meine eigene Arbeitsweise.
Testbarkeit von Anforderungen
Aus dem Anforderungsdokument wird ein Testplan für den Abnahmetest
(acceptance test) erarbeitet. Im Grunde genommen machen Tester und
Programmierer sehr
ähnliche Arbeiten: Der Programmierer entwirft einen Algorithmus,
der die aus dem Anforderungsdokument ableitbaren Anwendungsfälle
vollständig abdeckt,
der Tester erarbeitet Testszenarien, die dasselbe tun. Man kann als
Faustregel
festhalten:
Ist eine Anforderung nicht testbar, so kann sie
auch nicht programmiert werden.
Vollständigkeit des Anforderungsdokuments ist dann nicht gegeben.
Bei der Erstellung des Testplans wirkt der Business Analyst mit,
häufig erstellt er den Plan komplett selbst. Um die Testbarkeit
der Anforderungen nachzuweisen liegt es nahe, die Testszenarien
parallel
zur Anforderungsanalyse zu erstellen. In der Praxis sollte davon
allerdings
Abstand genommen werden. Da sich Anforderungen häufig in der
Spezifikationsphase
ändern, müsste der Testplan mit geändert werden. Wenn
eine spezifizierte Anforderung jedoch vollständig genug ist,
sodass
sie zum Review vorgelegt werden kann, kann als letzter Schritt vor der
Vorlage ein Positivtest spezifiziert
werden.
Diese Vorgehensweise sollte allerdings mit dem Kunden abgesprochen
sein,
da die Kosten für die Testplanung parallel zur Spezifikationsphase
entstehen. Mehrkosten fallen allerdings nicht an, d.h. nur dann, wenn
der Kunde nach dem Review auf die Implementierung einer Funktion
verzichtet.
In der Realität werden Testpläne jedoch nicht parallel
zur Anforderungsanalyse erstellt, sondern parallel zur Entwicklung des
Produkts. Somit ist für die Qualität des Analysedokuments
nichts
gewonnen. Der Analytiker sollte jedoch immer ein Augenmerk auf die
Testbarkeit
jeder Anforderung haben, meist kann sie intuitiv festgestellt werden.
Im Abschnitt über den Review einige
Abschnitte
weiter unten findet sich folgende (erfundene) nichtssagende
Anforderung,
die bestimmt nicht testbar ist:
Erfundenes Beispiel
Auch bei überdurchschnittlicher Systemlast soll
das Systemantwortverhalten im Normalfall gut sein,
jedoch kann ausnahmsweise auch eine langsamere Antwortzeit
akzeptiert werden. Die Mehrheit der Anfragen sollte z.B. in
drei
Sekunden wunschgemäß beantwortet sein. Hohe
Systemlast tritt normalerweise vor wichtigen Feiertagen
wie Weihnachten usw. auf.
Solche nicht quantifizierbaren und somit auch nicht testbaren
Anforderungen findet man leider immer wieder. Offensichtlich
können hierzu keine Testfälle konstruiert werden, die
Spezifikation ist hier also noch nicht brauchbar.
Walkthrough - Der Analytiker erklärt
die Spezifikation
Bei einem Walkthrough stellt der Business Analyst seine Spezifikation
dem Fachanwender vor. Dabei geht er sie Schritt für Schritt durch
und erklärt sie.
Ziel des Walkthrough ist es einerseits sicher zu stellen, dass der
Fachanwender die Spezifikation nachvollziehen kann, andererseits sollen
Verständnisprobleme des Fachanwenders behoben werden.
Außerdem werden bei dieser Gelegenheit Fehler und Unschärfen
gefunden und meistens werden gemeinsam Optimierungen einzelner Prozesse
oder Prozessschritte erarbeitet. Ein gemeinsamer Walkthrough ist
wesentlich effektiver als das einsame Durchsehen des
Anforderungsdokuments im
stillen Kämmerlein, vor allem, wenn der Anwender die Spezifikation
erstmalig zu Gesicht bekommt.
Als Vorbereitung auf einen Walkthrough reicht es aus, wenn der
Fachanwender den zu betrachtenden Teil gründlich liest.
Falls ihm bereits Unklarheiten auffallen, sind Notizen dazu
natürlich nicht falsch, aber die Gründlichkeit der
Vorbereitung muss bei weitem nicht so tief sein, wie vor einem Review.
Im Rahmen des Walkthroughs kann erwartet werden, dass evtl. sogar
schwerwiegende Fehler entdeckt werden, und eine Lösung
hierfür kann interaktiv zwischen Business Analyst und Fachanwender
erarbeitet werden.
Walkthroughs müssen nicht immer die gesamte Spezifikation
betreffen. Der Normalfall ist eher, dass ein Prozess oder
Anwendungsfall herausgelöst aus seinem Kontext betrachtet wird,
wenn er aus
Sicht des Analytikers erstmalig fertig modelliert worden ist. Diese
Stückelung hat den Vorteil, dass die Vorstellung des Prozesses
relativ zügig erfolgen kann. Häufig lässt sich ein
Walkthrough
einfacherer Prozesse sogar telefonisch erledigen.
Es lohnt sich auch, das logische Datenmodell
bzw. sogar das
physikalische ERM mit dem Fachanwender durch zu sprechen, allerdings
nur, wenn beim Fachanwender genügend Kompetenz dafür
vorhanden ist. Dasselbe gilt auch für konkrete algorithmische
Ansätze. In beiden Fällen ist jedoch Vorsicht geboten, dann
man bewegt sich bereits im technischen Umfeld des IT-Projekts, also
dort, wo der Business Analyst und der Fachanwender eigentlich nichts zu
suchen haben. Datenmodelle und technische Algorithmen kommen i.d.R.
auch nicht vom Business Analysten, sondern vom DB-Administrator bzw.
DB-Programmierer oder vom Software-Designer. Die Vorstellung komplexer
Abläufe kann ziemlich ins Auge gehen, wenn sie nicht verstanden
werden.
Beispiel aus der Praxis
Im Rahmen eines zeitkritischen Abrechnungsalgorithmus sollten als
Endresultat für den Anwender je Abrechnung eine definierte Menge
Transaktionen angezeigt werden. Ursprünglich sollte der
Algorithmus einmal pro Nacht laufen. Da sich das Ziel bewegte, wurde
die Forderung gestellt, dass mehrere Abrechnungsläufe in einer
Nacht simuliert werden müssten. Zunächst schlug der Business
Analyst vor, dass der Abrechnungslauf zweimal pro Nacht laufen sollte.
Da sich jedoch der Fachanwender weder auf die Anzahl der zu
verarbeitenden Daten noch auf eine
maximale Anzahl notwendiger Abrechnungsläufe festlegen wollte,
lehnte
der DB-Admin nach einer kurzen überschlägigen Rechnung
mehrere
Abrechnungsläufe ab. Er konnte alleine auf Basis der
verfügbaren Vorgaben nicht garantieren, dass mehr als ein
Abrechnungslauf pro Nacht auf der vorhandenen Hardware machbar sei. Der
IT-Projektleiter informierte den Fachanwender über die
stattfindenden Überlegungen, was dieser jedoch eher so verstand,
dass die Kosten weiter in die Höhe getrieben werden sollten. Der
Business Analyst, der auch als Algorithmentheoretiker ganz brauchbar
war, arbeitete ein Verfahren aus, bei dem anstatt mehrere physikalische
Transaktion zu erzeugen nur eine einzige physikalische Transaktion
erzeugt und mehrere virtuelle angezeigt werden sollten. Die
Funktionstüchtigkeit des Verfahrens ließ sich von ihm formal
beweisen, ebenso, dass dessen Performance klar besser ist. Weder der
zuständige Mitarbeiter des Unternehmens, das mit der
Gesamtprojektleitung betraut war, noch der eigene Projektleiter des
IT-Teams, noch der Fachanwender verstanden das Verfahren. Dies ging so
weit, dass der Fachanwender unterstellte, dass das IT-Team die
Anforderung übersehen hätte und der Gesamtprojektleiter sich
nicht
vorstellen konnte, dass das dynamische Erzeugen und Anzeigen von
virtuellen
Transaktionen schneller gehen sollte, als das Lesen und Anzeigen
ausschließlich
physikalisch gespeicherter Transaktionen.
Der Walkthrough ist innerhalb von IT-Projekten eine recht normale
Angelegenheit. Der Business Analyst macht auch einen Walkthrough mit
dem Software-Designer. Um sicher zu stellen, dass fertiger Code auch
den Anforderungen entspricht, macht der Entwickler mit dem Analytiker
häufig einen Code-Walkthrough des fertigen Codes und zuvor des
Design-Ansatzes bzw. Pseudocodes. Ebenso stellt der Analytiker dem
Tester die Spezifikation vor, und der Tester seinen Testplan dem
Analytiker.
Aufspüren logischer Fehler - Der
strukturierte Ansatz des Analytikers
Ein Analytiker wird hauptsächlich fürs Denken bezahlt. Eine
der leichtesten Übungen für ihn ist dabei das Aufspüren
logischer Fehler auf Grund eines soliden strukturierten Vorgehens.
Dieselbe Methodik, die zur Suche logischer Fehler benutzt werden kann,
kann
auch im Rahmen der Gap Analysis
benutzt werden.
Folgende logische Fehler lassen sich ohne weiteres durch strukturierte
Analysemethodik erkennen:
- fehlende Eingaben, also alle Daten, die zur Erzeugung von
Ausgaben notwendig sind.
- überflüssige Eingaben, also alle Daten, die zwar in
Prozesse eingehen, aber nicht zu Ausgaben führen.
- nicht erzeugbare Ausgaben, also alle Daten, die als
Ergebnis eines Prozesses verlangt werden, jedoch aus Eingaben und
Verarbeitungsschritten nicht erzeugt werden können.
- unvollständige oder falsche Verarbeitungsschritte, also
nicht korrekt spezifizierte Wege von der Eingabe zur Ausgabe.
Der Analytiker kann durch formales Vorgehen häufig lediglich
feststellen, dass ein logischer Fehler vorhanden ist, nicht jedoch
genau wo. Fällt z.B. eine Ausgabe eines Prozesses einfach vom
Himmel, so kann diese Ausgabe entweder gar nicht notwendig, vielleicht
sogar
gar nicht gewünscht sein, oder aber es wurde lediglich vergessen,
die zugehörige Verarbeitungsvorschrift zu definieren, oder es
fehlt sowohl der notwendige Satz Eingabedaten als auch die
zugehörigen Verarbeitungsschritte. Liegt z.B. eine Eingabe vor,
die nicht weiter verarbeitet wird, so kann entweder die Eingabe
tatsächlich überflüssig sein, oder aber die notwendigen
Verarbeitungsschritte wurden noch nicht definiert, evtl. soll die
Eingabe auch nur durchgereicht werden und nur die Ausgabe fehlt.
Eine einfache, wenn auch zeitaufwendige Nachweismethodik für die
Vollständigkeit der Daten besteht in der tabellarischen Auflistung
jedes einzelnen Datenelements, das innerhalb des Anforderungsdokuments
auftaucht. Dabei werden für jedes einzelne Datenelement folgende
Informationen zusammen getragen:
- Name
- Herkunft bzw. Ursprung (z.B. vom Anwender in Prozess x erfasst,
von Prozess y erzeugt, aus Datenquelle z importiert)
- alle Prozesse, in die das Datenelement eingeht, d.h., die das
Datenelement benötigen
- Bestätigung (Haken dran machen!), dass das Datenelement in
allen Prozessen, in das es eingeht, auch zu einer Ausgabe führt
und dass dieser Weg auch mit Beispielen nachvollzogen wurde
Kann eine Spalte nicht ausgefüllt werden, dann liegt
offensichtlich ein Fehler vor.
Die Verarbeitungsschritte der meisten Prozesse bzw. Anwendungen sind so
trivial, dass ein algorithmisches bzw. mathematisches Beweisverfahren
nicht notwendig ist, sondern der Augenschein genügt. Es reicht
also, für die Standardfälle jeden Verarbeitungsschritt
nochmals nachzuvollziehen und im Analysedokument auszuhaken. Komplexe
Algorithmen sollten formal bewiesen werden und alles, was nicht
vollkommen trivial ist, sollte zumindest mit zwei oder drei Beispielen,
die auch die Randbedingungen (Einschwingverhalten, eingeschwungenes
System, Ausschwingverhalten) abdecken, nachvollzogen werden. Diese
Beispiele gehören in die Spezifikation, sodass sie auch vom
Fachanwender beim Review kritisch betrachtet werden können.
Review - Was man beim Review beachten sollte!
Beim Review handelt es sich um einen formalisierten Prozess der dazu
dient, den Inhalt des Anforderungsdokuments zu verifizieren. Ein Review
sollte nicht mit einem normalen Meeting
verwechselt werden, das dem
Austausch von Informationen, der Gewinnung neuer Erkenntnisse oder der
Festlegung und Verteilung von Arbeitspaketen dient. Zwar
gelten für die Vorbereitung eines Review dieselben Regeln wie
für alle Meetings. In einem Review werden jedoch keine neuen
Erkenntnisse gesucht oder Kreativität angestrebt und es findet
auch keinerlei Austausch oder Diskussion zwischen den Teilnehmern
statt, sondern das zu reviewende Dokument soll inhaltlich auf
Lücken und Fehler untersucht werden. Wichtig ist, dass sicher
gestellt ist,
dass das Dokument auch vor dem Review komplett und gründlich
durchgesehen wird und Lücken oder Fehler mit einem
Korrekturvorschlag reklamiert werden müssen. Die Review-Teilnehmer
kommen mit fertigen Arbeitsergebnissen (= ihre Anmerkungen zum
Dokument) in das Review-Meeting und teilen diese nur mit. Vage Hinweise
oder die Äußerung
von Wünschen oder Forderungen haben zu unterbleiben, diese Dinge
müssen schon vorab geklärt und die daraus erarbeiteten
Ergebnisse
im Anforderungsdokument festgehalten sein.
Beispiel aus der Praxis
Ein 50-seitiges Dokument sollte durch den ersten Review. Der
Projektleiter, der die Moderation übernommen hatte, hatte eine
Stunde Zeit angesetzt. Er begann mit dem ersten Abschnitt auf Seite 5.
Seine Frage "Gibt es zu Seite 5 Kommentare?" wurde zunächst zur
Kenntnis genommen. Er machte weiter: "Seite 6? Seite 7?"
Schließlich stellte sich heraus, dass die meisten Teilnehmer das
Dokument nur überfolgen und nicht gezielt auf Lücken hin
untersucht hatten. Das Review-Meeting wurde sofort abgebrochen. Die
Teilnehmer hatten nicht verstanden, dass im Review weder kreativ
gearbeitet wird noch das Dokument gelesen wird, sondern lediglich
Lücken aufzuzeigen sind.
Das Anforderungsdokument sollte vor einem Review mit dem Kunden
zunächst informell durchgesehen und nochmals nachkorrigiert
werden. Die informelle Durchsicht hilft vor allem, Mehrdeutigkeiten
aufzudecken. Es hat sich bewährt, sowohl in Dokumenten als auch im
Gespräch auf vage oder subjektive Begriffe zu achten. Meine Liste
enthält:
usw., etc., z.B., das ist klar,
offensichtlich, normal,
schnell, langsam, durchschnittlich, einige, viele, wenige, manchmal,
immer, gewöhnlich, meist, häufig, oft, nie, ausnahmsweise,
regelmäßig, sicher, deshalb, darum, daraus folgt. Dazu kommt
das explizite Aushaken von Aufzählungen bzw. Listen und ein
Augenmerk auf Alternativen
(oder) sowie das Hinterfragen von pauschalen Verarbeitungs-Begriffen
wie zurückgewiesen, verarbeitet, gelöscht, geändert,
neu angelegt, ignoriert, behandelt und nicht-Festlegungen wie flexibel,
wunschgemäß, ordnungsgemäß. Besonders bei
quantitativen
Überlegungen muss auf vage Wertungen wie gut, schlecht,
unterdurchschnittlich,
durchschnittlich, überdurchschnittlich, normal, angemessen,
ausreichend,
befriedigend, mangelhaft, ungenügend, mehrheitlich / Mehrheit /
Mehrzahl,
Minderzahl, wichtig, unwichtig.
Folgendes Beispiel ist von mir frei erfunden, ich stolpere aber
über derartige Aussagen immer wieder, die zwar eine Befindlichkeit
und subjektive Sichtweise ausdrücken, nicht jedoch geeignet sind,
um von einem
Technik-Team als messbare Zieldefinition akzeptiert zu werden.
Beispiel (erfunden)
Auch bei überdurchschnittlicher Systemlast soll
das Systemantwortverhalten im Normalfall gut sein,
jedoch kann ausnahmsweise auch eine langsamere Antwortzeit
akzeptiert werden. Die Mehrheit der Anfragen sollte z.B. in
drei
Sekunden wunschgemäß beantwortet sein. Hohe
Systemlast tritt normalerweise vor wichtigen Feiertagen
wie Weihnachten usw. auf.
Neben den nichtssagenden markierten Begriffen müsste noch
erklärt werden, wie das Systemantwortverhalten gemessen wird,
wodurch sich eine Anfrage auszeichnet und nach welchen Kriterien die
Systemlast gemessen wird. Zwar wird eine Aussage gemacht, dass vor
bestimmten Feiertagen etwas passiert, aber nicht genau, wie lange
vorher. Handelt es sich um Tage, Wochen oder Monate? Zwar wird
gefordert, dass eine Anfrage binnen drei Sekunden
beantwortet sein muss, aber es wird nicht gesagt, wie dieses
Antwortverhalten definiert ist. Time to first byte, time to last byte,
Beginn der Verarbeitung nach Eintreffen der Anfrage?
Jede Regel und jede Entität und deren Zusammenfassungen in
einem Prozess muss auf Vollständigkeit und Richtigkeit
geprüft
werden. Bei Prozessen lassen sich grob drei Verhaltensweisen erkennen:
Einschwingverhalten, eingeschwungenes System und Ausschwingverhalten.
D.h., dass der erste Durchlauf des Prozesses, der "normale" Durchlauf
und der letzte Durchlauf betrachtet werden müssen. Wird die
Vollständigkeit und Richtigkeit eines Prozesses bestätigt, so
sollte dies auch schriftlich fixiert werden, sodass der Prozess
nicht mehr im nächsten Review diskutiert werden muss.
Eine brauchbare Spezifikation enthält für jede
Rechenvorschrift auch mehrere Beispiele, bei denen Randwerte und
"normale" (zufällige) Werte dargestellt werden. Auch die
Richtigkeit dieser Beispiele ist zu verifizieren, und zwar vor Beginn
des Review-Meetings. Gelegentlich zeigt sich jedoch, dass es
Verständnisprobleme gab, die, wenn es schnell genug geht, noch
während des Reviews ausgeräumt werden können.
Falls Algorithmen und Datenstrukturen auch graphisch dargestellt
werden, so muss die Darstellung gegen die begleitenden Texte
abgeglichen werden.
Über das Review wird ein Protokoll geführt,
in dem jeweils (am besten tabellarisch) steht:
- reklamierter Punkt
- Korrektur
- wie schwerwiegend war die Reklamation?
- evtl. auch, wie viele der Teilnehmer den Fehler
bemerkt haben bzw. wer den Fehler bemerkt hat.
Sofern sich im Rahmen einer gefundenen Lücke heraus stellt, dass
die Korrektur noch zu erarbeiten ist, können Arbeitspakete
verteilt werden. In diesem Fall wurde aber schlechte Vorarbeit
geleistet und bei den informellen Durchsichten der Spezifikation wurde
nachlässig gearbeitet.
Als Auftraggeber bzw. Fachanwender sollten Sie sich nicht zurück
halten, denn es geht um Ihr Produkt. Wenn Sie etwas
im Rahmen der Vorbereitung zum Review nicht verstehen, dann reklamieren
Sie dies auch im Review als unklaren bzw. unverständlichen
Abschnitt. In der nächsten Version des Dokuments sollte dann eine
Formulierung gewählt werden, die klarer ist. Ihr Ehrgeiz sollte
sein, dass das Anforderungsdokument, das Ihnen Ihr Analytiker gegeben
hat, zerstört wird. Nur, wenn Ihnen dies nicht einmal mehr
mit den teuflischten Szenarien gelingt, die Sie sich ausdenken
können, ist es gut genug, um als solides Fundament für das
darauf aufzubauende IT-System zu dienen.
Als Zeitdauer für einen Review sollte man nicht mehr als
eineinhalb oder zwei Minuten je Seite plus vielleicht 15 Minuten
für allgemeines blabla ansetzen. Das Dokument wird nur seitenweise
durchgegangen, und über gefundene Fehler oder Lücken gibt es
nur selten Diskussionsbedarf. Die Gesamtdauer eines Reviews sollte zwei
Stunden nicht überschreiten, da sonst bei den Teilnehmern
Ermüdungserscheinungen auftreten. Nötigenfalls kann eine
dritte kreative Stunden nach
dem Review angehängt werden, sollte doch noch Bedarf für die
Klärung von Fragen oder die Erarbeitung von Lösungen
herrschen.
Namen sind nicht Schall und Rauch
Wird ein Produkt und seine zugehörigen Prozesse neu erfunden, so
entsteht auch eine dem Team eigene Gruppensprache. Für bestimmte
Daten, Verarbeitungsschritte oder Produktteile werden Namen erfunden.
Diese Namen sollten in einem Glossar zusammen gefasst und erklärt
werden, wobei Projekt abhängig auch jeweils eine deutsche und eine
englische Bezeichnung vereinbart werden sollte. Gerade bei
mehrsprachigen Umgebungen, z.B. deutsch sprechende Auftraggeber, die
ein
deutsches Anforderungsdokument wollen, das aber für ein englisch
sprechendes Team professionell übersetzt werden muss, ist diese
zweisprachige Vorgabe sinnvoll. Die Namen sollten auch im gesamten
Dokument einheitlich verwendet werden, jede abweichende Verwendung
sollte vermieden werden, und wenn sie unvermeidlich ist, dann muss auf
die Abweichung hingewiesen werden.
Die Erfahrung zeigt, dass Namen gelegentlich redefiniert werden oder
sich ändern. Die Erfahrung zeigt weiterhin, dass IT-Mitarbeiter
dem sehr leidenschaftslos gegenüber stehen. Sie nennen intern
etwas X und auf dem zugehörigen Bildschirmformular steht Y.
Fachanwender tun sich dabei schwerer. Wenn am Ende Y auf dem Bildschirm
zu lesen ist, dann wollen sie auch Y im Anforderungsdokument sehen.
Dies kann im Rahmen der Implementierung z.T. in Forderungen gipfeln,
deren Sinn dem IT-Mitarbeiter verschlossen bleibt.
Beispiel aus der Praxis
Eine Abteilung einer Behörde ließ in der hauseigenen
Software-Abteilung ein Programm entwickeln, das Daten über
die Bezahlung der Mitarbeiter im Hause verwalten sollte. Das
Screen-Design blieb dem Entwickler überlassen, konkrete
Anforderungen vor
Entwicklungsbeginn wurden nicht gestellt. Bei der ersten
Vorführung
wurde reklamiert, dass auf einem Formular vor dem fraglichen Geldbetrag
Gehalt stand, obwohl es sich um einen Beamten handelte, und Bezüge
korrekt sei; bei einem Arbeiter müsse es Lohn heißen und
nur beim Angestellten Gehalt. Der Entwickler machte eine etwas lockere
Bemerkung dahingehend, dass er nicht wisse, ob er zu dieser
Änderung noch Lust habe. Die Reaktion darauf war die Aussage, dass
die Anzeige
nicht korrekt sei und man den richtigen Text braucht. Der
Entwickler
entgegnete, dass dort auch das Wort Kohle stehen könnte, und das
Produkt dennoch die richtigen Informationen liefern würde. Der
Entwickler kündigte noch in der Probezeit.
Dem Business Analysten bleibt leider kaum etwas anderes übrig, als
regelmäßig das gesamte Dokument zu überarbeiten, wobei
darauf geachtet werden muss, dass der fragliche Begriff in
anderem Zusammenhang durchaus korrekt sein kann. Deshalb und dank
der Unwägbarkeiten der deutschen Grammatik tut es ein einfaches
suchen und ersetzen nicht.
Beispiel aus der Praxis
Ein ungeduldiger Fachanwender empfahl suchen und ersetzen in einem
werdenden Anforderungsdokument mit über 100 Seiten
und zeigte wenig Verständnis dafür, dass der Analytiker
sich einen Vormittag Zeit für die Überarbeitung des Dokuments
wegen der Änderung eines halben Dutzends Begriffe heraus nahm. Der
Analytiker erklärte darauf, dass er bei dieser Gelegenheit noch
die verbleibenden Unschärfen, Mehrdeutigkeiten und
grammatikalischen Fehler des letzten suchen und ersetzen - Laufes
korrigiert hatte, die durch den Fachanwender einige Wochen zuvor auf
diese Weise verursacht worden waren. U.a. war dabei ein Begriff A in B
geändert worden, wobei B erst danach in C geändert wurde,
also A und B nun C waren und aus einer alten Dokumentversion und dem
jeweiligen Kontext wieder rekonstruiert werden mussten.
Die Einheitlichkeit der Begrifflichkeit, deren konsequente Verwendung
und ein Konsens im gesamten Team über deren Bedeutung hat hohe
Priorität.
Der versteckte Fehler - Wieviel
übersieht der Anwender?
Grundlegende Überlegungen
Nicht das, was ein IT-Team nicht weiß, bringt ein Projekt zu
Fall, sondern das, was es zu wissen glaubt.
Im Rahmen der Reviews bzw. schon im Rahmen der
vorherigen informellen Durchsichten des Anforderungsdokuments
ist der Business Analyst immer wieder im Zweifel darüber, ob auch
alle Lücken und Fehler im Anforderungsdokument aufgedeckt
werden. Wissen, das ihm fahrlässig vorenthalten wird, kann vom
Analytiker nur dann erkannt werden, wenn sich logische Fehler in
Abläufen einschleichen. Wenn jedoch in sich schlüssige
Abläufe bereits vom Fachanwender falsch oder unvollständig
kommuniziert werden, dann hat ein Analytiker ohne Detailkenntnis
der konkreten Fachabteilung schlechte Karten, und selbst hervorragende
Fachkenntnisse sind keine Garantie, wenn er mit gleichwertigen
Alternativen
zu tun hat, die vom Fachanwender fallabhängig gewählt werden.
Beispiel aus der Praxis
Bei der Betrachtung von Kapitallebensversicherungen im Rahmen eines
Versicherungswirtschaft nahen Projekts wurde dem Analytiker nicht
kommuniziert, dass (beim iebenfalls nur m Rahmen des Projekts zu
betrachtenden Tarifs)
eine Beitragsübernahme durch den Versicherer im
Berufsunfähigkeitsfall gewünscht ist. Diese Lücke wurde
nur zufällig noch vor Abnahme der Spezifikation entdeckt, nachdem
der Business Analyst bei seinem Fachanwender eine dbzgl. Rückfrage
gestellt hatte, da er sich selbst gerade bei der Konkurrenz über
verschiedene Tarife informiert hatte und eigentlich nur wissen wollte,
ob es nicht eine billigere Variante gibt.
Dies sind die wirklich teuren Fehler, denn sie führen dazu, dass
die erste Version der gelieferten Software für den Fachanwender
unbrauchbar ist. Lediglich die direkte Beobachtung der Fachanwender
bzw. die direkte Mitarbeit vor Ort
kann dem Analytiker helfen, solche versteckten Vorgänge oder
Regeln zu finden. Bei einem neuen Produkt, zu dem es noch gar keine
existierenden Vorgänge gibt, kann allerdings dieses Mittel nicht
angewendet werden.
Der Analytiker muss also einen Weg suchen, um eine Metrik zu
erarbeiten, anhand derer er feststellen kann, wie aufmerksam seine
Fachanwender sind, wenn sie Prozesse überprüfen. Auf Basis
dieser Metrik soll ermittelt werden können, wie viele Fehler und
Schwächen im Dokument übersehen werden bzw. wie lange es
dauert, bis sie aufgedeckt werden. Hier dargestellt sind nur
Vorgehensweisen, die ich selbst angewendet habe. Kommentare und
Erfahrungsberichte zu anderen Vorgehensweisen sind willkommen (Kontakt, oder eine Diskussion im Forum).
Der absichtliche Fehler als
Basis
für eine Metrik übersehener Fehler
Das sicherste Mittel, das ich bisher fand, ist das bewusste und
absichtliche Einstreuen von Fehlern in das Analysedokument, und zwar
noch bevor es der Fachanwender das erste Mal zu sehen
bekommt. Diese Fehler sollten nicht rein zufällig verstreut und
auch nicht offensichtlich sein. In meiner Praxis hat sich folgendes
Vorgehen in doppelter Hinsicht bewährt: Erstens erhält man
eine
relativ verläßliche Metrik oder doch einen sicheren Hinweis
auf einen Trend, zweitens macht man sich unbeliebt.
Nach internem Abschluss einer ersten Version eines
Anforderungsdokuments, das der Business Analyst seinen Fachanwendern
aushändigen will, schiebt der Analytiker noch einen
Zwischenschritt ein. Zunächst sucht er sich einen Ansprechpartner,
der ein gewisses Maß an Sachverstand aus dem zu untersuchenden
Fach und aus der IT mitbringt. Dies kann der Projektleiter oder ein
anderer Analytiker sein, evtl. auch ein Mitarbeiter der Fachabteilung,
der aber ansonsten nichts mit dem Analyseprozess zu tun hat. Mit diesem
Ansprechpartner wird zunächst eine Art informeller interner Review
gemacht, bei dem sicher einige Fehler, Schwächen oder
interpretierbare Passagen gefunden werden. Ist solch ein
Ansprechpartner nicht aufzutreiben, dann reicht es auch, dass sich der
Analytiker einen Zuhörer sucht, z.B. einen Werkstudenten, dem er
sein Dokument Seite für Seite vorträgt. Alleine durch die
Verständnisfragen des Studenten werden ebenfalls Fehler gefunden.
Man kann auch "schöne" Fehler, die man als Analytiker alleine noch
vor Freigabe des Dokuments gefunden hat, drin lassen.
Diese Fehler werden protokolliert. Dann überlegt sich der
Analytiker, welche der Fehler er vor Auslieferung des Dokuments noch
behebt. Außerdem ändert er noch bewusst Prozesse, von denen
er glaubt oder weiß, dass sie richtig sind, so ab, dass sie
Fehler enthalten. Auch diese zusätzlich eingebauten Fehler werden
protokolliert. Das Fehlerspektrum sollte
von vollkommen offensichtlichem Unsinn bis zu möglichst
versteckten Fehlern führen, also z.B. von fehlenden Eingaben, die
im Laufe des Prozesses verarbeitet werden, oder extrem vagen
Formulierungen
bis zu Vorzeichenfehlern oder verrutschten Dezimalpunkten in komplexen
Berechnungen; oder Abläufe, bei denen Alternativen fehlen, zu
falschen Resultaten führen oder bei denen Produkte (wie z.B.
der Versicherungstarif im Fallbeispiel) falsch oder
unvollständig beschrieben werden etc. Als Daumenpeilwert setzte
ich etwa eine solchen Fehler pro fünf bis zehn Seiten
Spezifikation oder einen solchen Fehler auf drei bis fünf
Anwendungsfälle an, ausnahmsweise auch etwas mehr.
Diese Version wird dann dem Anwender zur Prüfung gegeben und man
wartet ab, was beim Review passiert. Im Review-Protokoll werden alle
Reklamationen der Fachanwender festgehalten. Diese Reklamationen
gleicht man nun gegen seine eigene Fehlerliste ab. Dabei lassen sich
folgende Fehlerkategorien unterscheiden:
Fehlertyp
|
Anzahl bekannt
|
Anzahl gefunden
vom Anwender
|
Prozentualer Erfolg des Anwenders
|
absichtlich übrig
gelassene Fehler
|
x1 (=100%)
|
a1
|
e1 = a1 / x1 * 100
|
absichtlich eingebaute
Fehler
|
x2 (=100%)
|
a2
|
e2 = a2 / x2 * 100
|
echte (neue) Fehler
|
x3 (unbekannt,
=100%)
|
a3
|
|
Zur Abschätzung von x3, also der Gesamtzahl der noch nicht
entdeckten Fehler, kann man folgende Rechnung
anstellen:
Die Gleichung (G1 * e1 + G2 * e2) / 2 = a3 / x3 * 100 wird nach x3
aufgelöst:
x3 = (200 * a3) / (G1 * e1 + G2 * e2)
Dabei sollte die hier dargestellte Formel nicht zum
Glauben verleiten, dass es sich um ein exaktes Verfahren handelt.
Bei den absichtlichen Fehlern handelt es sich abhängig von der
Spezifikationsgröße wahrscheinlich nur um 10 oder
15 Stück. Werden drei Fehler zufällig gefunden, dann
sieht das Ergebnis deutlich besser aus, als es ist. Man sollte also
eher eine Tendenz herleiten und prüfen, ob e1 und e2 im oberen,
mittleren oder unteren Drittel anzusiedeln ist und daraus
schließen, dass die Reviewqualität ein hohes, mittleres oder
niedriges Projektrisiko darstellt.
G1 und G2 sind Gewichte, mit denen man das Auffinden der übrig
gelassenen bzw. absichtlich eingebauten Fehler
verstärkt oder abgeschwächt in die Schätzung der
echten noch nicht gefundenen Fehler einfließen lässt. In
erster Näherung können G1 = G2 = 1 sein. Zeigen sich jedoch
massive Abweichungen zwischen den Werten e1 und e2, so lassen sich
Rückschlüsse auf die Qualität der versteckten Fehler
ziehen. Ist der prozentuale Erfolg des Anwenders deutlich
größer bei den absichtlich eingebauten Fehlern als bei den
absichtlich übrig gelassenen Fehlern, so waren die selbst
erfundenen Fehler nicht gut
genug. G2 sollte dann klein angesetzt werden, sodass sich G2 * e2
an e1 annähert. Deutlich
größer bedeutet ein
Unterschied
von einem Drittel oder mehr. Im Nebeneffekt stellt der Analytiker dabei
fest, dass er selbst noch nicht genug Fachwissen mitbringt, um den
Anwender
zu täuschen bzw. um für Spezialisten offensichtliche Fehler
zu
erkennen.
Ist das Verhältnis anders herum, die absichtlich eingebauten
Fehler werden nicht so leicht gefunden, wie die absichtlich übrig
gelassenen, dann sollte man als Analytiker ins Grübeln kommen.
Dies kann ein Indiz sein, dass die Fachanwender weit weniger
Verständnis von der Materie haben, als der Analytiker annimmt. Auf
jeden Fall ist es ein Indiz, dass zwar natürliche Fehler in den
Prozessen erkannt werden, nicht jedoch grobe Schnitzer des Analytikers.
Man weiß also, wo man suchen muss. Der Analytiker sollte G2
abhängig von seiner eigenen Berufserfahrung wählen, ein
Anfänger
sollte eher einen Wert bis 1,5 ansetzen, ein erfahrender Analytiker,
der seine Stärken und Schwächen kennt, einen Wert um 1 oder
sogar darunter.
Das Prinzip basiert auf der Annahme, dass der Anwender ungefähr
genau so viele echte Fehler entdeckt, wie absichtlich übrig
gelassene bzw. eingebaute. Nähert sich der gemessene prozentuale
Erfolg des Anwenders an 100% an, so hat man gute Chancen, dass auch die
meisten echten Fehler gefunden wurden. Liegt der Wert sehr niedrig,
unter 50%, was bei einer Schulnote ein "mangelhaft"
wäre, dann müssen sofort Maßnahmen ergriffen werden,
damit sich das Ergebnis in der nächsten Runde verbessert.
Ursachenforschung ist angebracht, häufig haben die Fachanwender
sich nur nicht
genügend vorbereitet. Eine Verbesserung ist in den seltensten
Fällen eine Kompetenzfrage, die zur Folge hätte, dass der
Ansprechpartner auf Fachanwenderseite ausgewechselt werden muss. Meist
ist es eine Frage der Zeit (Tagesgeschäft, andere Aufgaben
erscheinen wichtiger, nicht genügend Zeit zum Studium der
Spezifikation), des
Engagements ("nine to five - Mentalität"), der
Reaktivität
(keine eigene Initiative) und der Gründlichkeit der Vorbereitung
(der Fachanwender geht davon aus, dass alles stimmt).
Beispiel aus der Praxis
Im Rahmen eines Projekts sollten Daten bestimmter Produkte verwendet
werden. Der Projektleiter hatte ernsthafte Sorgen, dass die mit der
Datenpflege betrauten Fachanwender gründlich genug bei der
Durchsicht von Spezifikationen waren und nicht zuverlässig
verifizieren könnten, ob auch alle gewünschten Daten
geliefert werden könnten. Aus diesem Grund bat er mich, ein
geeignetes Verfahren zu entwickeln, um abzuschätzen, wie genau die
Durchsicht war. Dies war die Geburtsstunde dieses Verfahrens. Ich
kannte die Datenwelt fachlich gesehen selbst nicht gut genug, also
schrieb ich munter Unsinn zu fast jedem Produkt, ließ Daten weg,
von denen ich wusste, dass sie vorhanden waren, vertauschte Daten von
Produkten oder fügte sinnlose Daten hinzu. Ich übertrieb
etwas, denn pro Produkt (etwa 15 Stück) waren ein oder zwei
absichtliche Fehler eingebaut worden. Ich ging davon aus, dass ich den
Umschlag, in dem ich alle absichtlichen Fehler aufgelistet mitgebracht
hatte, dringend zu meiner "Entlastung" brauchen würde. Aufgedeckt
wurden
nur etwa ein Fünftel aller Fehler. Der Projektleiter eskalierte
den
Vorfall und ich wurde dafür freigestellt, jedes einzelne Datum
selbst zu verifizieren.
Ist die Zahl der absichtlichen Fehler groß genug, kann noch nach
der Fehlerschwere klassifiziert werden.
Werden komplizierte Fehler in demselben Maß entdeckt, wie
offensichtliche?
Nach dem Review sollte man die nicht gefundenen absichtlichen Fehler
nicht aufdecken. Wenn sie im nächsten oder übernächsten
Review gefunden werden, lässt dies
den Schluss zu, dass sich das Gesamtergebnis ebenfalls verbessert hat.
Man kann jedenfalls mit zunehmender Anzahl Reviews eine Tendenz
ermitteln, wie viele Fehler noch übrig sein dürften.
Fachanwender bzw. Fachabteilungen sind in den seltensten Fällen
mit qualitätssichernden Maßnahmen im Sinne der IT vertraut.
Ein QM-Prozess, der Qualität misst und dafür genutzt wird,
kontinuierliche Verbesserungen zu implementieren, ist dort kaum
anzutreffen. Häufig wird auch das dahinter steckende Prinzip nicht
verstanden: Man sucht Lösungen und Verbesserungen, nicht Schuldige.
Wenn man als Analytiker das von mir vorgestellte Verfahren anwenden
will, dann sollte sich darüber im Klaren sein, dass dieses
Verfahren beim Fachanwender nur selten auf Gegenliebe stößt.
Da implizit eine Überprüfung seiner Arbeitsergebnisse
stattfindet, kann er sich angegriffen fühlen. Eine offene
Eskalation von schlechten Ergebnissen ist nur dann hilfreich, wenn
allen Beteiligten klar ist, dass Schuldzuweisungen nicht konstruktiv
sind. Die Erfahrung zeigt auch, dass die Befürchtung, dass
erstaunlich viele Fehler nicht gefunden werden, leider berechtigt ist.
Beispiel aus der Praxis
In einem unter Zeitdruck stehenden Projekt lagen die Nerven beim
Auftraggeber schon seit geraumer Zeit blank.
Als ich dann noch darauf aufmerksam machte, dass ich dieses Verfahren
zur Qualitätssicherung anwende, gab es eine recht heftige Mail mit
großem Verteiler, dass ich solche Aktionen, die
nur Zeit kosten und der Tarnung von echten Fehlern dienen würden,
unterlassen sollte. Die Mail hatte beim IT-Team erheblichen
Unterhaltungswert. Der Auftraggeber hatte sich für die Korrektur
einer Version der Spezifikation einmal über zwei Monate Zeit
gelassen. Der betroffene Fachanwender war schon mehrfach dadurch
aufgefallen, dass er Frage- und ToDo-Listen nur oberflächlich
abgearbeitet und letztendlich nicht wirklich zur Lösung der
anstehenden Aufgaben beigetragen hatte.
Die Fehlerzahl in einem Dokument erhöht sich natürlich durch
absichtlich eingebrachte Fehler. Somit kann ein nicht informierter
Spezialist zu dem Schluss kommen, dass
die Ergebnisse des Business Analysten überdurchschnittlich viele
Fehler enthalten. Dem sollte vorgebeugt werden. Ein einfaches
Mittel dazu ist, dass die absichtlichen Fehler vor der ersten
Übergabe des Dokuments an den Fachanwender dokumentiert und den
verantwortlichen Personen im IT-Team und bei der Fachabteilung vorab
mitgeteilt werden. Bedingung ist dabei, dass die verantwortlichen
Personen nicht am
Review des Dokuments beteiligt sind und sicher ist, dass sie die
beabsichtigten Fehler für sich behalten.
Inwiefern es gut oder schlecht ist, dass die Fachanwender wissen, dass
es versteckte Fehler gibt, konnte ich noch nicht
entscheiden. Das Wissen kann zu einer intensiveren Suche animieren,
es kann aber auch zu einer ablehnenden Haltung führen, da aus
Sicht des Fachanwenders vermeintlich unnötiger Zusatzaufwand
verursacht wird. Die Anzahl der absichtlichen Fehler muss auf jeden
Fall groß genug sein, dass sich eine Aussage über echte
Fehler ableiten lässt, jedoch klein genug, sodass der Fachanwender
nicht wirklich mehr Arbeit hat.
Evaluierung von Ergebnisse aus
Arbeitspaketen
des Fachanwenders
Die Evaluierung von Ergebnissen aus Arbeitspaketen, die der
Fachanwender im Rahmen eines Analyseprozesses zu erledigen hat, kann mit
Vorsicht als Prognosemodell für die
Qualität der Mitarbeit bzw. Kontrolle des Anforderungsdokuments
heran gezogen werden. Grundlage der dahinter steckenden
Überlegungen ist, dass Aussagen über die Arbeitsweise und die
Arbeitsqualität der Fachanwender bezogen auf das laufende
IT-Projekt gemacht werden können. Man sollte sich dabei nicht zu
der ebenso unsinnigen wie unnötigen Betrachtungsweise
verführen lassen, dass sich die Aussagen, die aus dem für den
Fachanwender fremden IT-nahen Arbeiten hergeleitet werden, auf sein
Hauptbetätigungsfeld übertragen lassen, in dem er zuhause
ist. Zu beachten ist, dass diese Arbeitspakete im
Rahmen des Erstellungsprozesses der Spezifikation erledigt werden. Das
Prognosemodell kann also meist erst nach der Hälfte des
Weges zum fertigen Anforderungsdokument
angewendet werden und eignet
sich auch nur für mittlere oder große Spezifikationen.
Braucht ein Business Analyst eine Information, so
kann er zwei Wege wählen:
- den direkten, z.B. durch einen Besuch, einen Anruf oder eine
EMail.
- den kumulierten, z.B. durch eine Fragensammlung oder eine
ToDo-Liste.
Eine ToDo-Liste oder ein zu beantwortender Fragenkatalog kann bereits
als Arbeitspaket klassifiziert werden, dessen Ergebnis messbar ist. Von
der Vorgehensweise bei der Bearbeitung und der
gelieferten Qualität lassen sich Rückschlüsse auf
die Qualität bei der Bearbeitung des Anforderungsdokuments ziehen.
Je ähnlicher die Arbeitspakete der Fehlersuche im
Anforderungsdokument
bzw. der Vervollständigung von Prozessen ist, um so eher ist ein
Schluss erlaubt. Man sollte allerdings auch hier nicht
übertreiben:
Wenn einmal ein
unzureichendes Ergebnis geliefert wird, dann kann es
sich um einen Ausrutscher handeln. Eine Tendenz lässt sich jedoch
meistens erkennen, wenn das dritte Arbeitspaket auf dieselbe Weise
erledigt
wurde.
Beispiel aus der Praxis
Der stellvertretende Projektleiter und der Business Analyst, beide auf
Auftragnehmerseite arbeitend, hatten einen Fragekatalog mit nicht ganz
50 Fragen ausgearbeitet. Dazu waren fast zwei Tage
notwendig gewesen. Der Analytiker ging davon aus, dass nach
Beantwortung
der erste Schritt zur Abnahme des Konzepts möglich sein sollte
und sah drei Arbeitstage für den Rücklauf vor. Der
Fachanwender bedankte sich für die Zusendung der Fragen und
sicherte zu,
sie sofort zu bearbeiten. Etwas später kam der Rücklauf. Der
Fachanwender hatte zur Überraschung des Analytikers ca.
1 Minute je Frage aufgewendet. Bei Durchsicht der Antworten stellte
sich heraus, dass zwei Drittel der Fragen nicht beantwortet oder dass
die Frage nicht verstanden worden war und somit Antworten auf Fragen
gegeben worden waren, die nicht gestellt gewesen waren. Etwa ein
weiteres sechstel war unvollständig oder mehrdeutig, ins
nötige
Detail war nirgendwo gegangen worden. - Leider war es nicht
möglich,
den Fragenkatalog als ungenügend beantwortet abermals zurück
zu schicken. Der Analytiker kontaktierte also telefonisch andere
Experten
beim Auftraggeber und fragte die einzelnen Punkte im Laufe der
nächsten zwei Tage stückweise ab, der Mehraufwand wurde dem
Kunden in Rechnung gestellt. - Diese Messung ließ sich fast eins
zu eins auf die Rückläufe nach der Durchsicht des
Anforderungsdokuments übertragen.
Das Beispiel aus der Praxis zeigt recht deutlich, dass korrekte
numerische Prognosen für die Qualität des
Anforderungsdokuments nicht möglich sind. Jedoch ist eine
schlechte Messung noch immer besser als gar keine, so lange die Messung
nur die Richtung zeigt.
Ein Rückschluss von rein praktischen (handwerklichen)
Fähigkeiten auf die Qualität von Reviews oder informellen
Durchsichten des Anforderungsdokuments ist nicht
zulässig. Wird z.B. dem Fachanwender der Auftrag gegeben, alle
vorhandenen Formblätter zu einem bestimmten Vorgang zusammen zu
stellen, so
wird er dazu i.d.R. nur in einige Schrankfächer greifen, in denen
diese Blätter liegen. Interessant wird es dagegen, wenn er
zusätzlich
Erklärungen und Beispiele für Vorgänge außerhalb
der Norm liefert. Proaktivität ist stets ein gutes Zeichen, wenn
es um die Sicherstellung der Vollständigkeit von Vorgängen
geht. Genau das Gegenteil ist der Fall, wenn gerade diese Fälle
erst nach und nach und auch dann meist nur zufällig oder auf Grund
seines gesunden Menschenverstandes vom Analytiker aufgedeckt werden.
Ein typisches Beispiel hierfür ist das plötzliche Abbrechen
eines Prozessabfolge, weil der Kunde zwischen zwei Prozessen verstorben
ist.
Die Evaluierung von Ergebnissen aus Arbeitspaketen
des Fachanwenders hat den Nachteil, dass lediglich eine grobe
Daumenpeilprognose vorgenommen werden kann. Der Vorteil ist, dass
das Verfahren ohne Tricks neben der normalen Arbeit Daten liefert
und tatsächlich eine Prognose über die
Größenordnung der versteckten Fehler getroffen werden kann.
Reevaluierung der Istaufnahme
Wird der Ablauf der Istaufnahme
reevaluiert, so kann
nachvollzogen werden, wie häufig bei existierenden
Prozessen zunächst fehlerhafte oder unvollständige Angaben
gemacht worden sind und wie lange es gedauert hat, sie zu finden.
Dazu werden die Review-Protokolle ausgewertet, die idealerweise
tabellarisch
aufgebaut sind und neben dem gefundenen Fehler auch protokolliert wird,
wie schwerwiegend er war. Aus den Protokollen kann für jeden
Prozess ermittelt werden, wie viele Fehler gefunden wurden, und wie
viele Prüfungen des Prozesses notwendig waren.
Nun ist ein existierender Prozess bei einer Istaufnahme natürlich
greifbar, ein
geplanter bzw. fiktiver bei der Anforderungsanalyse aber nur
vorstellbar. Dadurch, dass
weder Analytiker noch Fachanwender am vorhandenen Prozess nachmessen
können, sondern nur auf ihre Phantasie und Analysefähigkeit
angewiesen sind, kann regelmäßig davon ausgegangen werden,
dass im Rahmen der Anforderungsanalyse
mehr, meist deutlich mehr Fehler
gemacht werden, als bei der Istaufnahme. Da die Mehrheit meiner
Projekte
mit neuen Produkten zu tun hatte, für die keine Istaufnahme
möglich
bzw. notwendig war, habe ich keine konkreten Zahlen als Erfahrungswerte
zu liefern, die ich hier veröffentlichen will. Sofern Sie hierzu
Datenmaterial haben, nehme ich es gerne auf.
Eine Möglichkeit zu einer Hochrechnung zu kommen besteht darin,
dieselben Messungen wie bei der Istaufnahme bei der Sollzustandsanalyse
im laufenden Projekt zu machen. Hat man einen Teil der Prozesse
abgeschlossen und man kann davon ausgehen, dass sich nicht mehr all zu
viel an dieser Untermenge des gesamten Anforderungsdokuments
tut, dann
kann man die vergleichbare Prozess-Untermenge aus der Istaufnahme
betrachten und einen Faktor ermitteln, der auf die noch nicht
vollständig definierten Prozesse hochgerechnet wird.
Zu beachten ist, dass viele Fachanwender zwar konkrete existierende
Prozesse nachvollziehen können, jedoch fiktive bzw. neu zu
erfindende Prozesse weder vollständig durchspielen noch
selbstständig darstellen können. Ergebnisse
einer Hochrechnung einer Organisation können also nicht ohne
weiteres auf eine andere Organisation übertragen werden.
Die Reevaluierung der Istaufnahme hat den Vorteil, dass man auf
gesichertes Datenmaterial zurück greifen kann und
mit großer Sicherheit einen Trend für die zu erwartende
Qualität und somit die durch die Fachabteilung zu vertretenden
Folgekosten ermitteln kann, die aus mangelhaft überprüften
und daher unvollständigen oder falschen Vorgaben im
Anforderungsdokument entstehen. Vorteilhaft ist außerdem, dass
die Prognose noch
vor Beginn der Anforderungsanalyse erarbeitet werden kann. Nachteilig
ist, dass nur eine grobe Tendenz festgestellt werden kann.
Messung der Reviewergebnisse
Falls in einem Anforderungsdokument im ersten Review bzw. der ersten
informellen Durchsicht keine Fehler gefunden werden, dann ist etwas
faul. In der Frühphase einer Analyse kann man davon ausgehen, dass
ca. ein Viertel bis ein Drittel der ersten Dokumentenversion korrigiert
werden muss. Diese Version ist i.d.R. noch bei weitem
nicht fertig. Die Anwendung der Paretoregel
kann hier leicht
zu Selbstbetrug führen. Die erste Version wird tatsächlich
nach ca. 20% der Zeit für eine informelle Durchsicht abgeliefert
werden
können, aber die vermeintlichen 80% der Arbeit bestehen lediglich
in einer sehr oberflächlichen Sicht auf das Gesamtsystem, die
vielleicht für eine erste Prozess-Übersicht oder strategische
Managemententscheidung reicht, bei weiten aber noch nicht für ein
IT-System. Die verbleibenden 80% sind für die eigentliche
Detailarbeit notwendig, und diese
Arbeit ist die Kernarbeit der IT.
Von der ersten Durchsicht alleine eine Prognose abgeben zu wollen, ist
daher nicht sinnvoll, da zunächst die hohe Sicht der insgesamt
ablaufenden Prozesse fertig zu stellen ist. Die Anordnung und
Schnittstellen der Prozesse wird normalerweise noch recht lange Zeit
beweglich sein, obwohl genau das Gegenteil für ein IT-Projekt
notwendig ist. Wichtig ist gerade zunächst diese hohe Sicht.
Lassen sich jedoch immerhin einige Prozesse identifizieren, deren
Schnittstellen statisch erscheinen, kann man dort bereits mit der
Detailarbeit beginnen. Gelegentlich wird es aber in der hohen
(strategischen) Prozesssicht noch Änderungen geben, die sich in
den Details auswirken. Die Folge ist, dass auch diese Prozesse
überarbeitet werden müssen, und eine Änderung ist meist
aufwendiger, als einen Prozess neu zu
definieren. Je tiefer also Prozesse bereits im Detail spezifiziert
sind,
um so aufwendiger werden die notwendigen Nachbesserungen, wenn die hohe
Sicht der Prozesse grundlegend geändert wird. Der Fachanwender
selbst hat im Normalfall keine Vorstellung von den Auswirkungen, und
er verkennt auch meist, dass das Durchschleifen von
Detailänderungen
in der Spezifikationsphase ein ernsthafter Kostenfaktor (evtl. doppelt
oder dreifach so teuer wie der optimale Ablauf) wird, nur weil er
selbst
keine verbindliche Festlegung auf eine hohe Prozessablaufsicht findet.
Beobachtet man mehrere hintereinander stattfindende Durchsichten des
gerade entstehenden Anforderungsdokuments, so können je Durchsicht
einige messbare Informationen
gewonnen werden:
- Wie viele neue Prozesse
Pn kamen hinzu?
- Wie viele vorhandene Prozesse Pg wurden ersatzlos gestrichen?
- Bei wie vielen Prozessen Ps wurden vorhandene
Schnittstellen modifiziert? Bei wie vielen davon waren bereits
Detailarbeiten vorhanden? - Eine neue Schnittstelle, die mit einem
neuen Prozess definiert wird, wird hier nicht gezählt.
- Wie viele Details mussten angepasst werden?
- Wie viele der Anpassungen waren komplex?
- Wie viele Folgeforderungen für Detailabläufe anderer
Prozesse ergeben sich?
- Wie viele Details bzw. Features kommen neu hinzu?
- Wie viele Prozesse Pm wurden mehrfach modifiziert?
- Wie viele Änderungen Ä wurden wieder zurück
genommen?
- Wie viele davon in der hohen Sicht der Prozesse (bezogen auf Pn,
Pg)?
- Wie viele innerhalb von Detailabläufen?
Beispiel aus der Praxis
Beim gewünschten Produkt handelte es sich im weiteren Sinne um ein
Simulationsprogramm, in dem sinngemäß Käufe und
Verkäufe abgewickelt werden konnten. Nachdem sich die
Spezifikationsphase schon fast ein halbes Jahr hingezogen hatte und
einige Prozesse schon sehr weit ins Detail ausgearbeitet waren, wollte
der Kunde noch einen komplett neuen Prozess, der etwa einem Warenkorb
in einem Online-Shop entspricht. Dies war um die Zeit der dritten oder
vierten Durchsicht des im Detail bei weitem noch nicht
vollständigen
Dokuments. Wenig
später wurde eine komplette schon bis ins letzte Detail
spezifizierte
Simulations-Komponente gestrichen, die etwa ein Viertel des
Gesamtprodukts
ausgemacht hätte. Der Analyst war bis dahin davon ausgegangen,
dass die Fertigstellung der Spezifikation binnen zwei oder drei
weiteren
Monaten möglich sein sollte. Auch ohne genaue Messergebnisse aus
Reviews bzw. den Durchsichten war unübersehbar, dass die hohe
Sicht der
Prozessabläufe
bis kurz vor Entwicklungsbeginn immer wieder Änderungen erfahren
würde und somit Festlegungen im Detail nicht abzusehen waren.
Der Analytiker riet darauf dringend dazu, mit der Entwicklung von
Teilkomponenten nach Teilabnahmen schon anzufangen, und sei es nur, um
Fakten zu schaffen, denn er befürchtete, dass sonst der
Willensfindungsprozess
der Fachabteilung alle Terminpläne ad absurdum führen
würde.
So war es dann auch, die Spezifikation dauerte ein weiteres halbes Jahr
und abgenommene Teilprozesse wurden immer wieder modifiziert. Ein Change Request Verfahren nach
Teilabnahmen war von der Projektleitung nicht implementiert worden,
somit konnte auch nicht vorab mit der Entwicklung begonnen werden, um
den Änderungszyklus der Anforderungen einzubremsen. Gegen Ende
der Spezifikationsphase ging man IT-seitig etwa vom doppelten Budget
aus, als ein Jahr zuvor angesetzt worden war.
So lange die aufgezählten Zahlen Pn,
Pg, Ps und Pm noch steigen, kann keine
Prognose abgegeben werden, wann die Anforderungsanalyse fertig
sein wird. Sichtbar ist hier nur, dass der Willensfindungsprozess des
Auftraggebers noch im vollen Gang ist, anstatt, wie bei einem
IT-Projekt notwendig, schon im Wesentlichen abgeschlossen ist. Erst,
wenn die
hohe Sicht, also die Anzahl der Teilprozesse, stabil und die Anordnung
der Teilprozesse nicht mehr in Frage gestellt wird, kann man davon
ausgehen, dass die Arbeiten am Detail relativ ungestört
zielführend
voran getrieben werden können. Am einfachsten zeichnet man eine
Graphik oder lässt sie von einem Tabellenkalkulatioinssystem
zeichnen,
in der diese Zahlen nach jeder kompletten Durchsicht des Dokuments
eingetragen
werden. Erst, wenn eine Kurve steil nach unten zu knicken beginnt, ist
ein Ende in Sicht.
Meine Erfahrungen zeigen etwas folgende Ergebnisse:
- Pn, die neu hinzu kommenden Prozesse, sinkt ab der
ersten oder zweiten Durchsicht stetig, und markiert etwa
das erste Viertel oder Drittel der Spezifikationsphase. Ein einzelnes
späteres Ansteigen kann ein Ausreißer sein, ein zweites
Ansteigen kann als Indiz gewertet werden, dass der Fachanwender bis
kurz vor Entwicklungsbeginn das Ziel beweglich hält.
- Pg, die ersatzlos gestrichenen Prozesse, liegen
Anfangs bei 0. Gegen Ende des ersten Drittels oder spätestens um
die Hälfte der Spezifikationsphase herum können Streichungen
auftreten, die eine Folge der Einsicht ist, dass diese
ursprünglich als notwendig betrachteten Prozesse im Rahmen einer
überarbeiteten hohen Sicht nicht mehr notwendig sind. Dies ist
eine direkte Folge der Optimierung der ursprünglichen angedachten
Geschäftsprozesse. Gegen Ende der Spezifikationsphase kann eine
regelrechte Streichungswut von ganzen Prozessketten ausbrechen, wenn
erkannt wird, dass die Entwicklungskosten das Budget sprengen. (vgl.
hierzu Kosten und Aufwände) Erst
hier, wenn der Anwender gezwungen wird, klare und nicht mehr reversible
Priorisierungen festzulegen, wird häufig sichtbar, dass
verschiedene geforderte Prozesse durchaus alternativ zur
Implementierung eines all singing
all dancing IT-Systems auf andere Weise billiger erledigt werden
können.
- Ps, die Anzahl modifizierter Schnittstellen, ist so
gut wie immer größer als Pn, und Ps
tendiert projektabhängig dazu, entweder bald in eine fallende
Gerade zu gehen, oder auf einem bestimmten Niveau zu verharren.
Verharrt die Zahl, dann lässt sich das Ende des Willensfindungs-
bzw. Spezifikationsprozesses nicht absehen.
- Pm, die Anzahl von mehrfach modifizierten Prozessen,
ist kleiner als Ps. Zwar bringt die Änderung einer
Schnittstelle fast immer die Änderung des zugehörigen
Prozesses mit sich, jedoch gibt es keinen anderen Grund außer
eine fehlerhafte Spezifikation, einen Prozess mehrfach zu
modifizieren. Sinkt Pm, so ist dies ein sicheres Zeichen,
dass der Anwender zu stabilen Entscheidungen tendiert. Auch wenn die
Anzahl neuer
Prozesse Pn parallel steigt, so zeigt ein fallendes Ps
doch, dass der Fachanwender i.d.R. nach einer zweiten Betrachtung eines
Prozesses seinen Willen ausgedrückt hat. Wenn Pn
gegen 0 geht, jedoch Pm nur langsam oder gar nicht
fällt, dann dürften auch die zurückgenommenen
Änderungen Ä
hoch bleiben. Dem Business Analyst bleibt hier nichts anderes
übrig,
als drastisch zu zeigen, dass sich der Fachanwender im Kreise dreht.
Gelingt
ihm dies nicht, besteht ein sehr hohes Projektrisiko,
dass Prozesse am
Ende nur unbrauchbar abgebildet werden. Der Liefertermin wird
wahrscheinlich
nicht gehalten werden können. Wenn der Fachanwender weder zwischen
zwei Alternativen wählen kann noch die Implementierung beider
fordert,
kann oder will er erfahrungsgemäß nicht selbst entscheiden
und bedient sich einer anderen Informationsquelle, meist eines
(Produkt-)
Experten. Hier lohnt es sich für den Analytiker, gezielt direkt
Kontakt zum Experten aufzunehmen.
Beispiel aus der Praxis
Nachdem ein Prozess das dritte Mal komplett modifiziert worden war,
fand der Analytiker heraus, dass der verantwortliche Fachanwender bei
logischen Widersprüchen, die der Analytiker aufgedeckt hatte,
immer wieder bei einer Expertengruppe Rat einholte. Da mal der eine
oder der andere gerade in Urlaub, krank oder zu Tisch war, erhielt
der Fachanwender von verschiedenen Spezialisten zum Teil sich
widersprechende Auskünfte, die er an den Analytiker weiter gab.
Wenn sich über mehrere Reviews bzw. informelle Durchsichten hinweg
feststellen lässt, dass von den Fachanwendern immer wieder neue
kleinere Features entdeckt werden, und dies vor
allem bei Prozessen, die bereits mehrfach von der Fachabteilung
durchgesehen wurden, dann kann daraus vorsichtig eine Tendenz
hergeleitet werden, dass dies auch bei den noch nicht betrachteten
Prozessen der Fall
sein wird.
Änderungen von Details in Teilprozessen passieren
zwangsläufig, wenn deren Schnittstellen geändert werden. Die
hier gewinnbaren Zahlen sind für eine Prognose über
versteckte Fehler kaum aussagekräftig.
Aus Reviews und informellen Durchsichten heraus lässt sich nicht
schätzen, wie viele versteckte Fehler in einem
Anforderungsdokument sind. Jedoch lässt sich ablesen, wie
zuverlässig die Anwender zu ihren Entscheidungen stehen und wie
weit der Willensfindungsprozess fortgeschritten ist. Die Auswertung von
Reviews und informellen Durchsichten lässt am ehesten
Schlüsse dahingehend zu, wann eine Spezifikation weit genug ist,
um auch bei einem unvollständigen Anforderungsdokument vorzeitig
mit der Entwicklung beginnen zu können. Dieses Vorgehen wird
häufig gefordert, um Zeit zu sparen, jedoch kann dann der
Auftraggeber nicht erwarten, einen konkreten Preis für die
Entwicklung genannt zu bekommen. Dass dann jede Schnittstelle inkl.
Benutzeroberfläche nur noch über kostenpflichtige Change Requests geändert
werden kann, versteht sich von selbst.
HINWEIS: Der früher
hier platzierte Abschnitt Arbeitsorganisation
wurde auf Grund von Leserwünschen erweitert, teilweise mit
Vorlagen ergänzt und in ein eigenes
Kapitel verschoben.
home - top
- Kontakt - letzter Update
23.4.2004 - © Karl Scharbert