Begriffsdefinition - Von was redet der Typ überhaupt?

Business Analysis / Anforderungsanalyse / Geschäftsprozess-Analyse / Fachanalyse - Was ist das?
Die Frage des Nachbarn
Berufsbild - Was macht ein Business Analyst den ganzen Tag?
Einordnung der Anforderungsanalyse innerhalb eines IT-Projekts - Was wollen wir überhaupt?
Ein Beispiel - Die Fläche eines Dreiecks
Exkurs - kleine Katastrophen



Business Analysis / Anforderungsanalyse / Geschäftsprozess-Analyse / Fachanalyse - Was ist das?

Ich benutzte die Begriffe Business Analysis, Anforderungsanalyse, Geschäftsprozess-Analyse und Fachanalyse redundant, obwohl dies nicht ganz korrekt ist. Der Hintergrund liegt darin, dass es im deutschen Sprachgebrauch keine konkrete Bezeichnung für die Bezeichnung Business Analyst gibt. Die englische Sprache unterscheidet sehr klar in den "business analyst" und den "analyst/programmer", wogegen man im Deutschen eigentlich nur vom "Analytiker" spricht, oder, wenn die technische Seite der Analyse stärker betont werden soll, vom "Systemanalytiker". Der analyst/programmer ist sehr technisch, er befasst sich wie auch Software-Architekt, Software-Designer oder Software-Entwickler alleine mit dem "Wie", also mit der Lösung eines Problems. Der business analyst definiert dagegen das "Was", also die Anforderungen an das Produkt, das gebaut werden soll. Seine Fokussierung ist zwar fachlich, aber da er das Bindeglied zwischen Technik und Fachabteilung darstellt, muss er beide Felder im Blickfeld behalten.

Das Resultat einer business analysis ist ein Anforderungsdokument, ein Konzept, das möglichst uninterpretierbar beschreibt, was das gewünschte Software-Produkt am Ende tun soll.  Im allgemeinen Projekt-Management-Sprachgebrauch wird dieses Konzept Lastenheft genannt, im IT-Sprachgebrauch kommt der Begriff aber kaum vor. Dafür hört man den Begriff Anforderungsdokument, Fachkonzept oder Software Requirements Document (SRD). Auf diesen Seiten benutze ich den Begriff Anforderungsdokument.

Die Beschreibung, was zu tun ist, kann in der Theorie eindeutig und uninterpretierbar erfolgen, in der Praxis ist das aber nicht ganz ohne Tücken, und die Wahrheit steckt am Ende in der Software.

Betrachten wird das klassische Bild eines Programms nach dem Black-Box-Prinzip, so sehen wir die EVA-Idee. EVA steht für Eingabe, Verarbeitung, Ausgabe.

Eingabe -> Verarbeitung -> Ausgabe

Zur eindeutigen, uninterpretierbaren und vollständigen Beschreibung eines jeden Software-Produkts gehört:
  1. Die Eingabe: Alle Datenquellen müssen beschrieben werden. Hierzu findet eine Datenanalyse (Geschäftsdatenanalyse, business data analysis) statt.
  2. Die Verarbeitung: Alle Prozesse, die auf die eingehenden Daten aus den Datenquellen angewendet werden sollen, alle Umformungen, alle Algorithmen müssen beschrieben werden. Hierzu findet eine Geschäftsprozessanalyse (business process analysis) statt. Dies ist das Hauptthema dieser Seiten.
  3. Die Ausgabe: Alle gewünschten Resultate von der Speicherung in irgendwelchen Datensenken (z.B. Datenbanken), über gedrückte Reporte bis hin zu Bildschrimdialogen, aber auch Ausgabeströme für andere Prozesse müssen beschrieben werden. Hierzu findet wiederum eine Datenanalyse statt.
Die Geschäftsprozess-Analyse (business process analysis) ist bei der Verarbeitung anzusiedeln. Wird von Geschäftsdatenanalyse (business data analysis) gesprochen, so meint man damit vor allem die eingehenden Daten, jedoch auch die resultierenden Daten. Der Begriff Anforderungsanalyse umfaßt darüber hinaus noch weitere Anforderungen, z.B. an Datenmengen, Performance oder Robustheit des Systems. Fachanalyse umfaßt am ehesten die ausschließlich die Fachabteilung betreffende Geschäftsprozess- und Geschäftsdaten-Analyse.

