Seit Ende November lese ich in der Heilbronner Dammgrundschule den Schülern der Klasse 4b vor. Alle Kinderohren hörten mir von Beginn an gespannt zu. Ja, sie hörten zu, denn nun ist das Schuljahr vorbei. Aber der letzte Vorlesetag war noch einmal besonders schön. Nicht nur wegen den netten kleinen Erinnerungsmappe, die sie mir schenkten. Sondern auch, weil alle am letzten Tag unbedingt noch einmal mir vorlesen wollten. So wie wir das in den letzten Wochen immer gemacht hatten. Das hat mich riesig gefreut.

Und so sage ich tschüss. Tschüss, Alper, Beyzanur, Cihan, Diana, Ebrar, Edona, Enes, Faruk, Ilirida, Jil, Kemal, Kerime, Kimberly, Lejla, Mert, Mervisa, Nico, Nikola, Semanur, Silvana, Siyabent, Umut und Zilan.

Es war mir eine Freude, euch vorlesen zu dürfen. Denn auch ich habe viel bei euch gelernt.

Und, wie sagte Kimberly mir noch zum Abschied, bevor ich eine kleine Träne verdrücken musste? “Wir sehen uns bestimmt wieder!”. Das werden wir.

PS: Das nächste Schuljahr kommt bestimmt. Welche Klasse es wohl diesmal wird?

, , ,

Vor einigen Tagen bin ich über ein kleines Artefakt gestolpert, dass den ersten erfolgreichen Lauf des ersten von mir erstellten Programms dokumentiert. Am 18. Juli 1980 durchsuchte mein erstes Programm eine bestimmte Festplatte nach sog. Lademodulen und listete diese auf, mitsamt Übersetzungsdatum und -uhrzeit. Von einem Hello World wusste ich damals noch nichts, sonst hätte ich mir nicht so viel Mühe mit diesem Programm machen müssen ;-)

Listing des ersten Programmlaufes am 18.7.1980

Über eine gehörige Portion Vitamin B organisierte ich mir ein Praktikum über die Sommerferien in einem Rechenzentrum. Zwei Monate zuvor entschied ich für mich, dass ich was mit Informatik machen wollte (“Wenn Sie gut in Mathematik und Physik sind, dann könnte Ihnen Informatik gefallen”, las ich im Buch der Ausbildungsberufe und Studienfächer).

So saß ich im Juli 1980 im viel zu großen Büro des Abteilungsleiters. Ich war alleine dort, er war im Urlaub. Mein Betreuer knallte mir zwei dicke Ordner auf den Tisch. Er meinte noch: “Das sind programmierte Unterweisungen über Computer und deren Programmierung. Die können Sie ja mal durcharbeiten” und ließ mich allein. Jede dieser “programmierten Unterweisungen” (heute würde man sagen: e-learning book ohne e-) sollte innerhalb von zwei Wochen durchgearbeitet werden. Es fing mit einer Definition eines Bits an und hörte mit den Tiefen der COBOL-Programmierung auf. Na toll, mein Praktikum sollte nur drei Wochen dauern.

Dank ein paar Überstunden war ich schon nach zwei Tagen fertig. Gut, mein Gehirn fühlte sich wie ein Kaugummi an. Und ich hatte wohl auch die eine oder andere Übung übersprungen. So gerüstet ging ich am dritten Tag zu meinem Betreuer und fragte nach einer Programmieraufgabe. Er meinte, es soll etwas nützliches sein und bei Ihnen würden alle sowieso in COBOL programmieren. JCL würde er mir teilweise zeigen, aber ich müsste noch eine dieser programmierten Unterweisungen durcharbeiten. Zum Glück hatte ich darin schon Routine.

Das nützliche Programm sollte eine ganze Festplatte nach Lademodulen durchsuchen und diese auflisten. Ein Lademodul ist in etwa das, was heute eine dynamische Programmbibliothek ist. Aber auch vollständige Programme wurden in Lademodule übersetzt. Auf der Festplatte waren die Lademodule durch eine bestimmte Bytefolge gekennzeichnet und einige 130 Byte später war deren Übersetzungsdatum und -uhrzeit abgelegt. Algorithmisch nicht zu komplex, aber dummerweise ging auch nichts anderes als eine sequentielle Suche auf dem Raw Device. Na ja, immerhin waren die Platten damals nur ca. 10 MiB groß. Ach ja, das Ganze lief natürlich unter MVS.

