Mein Name ist Ulrich Fuchs, ich unterstütze als freier Berater Anwenderunternehmen und Beratungshäuser in allem, was im Umgang mit dem ERP-System "Infor LN" und seinen Vorgängerversionen (Baan IV, Baan V) so an Aufgaben anfällt. Ich bin Projektleiter, Berater und Softwareentwickler, und weil ich alle drei Rollen tatsächlich beherrsche, bin ich der Joker immer dann, wenn's anspruchsvoll wird.

Weil Neuigkeiten, über die ich so stolpere, vielleicht auch für andere interessant sind, gibt's dieses Blog. Meine Kontaktdaten finden Sie unter
www.ulrich-fuchs.de.



Montag, 15. November 2010

Softwareentwickler gesucht

Von der Planitec nach Steinach.

Dienstag, 9. November 2010

Und noch ne Personalie

Dass Infor einen neuen CEO hat, ist ja hinlänglich bekannt, und für mich eher nicht der Rede wert; wenn die Herren im Top-Management der großen IT-Fabriken meinen, völkerwanderungsgleich rochieren zu müssen (Apotheker von SAP zu HP, Hurd von HP zu Oracle, Philips von Oracle zu Infor) - sollen sie doch. An der Strategie der jeweiligen Häuser dürfte sich da immer nur wenig ändern, die geben sich ohnehin nicht mehr viel. Leider.

Interessanter finde ich, dass man den Baan-Veteranen Daan Snijders zum Vice President Corporate Product Management gemacht hat, also immerhin Nummer zwei bei den Leuten, die Software machen statt Mergers und Strategien und Zahlen und schöne Worte. Daan hat, was die Produktstrategie beispielsweise für LN anging, meines Erachtens wirklich gute Arbeit geleistet. Jetzt soll er sich um ION kümmern. Bin gespannt, was er daraus machen wird. Ich freu mich jedenfalls, dass Infor jemanden von Daans Kaliber auf die Stelle gesetzt hat, gratuliere von ganzem Herzen und wünsche ihm alles Gute für den neuen Posten.

Multitasking und Projektarbeit

Es gibt eine ganze Reihe interessante Überlegungen dazu, dass es als Mensch (als Computer mag das anders sein), sinnvoll sein kann, die Dinge immer eines nach dem anderen zu erledigen statt zu glauben, man könne sie gleichzeitig bewältigen. Denn multitaskingfähig ist der Mensch nur begrenzt.

Gleichzeitig Zeitung lesen und in ein Brötchen beißen geht noch halbwegs bequem (erhöht jedoch die Gefahr, dass der Anzug frühzeitiger in die Reinigung muss). Gleichzeitig zwei Programme programmieren geht nicht mehr. Auch kann man sich nicht gleichzeitig um zwei Kunden kümmern. Man kann nicht gleichzeitig eine Email schreiben und eine andere lesen. Auch sollte man nicht versuchen, gleichzeitig einen geschäftlichen Telefonanruf zu beantworten während man mit seiner Freundin beim Candlelight-Dinner sitzt.

Für Einzelwesen gibt es Gleichzeitigkeit nicht. Was es gibt, ist ein mehr oder minder erfolgreiches Zerhacken der Aufgaben und ein häufiges Wechseln zwischen diesen einzelnen Aufgabenbröckchen. Zu grauer Vorzeit, als die meisten Computer nur einen popeligen Prozessorkern hatten (wieviele Äonen ist das schon her?), wurde "Multitasking" dort genau so realisiert. Zwei Millisekunden für das Programm, zwei für jenes. Das sieht dann so aus, als würde die Kiste alle Programme gleichzeitig ausführen. Doch ist es kein Multitasking (viele Aufgaben gleichzeitig), sondern ein Task-Switching (Häufiges Wecheln zwischen den Aufgaben).