Zum Verständnis wichtig ist, dass ein Geschäftsprozess nicht zwingend etwas mit Software zu tun haben muss. Im Jahr 1960 waren Computer eine neue und exotische Sache, aber die Geschäftswelt funktionierte recht gut; vielleicht sogar besser als heute. Innerhalb einer betrieblichen Organisation kann ein Geschäftsprozess z.B. das Abheften eines Beleges beinhalten. Dies ist eine Tätigkeit, die zwar als Teil der Geschäftstätigkeit notwendig ist und auch als Arbeitsablauf (und somit Geschäftsprozess) definiert und in einer Arbeitsvorschrift oder in einem Qualitätshandbuch festgehalten sein kann, jedoch nicht zwingend etwas mit einem IT-System zu tun haben muss.

Ein Software-Produkt, also ein Programm, bildet lediglich die echte Welt ab. Damit ein Geschäftsprozess in einem Stück Software abgebildet werden kann, muss zuerst der Geschäftsprozess auf dem Papier funktionieren. Der Weg dorthin soll auf diesen Seiten beschrieben werden.


Die Frage des Nachbarn

Als ich einmal im Sommer 2002 in meiner Heimatstadt zu Besuch war, fragte mich mein Nachbar, ein Handwerksmeister und Abteilungsleiter eines mittelständischen Betriebes ohne jeden IT-Hintergrund, damals schon einige Jahre in Rente, was ich nun eigentlich genau als Beruf mache. Ich war etwas in Verlegenheit, und er bemerkte dies. "Erkläre es mir so, wie wenn Du es einem Kind erklären solltest." forderte er mich auf.

"Nun", sagte ich, "stellen wir uns vor, ein Programm sei ein Haus. Jetzt kommt jemand zu Dir und sagt zu Dir, dass Du ein Haus für ihn bauen sollst. Das machst Du, vielleicht so eines, wie Du selber hast. Dann kommt der Auftraggeber, schüttelt den Kopf, und erklärt Dir, dass er eher an eine Villa und nicht an eine Doppelhaushälfte gedacht hat." Mein Job im Rahmen der Software-Entwicklung ist es im übertragenen Sinne, dass ich mich mit dem Auftraggeber hinsetze und ihn so lange ausfrage und seine Ideen so weit strukturiere und nieder schreibe, bis der Architekt anfangen kann, einen Bauplan zu zeichnen. Außerdem will ich wissen, wofür er das Haus hernimmt, ob er vielleicht irgendwo einen Gasanschluss braucht, vielleicht sogar, ob er irgendwo Tapeten in einem Zimmer haben will. Die Farbe der Tapeten interessiert mich aber nicht mehr.

Berufsbild - Was macht ein Business Analyst den ganzen Tag?

Aufgabe des Business Analysten ist es, die Kundenanforderungen aufzunehmen und so zu formulieren, dass sie vom technischen Personal verstanden und in ein IT-System umgesetzt werden können. Bei http://www.rational.com/media/whitepapers/rup_bestpractices.pdf S.10 wird treffend festgestellt:
One of the major problems with most business engineering efforts, is that the software engineering and the business engineering commuinity do not communicate properly with each other.This leads to the output from business engineering is not being used properly as input to the software development effort, and vice-versa.
Die Hauptarbeit des Business Analysten ist zuhören, hinterfragen, verstehen, strukturieren und dokumentieren. Er stellt das Bindeglied zwischen Fachabteilung und IT-Team her.

Ein Business Analyst hat keinen kreativen Anspruch, er denkt sich keine Dinge aus. Die Idee ist dem Kunden überlassen. Die Vision arbeitet der Kunde häufig bereits mit dem Analytiker aus. Das Analysedokument ist das Produkt, das der Analytiker mit Hilfe des Kunden und in seinem Auftrag erarbeitet. Wenn ein Business Analyst kreativ ist, dann bei der Ausarbeitung von Algorithmen, die er aus den Beispielsammlungen der Fachabteilung erstellt.

Allerdings wirkt ein Business Analyst auch an der Gestaltung von Geschäftsprozessen mit. Im Rahmen einer Analyse erarbeitet der Analytiker eine hohe Sicht auf die gesamte zu untersuchende Organisation. Dabei können Prozesse verbessert oder vereinfacht werden. Man sollte sich den Business Analysten allerdings nicht als wichtigtuerischen Berater vorstellen, der ja irgendwie seine Existenz rechtfertigen muss. Wenn ein IT-System gebaut wird, dann hat dies zwangsläufig Rückwirkungen auf die abgebildeten Geschäftsprozesse. Ziel soll es ja sein, das Leben leichter und nicht schwerer zu machen. Die Gestaltung bzw. Umgestaltung der Geschäftsprozesse muss also neben einem finanziell meßbaren Gewinn für das Unternehmen auch zu einem Gewinn an Arbeits- und Lebensqualität für den einzelnen Mitarbeiter führen.

