Ivar Jacobson: Beyond Agile - SmartWohl kaum jemandem hat die OO Community mehr zu verdanken, als meinem Gegenüber beim gestrigen Abendessen und dem heutigen Keynote Speaker: Ivar Jacobson. Er hat den Use Case erfunden und viele andere, extrem wichtige Sachen im OO Bereich. Und heute wollte er uns den Nachfolger der Agilität zeigen: Eben Smart.
Er fing die Präsentation mit der These an, dass Software passiv ist: Man selber muss aktiv sein und sie benutzen. In Zukunft soll Software aktiv sein. Das scheint erstmal nichts mit Vorgehensmodellen zu tun zu haben, aber der Zusammenhang wird später noch deutlich.
Auf der anderen Seite ist es so, dass Software Entwicklung eben eine Menge Wissen vorraussetzt. Agilität setzt dabei eher auch das Wissen im Kopf, während der Unified Process (UP) eher auf explizites Wissen in Büchern oder Dokumenten setzt. Seiner Meinung nach ist dadurch ein agiler Prozess möglicherweise schwergewichtiger, da man mehr diskutieren muss als bei UP.
Im nächsten Schritt sagte er über das
Agile Manifesto, dass es so allgemein sei, dass jeder damit übereinstimmen würde. Außerdem stellt er die Behauptung auf, dass der UP explizite Regeln für die Qualität hat und dadurch die Qualität von Requirements, Design usw. sichergestellt werden kann. Er hob noch hervor, dass UP ein Prozess Meta Modell ist: Ein Modell, um Modelle von Prozessen zu erzeugen. Das ist als OMG SPEM standardisiert. Außerdem sagte er, dass nur 10% aller Entwickler UP machen werden, weil eben so ein großes Investment ist.
Also: Wie bekommt man es hin, dass man das Wissen in UP einfacher anwendbar macht? Nur das benötigte Wissen präsentiert bekommt. Man würde also nichts an UP ändern, sondern nur dafür sorgen, dass das Wissen besser verfügbar ist. Man kann dann einzelen entscheiden, was man genau tut.
Der Prozess läuft dann versteckt ab und ist nicht mehr etwas, womit man sich explizit beschäftigen muss. Seine Idee ist, dies durch intelligente Agenten zu bewerkstelligen: Die haben das komplette Wissen über den Prozess und präsentieren es, wenn es notwendig ist.
An dieser Stelle hatte ich eigentlich Zweifel, wie ich es bei den meisten KI Sachen habe. Aber im Prinzip haben wir das schon: Wenn man Eclipse nutzt, zeigt es einem, wo man Fehler im Code hat und Command+1 (für Windows: Ctrl/Strg+1) fixt es dann. Das ist genau dieses Modell. Ob man das auf Prozesse übertragen kann, ist dann die Frage.
Weiter Info gibt es bei
http://www.ivarjacobson.com/ oder
http://www.jaczone.com/.