Dieses Prinzip haben wir - gerade im Bereich Projektarbeit, EDV etc. - auf unsere menschlichen Maßstäbe übertragen. Wir haben einen Berg von Aufgaben, und statt sie nacheinander anzugehen, hopsen wir munter von einer zur nächsten, machen hier ein bisschen, schreiben dort ne Email, kucken wiederum da was nach.


Joel Spolsky hat schon 2001 darüber geschrieben, warum das unsinnig ist. Und ich vermute mal, er war nicht der erste. Kurz gesagt, wenn man zwischen gleichwertigen Aufgaben hin- und herwechselt, braucht man erstens länger, um sie zu erledigen, und zweitens verschenkt man die Chance, wenigstens einige Pferdchen schnell ins Ziel zu bringen.

Die Argumentation geht so:

Nehmen wir drei vom Arbeitsvolumen halbwegs ähnliche Aufgaben, die jeweils eine Zeit t benötigen:

AAAAAA
BBBBBB
CCCCCC

Werden sie hintereinander erledigt, so ergibt sich folgendes Bild

AAAAAABBBBBBCCCCCC

Wechselt man zwischen den Aufgaben hin- und her, dann hat man stattdessen
ABCABCABCABCABCABC

Deutlich zu erkennen ist eines: Im ersten wie im zweiten Fall ist man nach der Gesamtzeit 3t mit allen drei Aufgaben durch. Doch hat man im ersten Fall die erste Aufgabe bereits nach der Zeit t abgegeben, die zweite immerhin noch nach 2t, und nur die Dritte nach 3t. Für den Außenstehenden, den nur das Ergebnis und dessen Realisierungstermin interessiert, ist die erste Situation deutlich produktiver.

Berücksichtigt man nun zusätzlich, dass eine gewisse Zeit verloren geht, wenn man zwischen den Aufgaben springt (bei Programmierung beispielsweise sind das etwa 10-15 Minuten!), so hat man

AAAAAA-BBBBBB-CCCCCC

im Vergleich zu

A-B-C-A-B-C-A-B-C-A-B-C-A-B-C-A-B-C

Nun ist erst recht klar, welchen Vorteil das "Immer-Hübsch-der-Reihe" nach hat, dass uns schon unsere Oma immer beizubringen versuchte.

Sind Sie mir bis hierhin gefolgt? Gut. Bis jetzt hab ich nämlich nichts erzählt, was andere schon aufgeschrieben haben. Die hatten nämlich auch alle Omas. Spannend wird es erst jetzt:

Nehmen wir an, wir haben irgendeinem aus unserer Perspektive höheren Tier (Projektleiter, EDV-Leiter, Geschäftsführer, Business-Line-Dingenskirchen, Chief-irgendwas-Officer) zugesagt, die drei Aufgaben innerhalb der Zeit von 3t zu erledigen. Jetzt haben es diese Menschen aus irgendwelchen Gründen immer an sich, dass sie Statusberichte möchten. Man kann es ihnen einfach nicht ausreden, sie möchten wissen, wie weit man ist.

Arbeiten wir nach Methode Zwei im Task-Switching, können wir für jede Aufgabe immer schön Fortschritt vermelden. Im ersten Fall jedoch beginnen wir mit A und müssen dauernd bekennen, dass wir mit B und C noch gar nicht begonnen haben. Jaaa, A ist schon fast fertig... ABER B muss doch dringend ebenfalls mal angefangen werden! und C erst!... Etc. etc. Und wir lassen uns breitschlagen, versuchen das Task-Switching, und werden mit allen drei Aufgaben nicht rechtzeitig fertig.

Natürlich gibt es Situationen, in denen ein Task-Switch sinnvoll ist. Wenn man auf Informationen von anderen Leuten warten muss. Wenn man so blockiert ist, dass an-etwas-anderes-denken das Gehirn wieder freipustet. Wenn die Aufgaben unterschiedlichen Schwierigkeitsgrad haben und man nach dem fetten Mittagessen in der Kantine nicht eine genauso schwere Analysearbeit machen will.