Die Tätigkeit ist sehr kundennah, aber nicht unbedingt vollkommen technikfern. Wenn ein Business Analyst sich die Kundendaten anschaut und diese Daten bereits in einem IT-System vorhanden sind, dann wird er selbstständig die Datenbank auswerten. Hat er die notwendigen technischen Kompetenzen, so wirkt er beratend beim Software-Design mit, u.U. wird er sogar gelegentlich als pair programmer aktiv.

Wichtigstes Handwerkszeug des Business Analysten ist sein Kopf. Er denkt. Er vollzieht die Gedankengänge des Fachanwenders nach und formuliert sie in einer Sprache, die sowohl der Fachanwender als auch der Software-Entwickler verstehen. Er versteht Prozesse und kann daher diese Prozesse dokumentieren und auch optimieren.

Das Zuhören setzt ein hohes Maß an Geduld und sozialer Kompetenz voraus. Der Job es Business Analysten ist also nichts für Eigenbrötler oder ungeduldige Choleriker. Vielmehr muss ein Analytiker auch mit dem cholerischen Anfall eines ungeduldige Kunden umgehen können. Frustrationstoleranz ist also angebracht. Ein Business Analyst läßt vor allem seine Fachanwender erzählen und er fragt auch nach, denn er muss das Arbeitsfeld des Fachanwenders so weit verstehen, dass er ein Kochrezept schreiben kann, also einen Algorithmus beschreiben, der in einem IT-System abgebildet werden kann. Dieses Zuhören sollte im weiteren Sinne als das Sammeln und Aufbereiten von Informationen verstanden werden. Dies kann im Rahmen von Workshops, Interviews, informellen Treffen in der Teeküche, Beobachtung der Arbeitsschritte und auch in Form direkter Mitarbeit in der zu untersuchenden Organisation geschehen. In besonderen Fällen kann auch mit Fragebögen gearbeitet werden

Die Erfahrung zeigt, dass sehr viele Fachanwender nicht in der Lage sind, ihre eigenen Gedanken strukturiert zu Papier zu bringen. Beim Analytiker entsteht somit häufig der subjektive Eindruck, dass der Fachanwender überhaupt nicht versteht, was er tut. Tatsächlich ist dies natürlich Unsinn: Der Fachanwender versteht sehr wohl, was er tut, er ist allerdings kein Informatiker und hat keine Übung darin, seine Arbeit Programmierer-gerecht zu erklären. Dies liegt einerseits an der Ausbildung und am Anspruch des Fachanwenders an seine Arbeit, andererseits auch an der Zeit, die er nicht hat. Ein mittleres oder großes IT-Projekt soz. nebenbei abzuwickeln funktioniert nicht. Der Anspruch eines Fachanwenders ist reproduktiv, in aller Regel begnügt er sich damit, die Tätigkeit, die er abwickeln soll, Tag für Tag zu reproduzieren. Alle Aufgaben, die jenseits seines Tätigkeitsfeldes existieren, interessieren ihn kaum. Somit ist sich der normale Fachanwender häufig über zwei Dinge nicht im Klaren: Er hat keinen Blick für die Organisation als ganzes und er hat keine Vorstellung der Auswirkungen seiner Arbeit auf sein Umfeld. Der Business Analyst muss jedoch den Blick fürs Ganze haben und dennoch ins Detail gehen können. Er vollzieht also nicht nur die einzelne Tätigkeit eines einzelnen Fachanwenders nach, sondern die einzelnen Tätigkeiten vieler Fachanwender. Und er stellt sie in einen Kontext zueinander.

Ein interessanter Nebeneffekt in manchen kaum durchschaubaren oder nicht recht funktionierenden Organisationen ist, dass die Informationsanalyse, die im Anfangsstadium eines IT-Projekts stattfindet, häufig erstmalig auch für das mittlere oder höhere Management nachvollziehbar macht, was in diesen Organisationen eigentlich passiert. Häufig haben auch, so ganz nebenbei, einzelne Mitarbeiter Aha-Erlebnisse: sie verstehen endlich, warum die Vorarbeit eines anderen Mitarbeiters genau so und nicht anders statt findet oder weshalb im Geschäftsprozess nachfolgende Mitarbeiter bestimmte Forderungen stellen, die lange Zeit nur als Schikane wahrgenommen wurden. Manchmal wird sich der einzelne Mitarbeiter der Wichtigkeit seines eigenen Beitrages zum Gelingen eines Unternehmens erstmalig bewußt. - Dies sind allerdings wie gesagt Nebeneffekte.