So schrieb ich denn mein erstes Programm. Schrieb ist genau richtig, denn alle dortigen Codierer schrieben ihre Programm in ein Papierformular. Die angestellten Codierer durften dann die Formulare im Schreibbüro abgeben, in dem so ca. 20 Schreibkräfte das geschriebene Programm in Lochkarten umwandelten. Diese wurde dann beim Operator abgegeben und schon nach einem Tag hielt man das Ergebnis des Übersetzungslaufes in Händen. Ich durfte mein Programm nicht im Schreibbüro abgeben, sondern musste selbst Lochkarten auf einer Uraltmaschine stanzen, die kein anderer benutzen wollte. Ein Tippfehler bedeutete mit einer neuen Lochkarte von vorne beginnen zu müssen.

Lochkarte Praktikum 1980

Ich weiß nicht, wie lange ich im Kämmerchen mit dem Lochkartenstanzer zubrachte. Aber endlich, nach ein zwei Korrekturläufen wurde mein Programm vom Compiler übersetzt. Pro Korrekturlauf verging mindestens ein halber Tag, aber der Operator hatte ein Einsehen und priorisierte meine Eingaben etwas höher ;-). Ein Fehlerchen war noch zu beheben und vor etwas mehr als 30 Jahren lief mein erstes Programm erfolgreich.

Jeder, der das erste eigene ernsthafte Programm fertig gestellt hat, kennt dieses Gefühl: Herrscher über eine Maschine. Extrem befriedigend und motivierend.

Der Rest des Praktikums war für mich dann nur noch Kür. Einige Tage im Operating arbeiten, an den netten Bandstationen. Und zwei weitere kleine Programme durfte ich dann auch noch schreiben. Das zweite an einem Lochkartenstanzer mit Zeilenpuffer. Ade Tippfehler! Das dritte sogar an einem Bildschirmterminal. Wow! Aber was diese Programme taten, weiß ich nicht mehr. Ich glaube, dass dritte Programm rechnete Zylinder- und Satzgrößen in Blockgrößen um. Oder umgekehrt. Egal.

Ja, lang ist’s her. Und der Weg von damals auch.

, , ,

Gestern durfte ich an einer sehr interessanten und teilweise emotionalen Diskussion teilnehmen. Es war der Abschlusstermin der diessemestrigen Projektstudie Softwareentwicklung, von mir großspurig Retrospektive getauft. Ob es wirklich eine Retrospektive war sei einmal dahin gestellt. Auf jeden Fall haben wir uns über Bewahrenswertes, Verbesserungswürdiges und Bemerkenswertes unterhalten.

Ich möchte hier einmal die Ergebnisse zusammenstellen und ggf. kommentieren.

Auf jeden Fall möchte ich allen danken, die dafür gesorgt haben, dass eine Diskussion zu Stande gekommen ist. Da kann ich noch so “nett” sein. Letzten Endes ist es meine Aufgabe, die Arbeiten zu bewerten. Um so schöner finde ich es, dass wir es in diesem Semester zu einer offenen Diskussionskultur geschafft haben.

Danke schön!

So, nun die Punkte, die wir angesprochen haben. Meine Bemerkungen sind kursiv gekennzeichnet.

Bewahrenswertes

Teambildung

Die Zusammenstellung der Teams nach dem Zufallsprinzip wurde von allen positiv gesehen. Dadurch haben sich neue Bekanntschaften gebildet, insgesamt haben sich alle näher kennen gelernt.

Das Vorgeben (und Annehmen) von projektspezifischen Rollen führte nach Meinung der Teilnehmer zu einer professionellen Arbeitsweise, die sich von der üblichen Gruppenarbeit erheblich unterscheidet.

In diesem Semester kam es zum ersten Mal zu einer umfangreicheren Zusammenarbeit zwischen den Projektteams. Fehlten in einem Team bestimmte Kompetenzen, so halfen Mitglieder eines anderen Teams aus.

Das sehe ich auch so positiv. Das liegt aber nur zum Teil an der Umgebung, die ich bereit gestellt habe. Zum größten Teil ist das das Werk der Teilnehmer. BTW, heute habe ich einen interessanten Artikel über Gruppen- vs. Teamarbeit gelesen, der passt gut zur Situation der Projektstudie ;-)

Regularien

In der Projektstudie wurde nicht nur die Art und Weise vorgegeben, wie sich die Teams zusammensetzen. Neben der Festlegung auf bestimmte Werkzeuge (Trac, Mercurial) wurden weitere “Spielregeln” von mir definiert. Dazu gehörten wöchentliche Statusreports, Protokollierung aller Besprechungen, Verwendung des Ticketsystems, u.s.w.

Diese Vorgaben sollen beibehalten werden, evtl. sogar ausgebaut werden, um einen der verbesserungswürdigen Punkte, die Arbeitsbelastung, abzumildern.

