"Ein Tool für alle und alles" vs. "Ganz viele unterschiedliche Tools"
Auf der
DenkWerkzeug2005-II war diese Diskussion aufgekommen, aber nicht richtig ausgeführt worden. Ich habe deshalb so viele Argumente für und gegen beide Seiten zusammengetragen, wie mir einfallen. Ich bitte sehr um Ergänzungen, Gegenargumente und Kommentare! Vor allem fehlen auch noch Beispiele. Die Argumente haben Nummern, damit man sich bei Gegenargumenten besser darauf beziehen kann.
Der Text steht auch im
cognitivetools-Wiki, aber ich hab eben beim Reinstellen die Permissions vermurkst, deshalb komme ich grade selber nicht mehr dran. 8-) Hoffentlich repariert Heiko es bald und dann kann man dort noch diskutieren und den Text selbst weiterentwickeln. (Nachtrag: Es ist repariert, vielen Dank!)
Allgemein zur Fragestellung
Was ist „besser“? - Ein großes, standardisierendes Software-Tool (das notwendigerweise wohl in Richtung „Umgebung“ gehen würde, siehe Vision A) oder eine Vielzahl kleiner, heterogener Tools (siehe Vision B)?
Die Frage richtet sich vielleicht am stärksten an Software-Entwickler, die überlegen müssen, wo sie ihre Energien investieren. Und es ist interessant für Vertreter beider Seiten, die wissen wollen, wo die Grenzen ihrer Positionen sind...
Vielleicht lässt sich die Frage besser in mehrere einzelne Fragen aufteilen, da bin ich mir noch nicht sicher.
A - Ein Tool für alle und alles
Vision A
Es gilt, das beste und optimalste System zu schaffen. Man geht davon aus, dass es ein Optimum gibt. Es soll so nah wie möglich an der natürlichen Arbeitsweise des Menschen sein, unnötiger Ballast möglichst vermieden werden. Beispielsweise Unterschiede in der Benutzeroberfläche verschiedener Programme und mangelnde Integration zwischen ihnen führen zu Brüchen im Arbeits- und Denkprozess. Das wird vermieden, wenn man sich innerhalb eines einzigen, umfassenden Systems bewegt.
Stichwort: Standardisierung
Bild: Die Ängste aus Sicht von Vision A.
B - Ganz viele unterschiedliche Tools
Vision B
Die Menschen haben zu unterschiedliche Arbeitsstile, Gewohnheiten, Anforderungen, Arbeitssituationen... als dass ihre Bedürfnisse von einem einzigen System gut abgedeckt werden könnten. Bestehende Standard-Software hindert Leute oft am effektiven Arbeiten, weil sie ihre besonderen Bedürfnisse und Ausnahmen nicht berücksichtigt. Ideal wäre, wenn jeder Mensch ein toller Programmierer wäre und sich seinen Arbeitsplatz selbst gestalten könnte (und dürfte). Denn im Grunde weiß jeder nur für sich selbst, was er zum optimalen Arbeiten braucht.
Abgemildert heißt das: Jeder soll sich eine individuelle Kombination aus verschiedenen verfügbaren Software-Tools zusammenstellen können. Dazu ist es sehr wichtig, dass diese mit anderen Tools gut zusammenarbeitet / offene Schnittstellen hat.
Stichwort: Personalisierung
Bild: Die Ängste aus Sicht von Vision B.
Jetzt zu den eigentlichen Argumenten. Die Schreibweise "A1 (pro)" heißt, dass es das erste Argument für "Ein Tool für alle" ist. Manches kommt wohl doppelt vor. Die Reihenfolge hat keine besondere Funktion (vielleicht sollte sie?). Eine inhaltliche Gruppierung der Argumente wäre eigentlich nicht schlecht...
A1 (pro) Kompatibilitätsprobleme verschwinden, oder sind sehr leicht in den Griff zu bekommen.
A2 (contra) Es erfordert, dass Menschen, die das Super-System bisher noch nicht nutzen, sich umstellen müssen. Das wollen sie bestimmt nicht.
A3 (pro) Die Suche nach einem optimalen System, das für alle Nutzer geeignet ist, stellt die Entwickler vor eine große, kreative Herausforderung. Man kann dann nicht nur für sich etwas entwickeln, sondern auch für Tante Emma und Onkel Heinz. Das resultiert in tiefer durchdachten, innovativen Systemen.
A4 (pro) Das zu erreichende Optimum orientiert sich so weit wie möglich an der natürlichen Arbeitsweise des Menschen. Man wird sich weniger an bisher bestehenden Tools orientieren, sondern kann neue Wege gehen.
A5 (pro) Wenn das System gut genug ist, wird die Expansion seiner Nutzermenge und der angebotenen Funktionen selbstverstärkend sein. Immer mehr Entwicklungsressourcen und Nutzeranforderungen können aufgenommen werden.
A6 (contra) Ein großes "monolithisches" System, insbesondere wenn es kommerzieller Natur ist, wird eher suboptimal arbeiten. Unabhängige Entwickler können den Bedürfnissen "ihrer" Nutzergruppe besser gerecht werden. Sie haben mehr Spielraum für unterschiedliche Präferenzen und Situationen (Betriebssysteme, lokale Standards, sehbehinderte Nutzer, mobile Geräte...). In Mehrheits-Systemen werden die Anforderungen von Minderheiten vermutlich nicht ernst genug genommen.
A7 (pro) Entwicklungsressourcen werden bisher insgesamt suboptimal genutzt. Eine identische Funktion (z.B. tabbed browsing) wird in x verschiedenen Browsern implementiert. Die Leistungen eines Entwicklers stehen also nur einer kleinen Nutzergruppe zur Verfügung.
A8 (pro) Für ein sinnvolles Nebeneinander vieler kleiner Tools wären gute, offene Schnittstellen nötig. Der natürliche "Egoismus" der Anbieter kleiner Software-Tools steht dem entgegen, die Forderung ist unrealistisch. Ein in sich vollständiges, paralleles System ist besser.
A9 (pro) Die Lernkurve für neue Teile des Systems ist kürzer, weil alles über ein einheitliches Interface läuft. Man könnte es einmal als Kind lernen und braucht sich dann nicht ständig neu umzustellen, wenn eine neue Entwicklung dazukommt.
A10 (pro) Erweiterungen und Updates werden einfacher, weil alles aufeinander abgestimmt ist.
A11 (pro) Der Aufwand, ein mächtiges und komplexes System für die eigenen Bedürfnisse zu personalisieren, ist immer noch geringer, als der Aufwand, aus der unüberschaubaren Vielzahl kleiner Tools diejenigen herauszusuchen, die für einen geeignet sind und auch miteinander funktionieren.
A 12 (pro) Es muss ja nicht Microsoft sein, auch andere umfassende Systeme sind denkbar.
B1 (pro) Die Menschen haben unterschiedliche Anforderungen an eine Software. Über eine "natürliche Arbeitsweise" hinaus, gibt es bestehende Gewohnheiten, Lieblingssysteme, Arbeitssituationen, rechtliche und organisatorische Situationen, persönliche Einschränkungen usw. usf. Wahrscheinlich können diese Anforderungen mit einem "Sammelsurium" kleinerer Tools besser erfüllt werden, als von einem großen System.
B2 (pro) Die Anbieter sowohl kleiner als auch größerer Software werden in Zukunft um offene Schnittstellen nicht herumkommen, weil die Nutzer es fordern werden.
(Dagegen spricht A8.)
B3 (pro) Eine Monokultur ist durch Viren oder Hacker sehr viel leichter angreifbar. Eine heterogene Zusammenstellung verschiedener Tools ist robuster.
B4 (pro) Kleine Tools lassen sich gut auf Open-Source-Basis entwickeln. Für größere Systeme sind komplexere Strukturen notwendig, es führt also eher zu kommerzieller Basis (und damit zu geschlossenen Schnittstellen) und zu Machtstrukturen, Interessenskonflikten etc. Das macht alles nur kompliziert und hindert die Entwicklung hin zum Optimum.
B5 (contra) Es werden jetzt viele Tools entwickelt, die ideal für die Bedürfnisse von Software-Entwicklern sind. Vielleicht auch noch für deren Freunde und Verwandte und für zahlende Kunden. Es gibt aber auch noch andere Menschen.
B6 (pro) Je mehr Leute insgesamt (auch redundant) Software entwickeln, desto mehr Freunde und Verwandte werden miteinbezogen. An einem A-System sind tendenziell weniger Entwickler beteiligt (siehe A7).
B7 (pro) Das Umsteigen vom jetzigen Zustand (B) hin zu einem großen System ist sehr aufwändig und abschreckend. Die Einstiegsschwelle ist zu hoch.
B8 (pro) Ein in sich vollständiges System als Optimum ist nicht zu erreichen. Es wäre zu komplex und die nachträgliche Personalisierung sehr aufwändig (besteht im Reduzieren von Funktionen).
(Dagegen spricht A11.)
B9 (contra) Gute Software oder Ideen und Funktionen daraus verbreiten sich nur langsam oder gar nicht, weil der Rückhalt eines "mächtigen" Systems fehlt. Ein weit verbreitetes System, in dem die Neuerung eine integrierte Erweiterung darstellt, kann für mehr Bekanntheit und leichtere Verbreitung sorgen.
B10 (contra) Gute Ideen aus einem Tool werden von anderen Tool-Entwicklern nur langsam oder gar nicht aufgegriffen, weil sie wenig bekannt werden, oder nicht leicht genug integrierbar sind. Oder weil man gewohnheitsmäßig lieber gegeneinander als miteinander arbeitet. Das Patentrecht verstärkt das Problem zusätzlich.
C - Kompromisse
Was liegt dazwischen? Und kann eine Zwischenlösung die genannten Argumente positiv beantworten? Mehrere Lösungen wären denkbar... aber für´s Erste soll es jetzt reichen.
Ich habe den Eindruck, das ist alles noch etwas schlecht lesbar, in dieser Form. Vielleicht ist
die Version im Wiki demnächst besser.
Trotz des Versuchs, die Argumente neutral dazustellen, habe ich natürlich einen eigenen Standpunkt: ich bin für B - viele verschiedene Tools. Ein Freund meiner Mutter sagt, das liegt am Kunsthonig, der macht anarchistisch, aber das ist eine andere Geschichte. :-)
Ich habe zwar wenig theoretische Ahnung vom Wisens- und Kommunikationsmanagement, aber mir fällt auf, dass ich bei Vision A nicht an das Stichwort "Standardisierung" gedacht hätte. Eher an etwas so "integriertes" wie Microsoft Office. "Standardisierung" wird im Zusammenhang z.B. mit dem WorldWideWeb vom W3C ja gerade dazu angestrebt, die Basis für das gemeinsame und kommunikative Funktionieren einer heterogenen Menge von Tools zu erhalten (verschiedene Betriebssysteme, verschiedene Broswer, WWW, WAP, PDA's, verschiedene Benutzergruppen...). Die Standardisierung erscheint mir in diesem Zusammenhang eher die Grundlage der Prersonalisierung :-) als das Gegenteil. Es gibt natürlich eine andere Art der Standardisierung: durch den Markt bzw. eine Monopolstellung. Aber das ist wieder ein anderes Thema. Auch mein Standpunkt geht Richtung Vision B - aber bitte aufbauend auf Standards, damit ich z.B. Daten aus einem Tool in ein anderes transferieren kann :-)