Etwas anders gelagert ist der Fall bei anonymen Produkten. Darunter versteht man Produkte, deren Anwender man nicht kennt. Beispiele hierfür sind Massenprodukte wie Textverarbeitungssysteme oder der Webbrowser, vor dem Sie gerade sitzen, oder jede Art von Internetanwendung. Hier sitzt der Ansprechpartner meist in einer Marketing-Abteilung, und der Projektleiter wird häufig die Empfehlung aussprechen, dem Mann oder der Frau vom Marketing nur die Hälfte dessen zu glauben, was er sagt. Beim anonymen Produkt müssen in gewissem Sinne die Bedürfnisse des Endanwenders erraten werden. Natürlich wird nicht geraten, sondern wiederum gefragt oder Studien mit Testpersonen durchgeführt.

Es liegt nahe, dass der Business Analyst die Software-Entwicklung bis zum Ende begleitet. Häufig schreibt er Testkonzepte parallel zur Software-Entwicklung. In jedem Fall hilft er, die Spezifikation zu interpretieren, sollte etwas unklar sein. Ein Richtwert ist, dass eine Spezifikation dann gut ist, wenn nicht mehr als zwei kleine Fehler oder offene Fragen pro Seite von den technischen Leuten gefunden werden, und wenn nicht mehr als ein grober Fehler auf zehn Seiten gefunden wird. Dieser Richtwert gilt selbstverständlich nur für den ersten Wurf einer Spezifikation und muss noch weiter reduziert werden. Die Zahl kann weit höher oder niedriger liegen, je nach dem, wie viel Aufwand in die Spezifikation gesteckt worden ist.


Einordnung der Anforderungsanalyse innerhalb eines IT-Projekts - Was wollen wir überhaupt?

Vgl. hierzu Business Analysis als Bestandteil eines Prozess-Modells bei IT-Projekten für eine ausführliche Darstellung.

Am Anfang eines IT-Projekts steht stets die Idee. Die Formulierung dieser Idee ist meist kurz, kaum mehr als ein paar Zeilen.

Beispiel aus der Praxis

Mein Projektleiter drückte mir einmal eine ausgedruckte E-Mail seines Fachanwenders folgenden Inhalts in die Hand: "Wir wollen Gebühren einführen. Wie lange dauert es? Wieviel kostet es?" Das war alles.

Wir hatten zwar keine Ahnung, wofür die Gebühren erhoben werden sollten, ob es irgendwelche Gebührenmodelle oder Rabatte geben sollte, woher wir wissen, wann die Gebühren anfallen etc. Aber der Kunde hatte eine Idee und sicher auch eine mehr oder weniger klare Vorstellung, von den Gebühren. Gleichzeitig brachte er seine zwei wesentlichen Fragen bzw. Sorgen vor. - Die Angelegenheit dauerte inklusive Bürokratie etwa eineinhalb Jahre und kostete entsprechend viel. Bei Fertigstellung des Produkts war mein Kontrakt schon geraume Zeit beendet.
Die Idee ist vage, in jeder Hinsicht unkonkret. Nur die Leute, die die Idee hatten, können sich wirklich vorstellen, was am Ende rauskommen soll. In jedem kleinen Problem verstecken sich gerne mehrere größere Probleme. Was ist also zu tun?

Aus der Idee heraus muss eine Vision erarbeitet werden die eine Mission erkennen läßt. Dieses Mission-Statement ist eine Art Zusammenfassung, die abhängig von der Projektgröße von einer bis zu einigen Dutzend Seiten reichen kann. Ziel dieses Mission-Statements ist, dass jeder vom Top Manager bis zum Programmierer, der es gelesen hat, eine klare Vorstellung davon bekommt, wohin man eigentlich will. Es reißt alle wesentlichen zu klärenden Fragen an und enthält bereits eine Erfolgsdefinition. Diese Definition von Erfolg kann auch konkrete Kriterien für den Mißerfolg darstellen. Gerade bei anonymen Produkten kann diese Erfolgsdefinition sehr schwierig werden.
Beispiel aus der Praxis

