Direkt zum Hauptbereich

Vorprojekt-Phase: Das Kunden-Orakel und die Hellseherei

"Guten Tag, mein Name ist Kluge, Martina Kluge, ich bin Geschäftsführerin der Firma BrainTeaser, man hat sie mir empfohlen."

Da steht sie, die liebe Frau Kluge. Ihre Präsenz erfüllt das ganze Büro, obwohl sie noch gar nicht eingetreten ist. Große, intelligente Augen blicken Sie neugierig an. Ihr Freund Heinrich, von ihm ist die Empfehlung, hat den Besuch schon vorgewarnt. Sie sei ein Wirbelwind, sagte er Ihnen am Telefon -- und er klang dabei amüsiert. Nun denn ...

"Bleiben Sie sitzen", sagt Frau Kluge freundlich, lächelt hinreißend und löst sich aus der Tür. Ihre Augen haben offenbar einen neuen Fixpunkt gefunden, auf den Sie regelrecht zustürzt. Sie strebt auf das voll beschriebene Whiteboard mit den Projektplanungen der nächsten sechs Monate zu. Das Ergebnis zweier Nächte Planungsarbeit mit Ihrem Kollegen Gerd. Das Zeug ist wichtig.

"Darf ich?"

Eigentlich nicht, eigentlich wollten Sie gerade "Nein" sagen -- aber es ist zu spät. Es kommt Ihnen vor, als habe Frau Kluge die ganze Planung mit nur einem einzigen Wischer vernichtet. Hoffentlich hat Gerd ein gutes Gedächtnis, seufzen Sie in sich hinein und haben den Gedanken längst aufgegeben sich vorzustellen. Wozu auch? Links neben Ihrer Bürotür ist das Schildchen mit Ihrem Namen nicht zu übersehen. Frau Kluge wird zweifellos wissen, wer Sie sind.

"Ich brauche sowas hier."

Ein paar flotte Striche. Ein Kästchen hier, eines da, ein Strich dazwischen.

"Wir wollen für unsere Kunden einen neuen Dienst anbieten. Über's Internet. Sie verstehen?! Ein neues Portal, ein neues Medium. Hier, da", Kluges Finger zeigt auf den einen Kasten, "ist unsere Datenbank mit allen Kundendaten. Name, Adresse, Sie wissen schon. Da drüben", ihr Finger wandert rüber, "da sollen die Applikationen andere Dienste aus unserem Unternehmen mit den Kundendaten auf eine ganz neue Art verknüpfen." Kluges Augen leuchten.

Für die nächste halbe Stunde ist Frau Kluge nicht zu bremsen. Obwohl Sie den Verlust Ihrer Planung noch nicht ganz verwunden haben, haben Sie geistesgegenwärtig nach Bleistift und Papier gegriffen und machen sich Notizen. Sie hätten doch einen Stenographie-Kurs machen sollen. Mehr als verständnisvolles Zunicken gesteht Ihnen Frau Kluge nicht zu. Sie redet und redet.

Am Ende fragt Sie Frau Kluge mit ihrem hinreißenden Lächeln:

"Können Sie uns die Software dazu entwickeln?"

Pause. Ruhe. Stille im Büro. Sie dürfen zum ersten Mal etwas sagen! Wie wollen Sie dieser Frau einen Wunsch abschlagen? Dieses Lächeln! Viel besser noch: Das ganze Vorhaben klingt gigantisch. Eine echte Herausforderung. So hört es sich jedenfalls an. Sie haben Fragen, 1000 Fragen. Eigentlich haben Sie fast gar nichts verstanden. Es klingt aber irgendwie toll.

"Ja? Bauen Sie uns das?"

Da Sie ein guter Mensch sind, ein guter Software Engineer dazu, sind Sie nett und aufrichtig zu Frau Kluge. Sie drücken Ihre Begeisterung aus, fassen in wenigen Worten zusammen, was Sie glauben verstanden zu haben. Ja, das klingt interessant, sehr interessant sogar. "Wir sollten das unbedingt in Angriff nehmen", hören Sie sich sagen, "die Idee klingt sehr überzeugend." Und dann gestehen Sie ihr, dass noch viel Arbeit vor Ihnen beiden liegt. Sie müssen erst verstehen lernen, was sie will, in welcher Welt sie lebt, welchen Zweck genau das Produkt verfolgt etc. Und dann, wenn das verstanden ist, dann können Sie ihr verraten, wie Sie weiter machen wollen. Wie ein Projekt dazu aussehen könnte. Ob eine Vorstudie erforderlich ist. Oder Prototyping. Oder oder.