Aber dennoch, ich meine, wir müssten in unserer Branche (speziell im behäbigen Baan-Umfeld, die fixeren Softwarefabriken haben das, agilen Methoden sei Dank, schon eher verinnerlicht) viel deutlicher machen, dass Aufgaben der Reihe nach erledigt werden. Nicht nur die Programmierung dieser oder jener Anpassung. Auch die Umstellung auf das neue Porting-Set. Die Einführung dieses neuen Clusters für den Service. Die Analyse für den RFID-Einsatz. Das VPN unter Windows 7-Clients. Warum nicht mal ein Kanban-Board in der EDV-Abteilung probieren, in das nicht nur Softwareentwicklungsaufgaben einfließen, sondern das ganze Arbeitspensum? Mit der Regel, dass nur das bearbeitet wird, was in der Queue ist und keine Macht der Welt (außer ein Betriebsstillstand vielleicht) Kärtchen vom Board nehmen und andere höher priorisieren kann. Man wird vermutlich einen großen Eingangskorb brauchen, aber vielleicht kann man so eher dazu kommen, Aufgaben hintereinander abzuarbeiten und dennoch der Außenwelt deutlich machen, dass man nicht nur Däumchen dreht.

Montag, 8. November 2010

Liebe Programmierer, nicht tun bitte: Nichtssagende Variablennamen

Wir schalten live und in Farbe zu Uli Fuchs, der gerade in einem FP3->FP5-Projekt eine angepasste Saldenliste migriert und über jene zwei Variablen in der Zeile stolpert, die ein Infor-Programmierer genutzt hat:

report.amnt
report.amount

Offensichtlich ist das eine ein Fremdwährungs-, das andere ein Hauswährungs- bzw. Report-Anzeige-Währungs-Betrag. Ja warum macht man das nicht kenntlich irgendwie, bitte? Arrgh.

Samstag, 6. November 2010

Webdesign mal wieder

Ich weiß, es gibt schlimmere Webseiten. Aber welcher Anfänger bei der zuständigen Werbeagentur kam denn auf die glorreiche Idee, dass dieses alle zwei Sekunden wechselnde Hintergrundbild auf Infor's überarbeiteten Webauftritt ein guter Einfall sei? Kaum versucht man sich in den Textblöcken zu orientieren, wird man vom sich ändernden Bild wieder abgelenkt. Bitte ganz schnell weg damit! Und nein, SAP macht nicht das gleiche. Die haben zwar auch ein Wechseldich-Bild, aber die haben vier (in Worten vier) große Knöppe drüber. Infor, ihr habt Zweiundzwanzig (in Worten: Zweiundzwanzig) ewig lange kleingedruckte Links im und ums Bild herum.

Dienstag, 2. November 2010

Strategische Partnerschaften und ihre Fallstricke

Infor setzt ja seit neuestem - zumindest offiziell - auf Microsoft Silverlight als präferierte Technologie für neue Benutzerinterfaces. Strategien sind ja schön, nur sollten sie nicht unbedingt vom Marketing getrieben werden oder von anderen Leuten, denen Klickibunti vor Funktionalität geht (wobei ich die Wichtigkeit von Klickibunti nicht in Abrede stelle, wenn man Software verkaufen will, und auch nicht, dass man mit Silverlight prächtige Benutzerinterfaces bauen könnte). Denn dann gehen sie nicht auf. Microsoft verabschiedet sich nämlich grade von Silverlight für plattformübergreifende Anwendungen und reduziert den Anwendungsbereich auf Windows Phone. Sagt zumindest Bob Muglia, bei Microsoft immerhin zuständig für Server- und Infrastrukturanwendungen, hier im Interview mit ZDNet. Allerdings hat er offenbar vom Microsoft-Marketing für diese Aussage eins auf die Mütze bekommen, denn hier in den Microsoft-Blogs korrigiert er sich brav, und sagt, er habe das eigentlich alles gar nicht so gemeint aber irgendwie doch.