Im Rahmen einer mehrseitigen Zusammenfassung für ein Projekt, die auch als erster Teil einer business specification vorhanden war, nannte der Auftraggeber im Abschnitt Erfolgsdefinition für eine geplante Internetanwendung zunächst eine Zahl x an Benutzern. Würde diese Zahl x erreicht, so sei ein wesentliches Projektziel erreicht. Im Laufe der nachfolgenden ca. einjährigen Analysezeit wurden Zahlen von x bis 15 * x genannt. Eine konkrete Festlegung erfolgte im letzten Moment, als die Server dimensioniert wurden und somit die Kostenfrage auf dem Tisch lag. Man einigte sich auf 5 * x. Die tatsächliche Menge war am Ende 1,5 * x.

Die Zahl der Anwender ist einer der wesentlichen projektkritischen Parameter bei Internetanwendungen. Denn abhängig von der Zahl und dem Benutzerverhalten (wann und wie oft kommen wie viele Seitenaufrufe) muss die Hardware dimensioniert und die Software optimiert werden. Diese eine Zahl kann, falls sie zu groß dimensioniert ist, dafür sorgen, dass die anfallenden Kosten durch die Anzahl Benutzer nicht gerechtfertigt ist; nicht nur in Bezug auf die Hardware, sondern auch in Bezug auf die Entwicklungskosten bzw. in Bezug auf den gesamten Return On Investment. Sie kann, falls sie zu klein dimensioniert ist, dafür sorgen, dass der Service nicht zur Verfügung steht, da das System überrannt wird. Die Benutzer werden dann häufig nie mehr wieder diesen "schlechten und langsamen" Service nutzen wollen.
Tatsächlich kommt es regelmäßig vor, dass keine klare Definition für Erfolg und Misserfolg eines Projekts angegeben wird. Hier ist das Qualitätsmanagement gefragt, der Business Analyst kümmert sich im Rahmen eines IT-Projekts um diese Frage eher nebenbei. Die Definition von Erfolg impliziert, dass eine Messung der Prognose stattfindet. Dadurch kann spätestens nach Projektende auch der Misserfolg verifiziert ist. Niemand läßt sich gerne nachweisen, dass er nicht recht hatte, und dies dürfte der Hauptgrund dafür sein, dass die klare Festschreibung von Erfolgskriterien vermieden wird. Der Qualitätsmanagementprozess sucht allerdings keinen Schuldigen, sondern meßbare Ergebnisse und kontinuierliche Verbesserung.

Hat man nun eine klare Vision vor Augen, so folgt die Spezifikation. Und das ist die eigentliche Arbeit des Business Analysten. Nach Analyse der Geschäftsdaten und Geschäftsprozesse und nach Aufnahme aller Benutzerwünsche erarbeitet der Analytiker ein Konzept, das die Anwendung im Detail beschreibt. Im Detail bedeutet, dass neben allen Datenquellen, Verarbeitungsschritten und Ergebnissen auch die Benutzeroberfläche beschrieben wird, und zwar bis auf Attributebene und bis hin zur Prüfung einzelner Datenfelder. Spätestens hier beginnt die enge Zusammenarbeit mit Oberflächen-Designern und Software-Designern. Für eine Business Analsten ist es also von Vorteil, wenn auch nicht zwingend eine Bedingung, wenn er die Grundlagen der Ergonomie einer Benutzeroberfläche verstanden hat und selbst Programmiererfahrung mitbringt.

Anhand der Spezifikation, also der vollständigen Beschreibung des gewünschten Leistungsumfangs des IT-Produkts, und nur anhand dieser Spezifikation, kann erstmalig eine seriöse Kostenschätzung stattfinden. Es ist zwar gängige Praxis aber vollkommen sinnlos nach einem Preis zu fragen, wenn man selbst noch gar nicht weiß oder auch nur noch nicht kommuniziert hat, was man will.

Idee - Vision - Spezifikation

Die Spezifikation ist i.d.R. Anlage zum Vertrag, und getestet wird gegen die Spezifikation. Tut ein Programm das, was in der Spezifikation steht, dann wird das Produkt abgenommen. Man sieht hier eine wesentliche Tücke: Ist die Spezifikation falsch oder unvollständig, dann muss letztendlich auch ein falsches Produkt geliefert werden, um die Abnahme zu erreichen. Da man dies jedoch nicht will, ist ein change request, also ein Antrag auf Änderung, fällig. Dafür ist dann eine erneute Kostenschätzung notwendig.

Die Verantwortlichkeit für die Korrektheit der Spezifikation liegt zwar hauptsächlich beim Business Analysten, die Verifikation der Korrektheit und Vollständigkeit ist Sache des Kunden. Spätestens im Moment der Abnahme muss der Analytiker glauben, dass der Kunde die Spezifikation verstanden und für richtig befunden hat.