Frau Kluge freut sich. Sie scheint kein "Ja" als Antwort erwartet zu haben. Sie freue sich über die weitere Zusammenarbeit. Sie scheint sich der Komplexität des Vorhabens vollkommen bewußt zu sein, wenn Sie sie so reden hören. Und natürlich müsse man jetzt in kleinen Schritten vorgehen. Sie wisse, ehrlich gesagt, ja auch noch nicht im Detail, wie das alles funktionieren solle. Aber die Idee, davon sei sie überzeugt.

Kurz darauf sitzen Sie wieder allein in Ihrem Büro. Sie rufen als erstes Gerd an. Er soll versuchen, die Planungen zu rekonstruieren. Dann trommeln Sie zwei ihrer besten Leute zusammen für ein Treffen nach dem Mittagessen. Sie wollen von dem Treffen mit Frau Kluge berichten und das weitere Vorgehen besprechen.

14:08 Uhr. Sie haben Niklas und Kristina von Kluges Monolog berichtet -- und dazu selber eine Dreiviertelstunde gebraucht. Beide sind beeindruckt. Ein interessantes Projekt, das sich da anbahnen könnte.

"Wie sollen wir vorgehen Kristina? Was glaubst Du?", fragen Sie.

"Wir haben alle Fragen über Fragen. Aber ich glaube, es ist nicht sehr geschickt, Frau Kluge mit unseren Fragen zu bombardieren."

"Das denke ich auch.", sagt Niklas, "Unsere Fragen resultieren ja aus einer gewissen Unkenntnis heraus. Es ist nur allzu menschlich, sich selbst aus vagen, unscharfen Angaben heraus ein erstes Bild zu machen. Diese Vorstellung, die wir uns jetzt machen, kann vollkommen falsch sein und an Frau Kluges Problemwelt vorbeizielen."

Kristina: "Wir müssen Wissen fließen lassen, von Frau Kluge zu uns. Das wird am leichtesten gelingen, wenn wir es schaffen, einen Dialog aufzubauen."

Niklas: "Ja, ein Beispiel wäre, unser erstes Verständnis in Szenarien zu beschreiben und die Szenarien aus verschiedenen Rollen zu beleuchten. Mit dem System sollen die Kunden arbeiten, Administratoren, aber auch Autoren und Redakteure in Frau Kluges Firma werden benötigt, um das System zu pflegen und mit Informationen zu füttern. So sieht das jedenfalls im Moment für mich aus."

Sie: "Wir würden immerhin merken, ob wir richtige Annahmen machen -- und worüber sich Frau Kluge bereits Gedanken gemacht hat."

Kristina: "Ich glaube auch, dass das eine gute Idee ist. Wir könnten das ergänzen um Papier-Prototypen, die das System konzeptionell abbilden und helfen, ein Szenario anzustoßen."

Sie: "Mir gefällt solch ein Ansatz. Gibt es noch weitere Ideen und Möglichkeiten, einen Dialog über das zu entwickelnde System in Gang zu setzen?"

Kristina: "Ich hatte neulich erst ein Buch in den Händen, das systematisch eine Fülle von 'Dialog-Techniken' zusammengetragen hat. Alles Techniken um in solchen frühen Phasen zu erfassen, was irgendwann mal in ein Anforderungsdokument münden wird. Ich kann das gerne mal nachlesen, vielleicht eine Vorauswahl machen und Euch vorstellen."

Sie: "Das klingt gut. Lass uns das so machen."

Niklas: "Sag mal, Du hast doch Frau Kluge bestimmt eine Telefonnummer abgeluchst, eine Kontaktperson, die auch viel über Kluges Visionen weiß und vielleicht mehr auf der technischen Seite steht. Die könnte ich ja mal kontaktieren."

Sie schmunzeln in sich hinein: "Ja, ich habe in der Tat eine Nummer, ein IT-Mensch aus Frau Kluges Firma. Das wäre sehr schön, wenn Du Dich telefonisch mit ihm in Verbindung setzen könntest."

Kristina: "Wann sollen wir uns wieder treffen? Ich könnte meinen Teil bis morgen gegen 16 Uhr erledigt haben. Ich habe zwar noch ein paar andere Dinge zu tun, aber das ließe sich einbauen."