Ich bin immer wieder erstaunt, wie gut feste Regeln ankommen. Zuerst denke ich, dass diese als Einschränkung empfunden werden. Im Laufe des Semesters stellt sich heraus, dass diese Regeln eher helfen. Daher werde ich in Zukunft die Regularien im Sinne von Hilfestellungen weiter ausbauen. Angedacht (und von Ihnen bestätigt) sind: definiertes “Standardteam” (1 Projektleiter, 1 Dokumentator, 1 Qualitätsmanager, Rest Entwickler), definierte Entwicklungsumgebung (Maven, Hudson, Mercurial, Trac), definierte Ablaufumgebung (Portal Server), weitere Vorlagen.

Organisatorisches

Die regelmäßigen Präsenztermine wurden positiv aufgenommen. Wir haben uns zu den festen Terminen in der großen Gruppe getroffen, offene Punkte gemeinsam besprochen, ggf. haben einige ihre Arbeitsergebnisse präsentiert und anschließen haben die Projektteams separat gearbeitet.

Dadurch wurde ereicht, dass sich jedes Projektteam regelmäßig getroffen hat, offene Punkte schneller erkannt und behoben wurden. In normaler Gruppenarbeit passiert es oft, dass man sich zu selten trifft und erst gegen Ende entdeckt: die Einzelteile passen nicht zusammen.

Ebenfalls wurde positiv angesprochen, dass ich während der Präsenztermine (und darüber hinaus) ansprechbar war. Mein “Management by walking around” hat vielen Teams weitergeholfen. Das sollte nach Ansicht der Teilnehmer ebenso bewahrt werden, wie der Einsatz eines studentischen Coaches.

Dieser Coach hatte angeregt, dass sich alle Projektleiter gerade in der ersten Zeit zu einem Erfahrungsaustausch treffen. Auch dieses Vorgehen hat vielen geholfen. Solche teamübergreifenden Treffen sollen zukünftig auch für andere Rollen (Entwickler, Qualitätsmanager, …) stattfinden.

Es freut mich, dass mein Herumlaufen nicht als Spitzelversich gewertet wurde, sondern eine Hilfe war. Auch in Zukunft werde ich versuchen, einen studentischen Coach zu finden, der den Teilnehmern die Hemmschwelle mindert, zu fragen und ggf. zu eskalieren. Die übergreifenden Besprechungen halte ich für eine sehr gute Idee.

Inhaltliches

Ingesamt wurde der Lerneffekt der Projektstudie als groß eingestuft. Im Grundstudium wurden eher theoretische Inhalte gelernt, die nun angewendet werden konnten. Trotzdem wurden auch die eher theoretischen Inhalte dieses Semesters als nützlich für die Projektstudie anerkannt. Die Teilnehmer äußerten, dass sie sich selbst besser kennengelernt haben, insbesondere auch was ihre eigene fachlichen Ziele betreffen.

Seufz, das ist das Ziel der Projektstudie. Und wenn das erreicht ist, bin auch ich zufrieden ;-).

Verbesserungswürdiges

Arbeitsbelastung

Die Arbeitsbelastung wurde von sehr vielen als zu hoch angesehen. Einige meinten sogar, dass man sich in diesem Semester zwischen der Projektstudie und sonstigen Prüfungen entscheiden müsste. Es gab aber auch Stimmen, die meinten, die Belastung sei hoch, aber nicht zu hoch gewesen.

Sicher ist die Arbeitsbelastung bei einer Projektstudie nicht unerheblich. Die Projektstudie ist mit 6 Credits bewertet, dass sind 180 Stunden. De facto kommen noch die 2 Credits von Projektmanagement 2 hinzu, dass man auf eine Nettoarbeitszeit von einem Monat kommen kann.

Ich denke, die Gründe für die als hoch empfundene Arbeitsbelastung sind vielfältiger Natur. Zunächst einmal ist es die erste Projektstudie im Studium. Vorher wurden Vorlesungen und Übungen besucht, bei denen man selbst nicht zu sehr aktiv sein musste. Das ist in der Projektstudie definitiv anders. Zum anderen haben fast alle Projektteams ihr Arbeitspensum selbst bestimmt und sich dabei überschätzt. Möglicherweise aus Gründen des Nichtversagenwollens unterblieben korrigierende Maßnahmen. Sicher auch aus Angst um eine schlechte Note. Es gab zu viele Details bei der Entwicklung zu beachten, mit denen sich die Teilnehmer bisher so nicht beschäftigt haben. Die Rollenaufteilung war in einigen Teams nicht optimal.