Abhängig vom Projekt und vom Auftraggeber wird der Business Analyst im Rahmen der technischen Realisierung das Produkts Design und die Entwicklung begleiten und bei der Erstellung von Testplänen nochmals sehr aktiv.


 

Ein Beispiel - Die Fläche eines Dreiecks

Business Analysten arbeiten am Was. Sie arbeiten also zunächst das Problem aus, die Lösung kommt später dran. Auftraggeber wollen jedoch Lösungen sehen. Somit hat sich in weniger professionellen Umgebungen eine Kultur des Lösungsfetischismus durchgesetzt, die sich mit dem Wie beschäftigt, ohne zu wissen, um was es geht. Ich selbst benutze gerne in Anlhenung an die Unterteilung von Programmiersprachen in maschienen- und problemorientierte Sprachen den Begriff Problemorientierung, der jedoch in der Lösugnsfetisch-Gemeinde nicht beliebt ist. Die Reihenfolge ist stest verstehen, spezifizieren, designen und implenentieren. Die Arbeit an der Lösugn zieht sich natürlich durch das ganze Projekt, die Definition des zu lösenden Problems steht jedoch am Anfang in der Spezifikationsphase. Erst mit Beginn der Desigphase wird an der konkreten Lösung gearbeitet. Problemorientierung bedeutet nicht zu erzählen, warum etwas nicht geht, sondern festzustellen, was genau zu tun ist.

Die Fläche eines Dreiecks zu berechnen, lernt man schon in der fünften Klasse. Später, so in der neunten oder zehnten, stolpert man aber wieder mal darüber. Lehnen Sie sich zurück und kramen Sie einen Augenblick in Ihren Erinnerungen. Vielleicht kommt Ihnen der Sinussatz in Erinnerung, oder auch der Begriff Perimeter...

Es war einmal vor langer langer Zeit ein Programmierer namens Paul, der, zumindest aus Sicht einiger Leute, nichts zu tun hatte, denn er schrieb die Dokumentation für irgendein Programm, das schon seit Monaten im Einsatz war. Nun kommt der Projektmanager Peter vorbei und ruft seinem Programmierer Paul zu: "Der Anwender Anton braucht ein Programm, das ihm den Flächeninhalt eines Dreiecks berechnet. Kannst Du das heute noch hinkriegen? Der Fall ist wie üblich dringend." Wo war doch gleich wieder Bert der Business Analyst? Ach, der trinkt schon wieder einen Kaffee mit dem Anwender Andreas, diesem DAU, doppelt so schlimm wie Anton. Aber manche Sachen kriegt man auf die schnelle hin. Programmierer Paul schaut zur Sicherheit nochmals in der alten Formelsammlung nach und findet:

Fläche eines Dreiecks F = (g * h) / 2

Er weiß nun, oder glaubt doch zu wissen, wie die Lösung aussieht. Also programmiert er rasch ein, sagen wir mal, C-Programm, dessen Pseudocode so aussehen könnte:
lies Eingabe g;
lies Eingabe h;
verarbeite Berechnung F = (g * h) / 2;
drucke Ausgabe F;
Das Resultat schickt er an Anton und widmet sich anderen Dingen.

Kurz darauf meldet sich Anton und erklärt, dass das Programm nicht brauchbar sei, denn es könne ja nur seine rechtwinkeligen Dreiecke berechnen, und die hat er nur jeden dritten Mittwoch im Monat. Außerdem kann er mit der Zeilenorientierung der Eingabe und Ausgabe nichts anfangen. Paul wundert sich und inzwischen ist Bert der Business Analyst wieder da. Bert besucht Anton und kommt nach zwei Tagen mit folgenden Auskünften und einem Packen Papier zurück:
  1. Anton hat mal für g = 0 eingetippt und für h = -3 und auch mal beides zusammen, aber das Programm hat ihm nicht gesagt, dass dies ein Fehler ist.
  2. Anton hat von seinen Dreiecken gelegentlich, aber wirklich nur gelegentlich, die Höhe h.
  3. Dafür hat Anton häufig die Länge von zwei Seiten und einen Winkel zwischen diesen Seiten. Manchmal ist es sogar ein rechter Winkel, aber wirklich nur jeden dritten Mittwoch im Monat.
  4. Eben so häufig hat Anton die Länge von zwei Seiten und einen Winkel, der aber nicht zwischen den beiden Seiten ist, sondern am Ende einer der anderen Seiten anliegt.
  5. Sonst hat er auch ziemlich oft eine Seitenlänge und die zwei Winkel, die an dieser Seite anliegen.
  6. Nicht seltener aber hat er auch nur eine Seitenlänge, einen Winkel, der an der Seite anliegt, und den Winkel, der nicht an dieser Seite anliegt. (Randnotiz: Das macht aber nichts, dann die Summe der Winkel eines Dreiecks ist 180°)
  7. Manchmal hat Anton aber auch  nur die Länge von allen drei Seiten a, b und c.