Sie: "Schön. Wie sieht es denn überhaupt mit eurer Arbeitsbelastung aus? Ihr seid beide in laufenden Projekten involviert. Der Auftrag von Frau Kluge scheint Potential zu haben und könnte uns viel Geld bringen. Aber wir dürfen die aktuellen Projekte nicht gefährden. Könnt ihr euch darum auch kümmern, damit wir euch vernünftig einplanen? Können wir das morgen um 17 Uhr miteinander besprechen? Um 18 Uhr sind wir spätestens fertig."

Niklas: "Ok, machen wir. Ich werde bis dahin sicher auch mit dem IT-Menschen gesprochen haben."

---

Ein Tipp noch: Kristina wird ein Kapitel lesen aus dem Buch "Requirements-Engineering und Management" von Chris Rupp aus dem Hanser-Verlag, 2007, 4. Auflage. Und zwar genau das Kapitel, das auf der Webseite zum Buch als Leseprobe angeboten wird ;-)

Beliebte Posts aus diesem Blog

Lidl und der Kassen-Bug

Es gibt Fehler, im Informatiker-Jargon "Bugs", die etwas anrühriges haben. Ich bat den Menschen an der Kasse bei Lidl um einen Moment Geduld und meine Kinder um Ruhe, um nicht den wunderbaren Moment zu verpassen, bei dem es passierte. Der Lidl-Mensch fluchte kurz auf -- und ich war entzückt! "Einen Moment, davon muss ich ein Foto machen!" Und dann machte ich noch eines. Ich bin heute extra für diesen Fehler zu Lidl gepilgert -- ich wollte es mit eigenen Augen sehen. Gestern hat mir ein Student (vielen Dank Herr Breyer) von diesem Fehler in einer EMail berichtet. Ein richtig schöner Fehler, ein Klassiker geradezu. Ein Fehler, den man selten zu Gesicht bekommt, so einer mit Museumswert. Dafür wäre ich sogar noch weiter gereist als bis zum nächsten Lidl. Der Fehler tritt auf, wenn Sie an der Kasse Waren im Wert von 0 Euro (Null Euro) bezahlen. Dann streikt das System. Die kurze Einkaufsliste dazu: Geben Sie zwei Pfandflaschen zurück und Lidl steht mit 50 Cent bei Ihne...

Syntax und Semantik

Was ist Syntax, was ist Semantik? Diese zwei Begriffe beschäftigen mich immer wieder, siehe zum Beispiel auch " Uniform Syntax " (23. Feb. 2007). Beide Begriffe spielen eine entscheidende Rolle bei jeder Art von maschinell-verarbeitbarer Sprache. Vom Dritten im Bunde, der Pragmatik, will ich an dieser Stelle ganz absehen. Die Syntax bezieht sich auf die Form und die Struktur von Zeichen in einer Sprache, ohne auf die Bedeutung der verwendeten Zeichen in den Formen und Strukturen einzugehen. Syntaktisch korrekte Ausdrücke werden auch als "wohlgeformt" ( well-formed ) bezeichnet. Die Semantik befasst sich mit der Bedeutung syntaktisch korrekter Zeichenfolgen einer Sprache. Im Zusammenhang mit Programmiersprachen bedeutet Semantik die Beschreibung des Verhaltens, das mit einer Interpretation (Auslegung) eines syntaktisch korrekten Ausdrucks verbunden ist. [Die obigen Begriffserläuterungen sind angelehnt an das Buch von Kenneth Slonneger und Barry L. Kurtz: Formal Syn...

Factor @ Heilbronn University

It was an experiment -- and it went much better than I had imagined: I used Factor (a concatenative programming language) as the subject of study in a project week at Heilbronn University in a course called "Software Engineering of Complex Systems" (SECS). Maybe we are the first university in the world, where concatenative languages in general and Factor in specific are used and studied. Factor is the most mature concatenative programming language around. Its creator, Slava Pestov, and some few developers have done an excellent job. Why concatenative programming? Why Factor? Over the years I experimented with a lot of different languages and approaches. I ran experiments using Python, Scheme and also Prolog in my course. It turned out that I found myself mainly teaching how to program in Python, Scheme or Prolog (which still is something valuable for the students) instead of covering my main issue of concern: mastering complexity. In another approach I used XML as a tool ...