Viele dieser Punkte lassen sich durch Hinweise, durch Coaching und durch Regelungen (siehe oben) verbessern. Auch sollte die Einstufung und der Arbeitsaufwand für die Projektstudie überdacht werden. Daran bin auch ich interessiert.

Hinweise

Die Teilnehmer wünschten sich weitere Hinweise zu einzelnen Regelungen, wie z.B. zur Möglichkeit einer fließenden Rollenverteilung in Form der Definition einer Kernrolle und möglichen Varianten. Auch einige Werkzeuge, wie z.B. Mercurial und Ant bedürfen einer weitergehenden Erklärung. Einer der Teilnehmer meinte:

Mercurial ist bestimmt ein tolles Werkzeug. Wenn es näher erklärt würde, brächte es für alle einen riesigen, umfassenderen Nutzen.

Die weiteren Hinweise werde ich ab nächstem Semester gerne geben.

Transparenz bei der Benotung

Viele Teilnehmer wünschten sich eine größere Transparenz bei der Notengebung, nach dem Motto: “Wenn ich folgendes mache (unterlasse), bekomme ich eine um X% höhere (niedrigerere) Note”.

Ich fand die Diskussion über den Sinn und Unsinn von Noten spannend. Lernt man für eine gute Note oder um etwas besser zu können? Das ist natürlich eine Frage, die jede(r) für sich selbst beantworten muss. Genauso wie die der Relevanz guter Noten im Zeugnis.

Die Zusammensetzung der Note ergibt sich aus den gewichteten Teilnoten “Codepräsentation”, “Individuelle Leistung gemäß eigener Rolle”, “Teamleistung” und “Leistung für das Team”. Ich selbst (und die meisten Führungskräfte wohl auch) wäre froh, wenn man projekt- und teamunabhängig über einen festen Katalog z.B. die Leistung für das Team messen könnte. So müssen wir uns mit Heuristiken behelfen und alle das Gehirn eingeschaltet lassen ;-)

Bemerkenswertes

Ich fand die sehr intensive Nutzung des Wikis besonders bemerkenswert. Ich habe zwar noch keine Statistik erstellt, aber in diesem Semester wurde mehr mit dem Wiki (Trac) gearbeitet, als in den Semestern vorher zusammengenommen (damals: DokuWiki und Mantis). Möglicherweise hängt dies auch mit der zunehmenden Nutzung der Wiki-Technologie im Grundstudium zusammen.

Die Teilnehmer bemerkten die sehr intensive Kommunikation, sowohl innerhalb der Teams als auch zwischen den Teams. Das hätten sie sich nicht so (positiv) vorgestellt. Die darüber hinaus persönlichen Erfahrungen waren für die meisten ein Highlight.

Jetzt beim Schreiben fällt mir ein weiterer Punkt ein: viele Teilnehmer haben sich mit dem “warum” beschäftigt. Das finde ich toll. Und noch besser ist es, wenn sich alle die Frage stellen: Warum?

Bemerkenswert fanden viele (inkl. mir) die gute Moderation der Retrospektive durch zwei der Teilnehmer. Und das schöne Protokoll ;-)


Falls ich etwas vergessen oder ungeschickt dargestellt habe, einfach eine E-Mail an mich. Oder hinterlassen Sie einen Kommentar zu diesem Blogeintrag.

, , ,

Eben stolpere ich über den Artikel Applescript Engine in Java. Dort wird beschrieben, wie man unter Mac OSX von Java aus auf AppleScript zugreifen kann. Das dort beschriebene Beispiel habe ich gleich mal nach Clojure konvertiert. Und siehe da: es geht noch kürzer (und einfacher).