Außerdem will Anton die Funktion nicht in C, sondern im Rahmen eines größeren Paktes als Java-Klasse. Natürlich soll das Programm absturzsicher sein und alle möglichen Fehlerfälle abdecken. Die nötigen Formeln sind im Dokument beigelegt. Außerdem wird erklärt, wann die Daten falsch sind. In der Spezifikation findet sich der Hinweis: Die Längenangaben der Seiten sind in Metern oder in Zoll, die Fläche muss sowohl in Quadratmetern, als auch in Quadratyards, als auch in Quadratfuss abgerufen werden können. Bert gibt der Testerin Therese eine Kopie der Spezifikation, die sich sogleich an einen Testplan macht.

Nehmen wir für die Datenprüfung den Fall 7: a = 1, b = 2, c = 1000 wird wohl kein Dreieck sein. Es gilt also: a + b < c oder a + c < b oder b + c < a. Und wenn a, b oder c <= 0 ist, dann ist es bestimmt kein Dreieck. Sind die Werte im Verhältnis zueinander "extrem", also z.B. a + b = c - 0,000000000001, dann könnte es numerisch etwas instabil werden. Zudem hat jeder Rechner seine Grenzen, also sollten auch keine sehr sehr großen Zahlen dran kommen. In der Spezifikation steht noch: Keine Seite kann größer als 100 km sein und muss mindestens 3 Zoll sein. Mithin gilt also 3" <= a,b,c <= 100.000 m.

Schließlich findet sich noch ein Hinweis in dem Dokument, dass in Zukunft für eine spätere Version des Programms auch die Möglichkeit in Betracht kommt, dass die Ecken durch die Koordinaten einer Landkarte bestimmt werden, wobei die Dreiecke so groß werden können, dass man die Krümmung der Erdoberfläche berücksichtigen muss.

Programmierer Paul stellt nur entnervt fest: "Kann Anton das nicht gleich sagen?"

Darauf Bert der Business Analyst: "Hast Du ihn gefragt, was er wirklich braucht?"

Was ist nun die Moral von dieser Geschichte? Paul hat angenommen, dass er weiß, was Anton will. Er hat es aber nicht gewußt. Schlimmer noch: Paul hat nicht einmal in Betracht gezogen, dass er sich irren könnte. Betriebswirtschaftlich gesehen hat er Zeit und Geld seines Arbeitgebers verschwendet. Sozial gesehen hat er schlechte Laune und womöglich ist der Rest des Tages vergrätzt.

Paul hatte eine Lösung, aber leider passte das Problem nicht dazu.


Exkurs - kleine Katastrophen

Lassen Sie uns zunächst einen Exkurs im Exkurs machen, nämlich einen zur deutschen Sprache, genauer zur deutschen Grammatik - samt Nebenwirkungen bei Geschäftsprozessen und Geschäftsdaten. Lassen Sie sich dadurch aber nicht verwirren, die Angelegenheit ist in einer Minute erledigt und ganz einfach (das behaupten Fachanwender auch immer). Die Frage ist, ob man "sind" oder "ist" sagt und es geht um die Korrektheit eines deutschen Satzes. Also, welche Aussage ist richtig: Sieben und fünf ist dreizehn. Oder: Sieben und fünf sind dreizehn. - Alle Hilfsmittel zur Klärung der Frage inklusive Anruf in der Duden-Redaktion sind erlaubt. Sie dürfen auch in einer Formelsammlung nachschlagen.

Seien Sie nicht vorschnell in Ihrem Urteil und schauen Sie sich die beiden Sätze nochmals gründlich an, denn abhängig von Ihrer Antwort ist der Erfolg eines Millionen-Projekts! Lassen Sie sich durch nichts ablenken und verfälschen Sie nicht den Satz. Es geht nur um diese paar Worte und sonst nichts. - Lösung.

Beispiele aus der Praxis