(import '(javax.script.ScriptEngineManager))
(def mgr (javax.script.ScriptEngineManager.))
(def engine (. mgr getEngineByName "AppleScript"))
(. engine eval "tell application \"iTunes\" to play")

Ist das die Zukunft der Java-Plattform?

, ,

Und wieder eine lustig übersetzte Mail zum Thema Vorschussbetrug. Die habe ich bei http://www.nigeria-connection.de/ noch nicht gefunden.

Von: Traister, James <james.traister@delphi.com>
Betreff: Lieber Freund und Partner zu sein,
Datum: 4. Juni 2010 00:15:02 MESZ
Return-Path: <james.traister@delphi.com>
Received: from 144.250.137.56 (EHLO USMITRY-MX04.NorthAmerica.DelphiAuto.net) ([144.250.137.56]) by gateway2.delphi.com (MOS 4.1.8-GA FastPath queued) with ESMTP id AZK05129; Thu, 03 Jun 2010 18:28:47 -0400 (EDT)
Received: from USMITRY-MX01.NorthAmerica.DelphiAuto.net ([144.250.137.44]) by delphi.com ([144.250.137.57]) with ESMTP (TREND IMSS SMTP Service 7.0) id 8fe5caca00279ac9 ; Thu, 3 Jun 2010 18:15:26 -0400
Received: from sgamk-ex02.Asia.DelphiAuto.net ([130.176.85.48]) by USMITRY-MX01.NorthAmerica.DelphiAuto.net with Microsoft SMTPSVC(6.0.3790.3959); Thu, 3 Jun 2010 18:15:25 -0400
Received: from CNSHGCTC-EX02.Asia.DelphiAuto.net ([130.176.182.7]) by sgamk-ex02.Asia.DelphiAuto.net with Microsoft SMTPSVC(6.0.3790.3959); Fri, 4 Jun 2010 06:15:18 +0800
X-Tm-Imss-Message-Id: <8fe5caca00279ac9@delphi.com>
X-Mimeole: Produced By Microsoft Exchange V6.5
Content-Class: urn:content-classes:message
Mime-Version: 1.0
Message-Id: <F9DBD7CC67DC7143B9344869EF0187060285EF62@cnshgctc-ex02.asia.delphiauto.net>

Ich bin Dr. Jan Rudolf Steinhauser die persönliche Unterstützung von Herrn Henk Kroeze, Vorsitzender der SNS Bank NV, Niederlande.
Ich habe eine Secured Business Anregung für Sie.
Bevor die USA und Irak-Krieg unserer Kunden Col. Hosam Hassan, der mit dem war
Die irakischen Streitkräfte und auch ein Business-Mann machte eine nummerierte Festgeld für 18
Kalendermonate, mit einem Wert von dreißig Millionen USA Dollar
($ 30.000.000,00) nur in meiner Branche. Bei Fälligkeit mehrere Mitteilungen gesendet wurde
zu ihm, auch während des Krieges im Frühjahr dieses Jahres.
Nach dem Krieg wieder eine andere Meldung geschickt und war immer noch keine Antwort
kam von ihm. Wir haben später erfahren, dass Col. Hosam Hassan zusammen mit seinem
Frau und einzige Tochter hatte während des Krieges in einem Bombenanschlag getötet worden, dass
traf ihre Heimat.
Nach einer weiteren Untersuchung wurde auch entdeckt, dass Col. Hosam Hassan
nicht etwaige nächsten Angehörigen in seiner amtlichen Papiere einschließlich der Paper
Arbeit seiner Bank hinterlegen. Und er vertraute mir das letzte Mal war er
in meinem Büro, dass niemand außer mir von seiner Lagerstätte kannte in meiner Bank.
So, dreißig Millionen USA Dollar ($ 30.000.000,00) liegt noch in
meine Bank, und niemand wird jemals nach vorne kommen zu behaupten es.

Was mich stört ist, dass die meisten nach den Gesetzen meines Landes nach Ablauf der 6 Jahre-Mittel werden auf das Eigentum der niederländischen Regierung zurück, wenn
Niemand gilt für den Fonds geltend zu machen.
Vor diesem Hintergrund ist mein Vorschlag an Sie, dass ich Ihnen gerne als
Ausländer, wie die nächsten Angehörigen zu Col. Hosam Hassan stand, so dass Sie
wird in der Lage sein, seine Mittel zu erhalten. Sobald die Gelder überwiesen wurden, um
Ihre angegebene Bankkonto werden wir im Verhältnis von 60% bei mir zu teilen, 40%
für Sie, sollten Sie Interesse bitte senden Sie mir Informationen zu folgenden,
1. Vollständige Namen und Alter
2. Private Telefonnummer
3. Fax Line
4. Aktuelle Wohnadresse
5. Beruf (verpflichtend)
Ich will lieber Sie erreichen mich über meine private Email-Adresse unten;
Email: steinhauserjanrudolf@aol.nl
Email: steinhauserjanrudolf@zensearch.com
Und schließlich nach, daß ich Sie mit mehr Details über diesen bieten
Transaktion. Ihre früheste Reaktion auf diese Nachricht wird hoch
geschätzt.
Mit freundlichen Grüßen,
Dr. Jan Rudolf Steinhauser
Email: steinhauserjanrudolf@aol.nl
Email: steinhauserjanrudolf@zensearch.com

Für Herrn Henk Kroeze
Vorsitzender (SNS Bank N.V.)
P.O. Box 283 (AA2823)
1000 EA Amsterdam, The Netherlands.
Offizielle Webseite: www.snsbank.nl

****************************************************************************************

Note: If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. Thank you.

****************************************************************************************

, ,