Als in den achtziger Jahren eine Abteilung einer Behörde auf EDV umgestellt wurde, war eine der zu klärenden Fragen, was man mit den alten Bescheiden machen sollte. Im zuständigen Rechenzentrum saß ein Hochschulabgänger ohne wirkliche Berufserfahrung, der so ziemlich alles selbst machen mußte. Sechs Bescheide wurden mehrmals implementiert. Zunächst hieß es, man brauche nur einen Ausdruck. Anschließend hieß es, man brauche den Bescheid vierfach,dann wollte man auf einem Bescheid "Original" und auf den anderen dreien "Kopie" stehen haben. Dann sollte der Aufdruck "Original" wegfallen. Anschließend sollten verschiedene Anschriften aufgedruckt werden. Etc. Nach zwei Wochen schlug der Entwickler bei seinem Chef auf und erklärte ziemlich laut, dass zur Implementierung von ein paar Wischen Papier keine zwei Wochen zu rechtfertigen seien. Die nächste Version würde die letzte sein, die er in den nächsten sechs Monaten anfassen würde. Einen Tag später wurde die finale Korrektur vorgelegt. Darunter fand sich ein Bescheid, den der Entwickler noch niemals zu Gesicht bekommen hatte.

An einem Freitag nachmittag erfuhr ein Business Analyst, dass am folgenden Montag ein Entwicklerteam von fünf Leuten anfangen würde, um ein Projekt in der Größenordnung von ca. zwei bis drei Personenjahren abzuwickeln. Der Analytiker sollte das Projekt fachlich betreuen. Nicht genug, dass Entwickler da waren, die nicht wußten was sie tun sollten. Auf Kundenseite fand sich lediglich eine Marketingabteilung, die von den fachlichen Anforderungen im Projektfeld keine Ahnung hatte, denn die dortige Organisation war auch erst im Aufbau. Zudem waren die Kompetenzen nicht geklärt, sodass der Analytiker sich vor Oberflächen-Designern rechtfertigen musste, weshalb er bestimmte Features zurück wies. Seine Auskunft war irgendwann nur noch: "Die Oberfläche verlangt nach Daten, die es nicht gibt und sie liefert nicht die Daten, die zum gewünschten Ergebnis führen. Passen Sie die Oberfläche dem Geschäftsprozess an, denn für Ihren Entwurf gibt es keinen passenden Prozess."

Ein Business Analyst arbeitete eine Menge von Algorithmen für ein Produkt aus und gab dazu eine Spezifikation für ein Kleinprojekt ab, die vom Kunden als perfekt bezeichnet wurde. Über die Benutzeroberfläche machte der Analytiker keine Aussage, da es hierzu keine Anforderung gab. Das war zunächst auch nicht weiter schlimm, da die funktionale Interaktion mit der Oberfläche konform mit den Algorithmen ging. Allerdings war die Kostenabschätzung vom Produktmanagement nach Rücksprache mit der Entwicklerin nur auf Basis der Implementierung der Algorithmen vorgenommen worden. Im Laufe der Zeit stellte sich jedoch heraus, dass der Kunde eine sehr klare Vorstellung von der Weboberfläche hatte und davon ausging, dass der Auftragnehmer die Templates selbst baut. Der Auftragnehmer wartete jedoch schon geraume Zeit auf Templates. Der ursprünglich geschätzte Zeitrahmen wurde um den Faktor drei überschritten.

Für eine Bibliothek, deren Katalogverwaltung und Ausleihe bis dahin rein manuell ablief, sollte eine geeignete Software ausgewählt werden. Dazu wurde die Bibliotheksleitung gebeten, die wesentlichen Anforderungen zusammen zu schreiben, die die Software erfüllen sollte. Nach einigen Tagen wurde eine Liste von Kategorien (Attribute) wie Autor, Titel etc. geliefert, nach denen die Bücher katalogisiert wurden. Über Ausleihe, Mahnwesen, den Katalogisierungsvorgang, Beschaffung oder andere tagtägliche Prozesse fand sich nichts in den drei handschriftlichen Seiten.
Für den Leser mag das lustig klingen, für manche Leute sogar normal. Tatsächlich sind dies durchweg Beispiele für nicht vorhandenes oder versagendes Projektmanagement, unklare Kometenzenteilung, nicht vorhandene oder inkompetente Analytiker, desinteressierte Auftraggeber, zusammengefasst also ungenügendes Qualitätsmanagement, die nicht-Beachtung der Notwendigkeit einer ausreichenden Analysephase und das Unverständnis von IT-Prozessen. Je größer das Projekt, um so teurer wird solche Ignoranz.


home - top - Kontakt - letzter Update 10.12.2003 - © Karl Scharbert