« »

Muss Software Wegwerfware sein?

31. Mai 2009 Roland

Beim Barcamp in Dornbirn würde ich gerne über das Problem sprechen, dass wir immer neue Tools erstellen und verwenden und eigentlich unsere Arbeitsabläufe damit nicht verbessern.
Wir grenzen bewusst und unbewusst ganze Personengruppen aus, da wir neue Tools erstellen und nicht notwendige Vorkehrungen wie Barrierefreiheit, Spracheinstellungen und Übersichtlichkeit beachten.

Jeden Tag entstehen neue Werkzeuge die bestimmte Probleme lösen sollen.
Beispielsweise wird neue Blogsoftware erstellt, die auf den Ideen von bestehenden Blog-Systemen aufsetzt.
Mit der Erstellung von neuen Systemen wird versucht Arbeitsabläufe und Problemstellungen, die mit den bestehenden Systemen nicht befriedigend gelöst werden können, zu verbessern.

Ein Beispiel wie ich gerne Blogsoftware verwenden würde und der tatsächliche Ablauf

Beim Erstellen von Artikeln sollte der Arbeitsablauf für mich wie folgt aussehen:

  • Ich schreibe meine Gedanken in Stichworten auf
  • Ich nehme die Stichworte und erstelle daraus Überschriften und den eigentlichen Text
  • Ich fülle Bilder und Links in den Text ein
  • Ich schreibe die Beschreibung, also eine Zusammenfassung in ein- oder zwei Sätzen, mit der der Artikel bestimmt wird
  • Ich bestimme die Tags, mit denen dieser Artikel wieder gefunden werden soll
  • Ich überlege mir einen passenden Titel

Meine WordPress Installation schreibt mir jedoch folgenden Ablauf vor:

  • Schreibe zuerst den Titel des Artikels
  • Schreibe den Artikel
  • Beschreibe die Tags
  • Erstelle die Seitenbeschreibung

Dieser Ablauf passt nicht zu meinem gewünschten Prozedere.
Ich werde von der Oberfläche dazu gezwungen, mir zuerst einen Artikeltitel zu erfinden.
Das will ich aber nicht, mache mir jedoch zuerst Gedanken um den Artikeltitel.

Was ist die Folge?

Ich halte mich mit Dingen auf, die ich in meinem Ablauf gar nicht haben will. Ich muss mich an das System anpassen. Und das führt dazu, dass ich langsamer werde und vom eigentlichen Arbeitsproblem abgelenkt werde.

Wie reagiert der normale Hacker?

Im Extremfall schreibe ich eine neue Software, die ziemlich ähnliche Eigenschaften wie WordPress hat.
Dabei verwende ich viele Features, die in WordPress vorhanden sind. Es entsteht ein neues System, dass z.B. erlaubt dass ich meinen Arbeitsablauf so gestalten kann wie ich will.
Parallel dazu entsteht jedoch ein System, dass andere Schwächen aufweist.
Beispielsweise könnte mein System folgende Probleme mit sich bringen:

  • Der Arbeitsablauf des “normalen” WordPress Anwenders wird nicht abgebildet.
  • Mein System könnte in bestimmten Bereichen langsamer sein
  • Viele Features von WordPress werden in meiner Software nicht verfügbar sein.

Verschwendung von Lebenszeit

Um die verschiedenen Systeme zu erstellen, warten und installieren wird wertvolle Zeit von Menschen benötigt.
Um sich ein System auszusuchen wird weiterhin Zeit von Menschen benötigt.
Und um sich in das neu installierte System und seine Macken einzulernen wird wieder Zeit von Menschen benötigt.
Wir verschwenden so unglaublich viel Zeit. Die Produktivität sinkt und wenn wir mal ehrlich sind, wird nicht viel mehr erreicht als wenn wir bei einem Produkt geblieben wären.

Vorteile durch Vielzahl von vorhandenen Tools

Wenn wir aus vielen verschiedenen Werkzeugen die Passenden aussuchen können, ist dass natürlich ein sehr großer Vorteil. Wir legen uns nicht auf ein bestimmtes Werkzeug fest, wir können wählen und die Evolution der einzelnen Tools zeigt dass neue Komponenten die Erzeugung von Monolithen reduziert.
Die Werkzeuge bleiben änderbar und der Fortschritt kann erfolgen.
Weiterhin können wir uns gesellschaftlich von anderen Benutzern abgrenzen und uns so zu einem elitären Personenkreis zusammenschließen. Wir können uns somit also in der Gesellschaft positionieren.

Würde es noch einen anderen Weg geben?

Durch Open Standards, Open Source und Best Practise sind viele Abläufe schon mehrfach beschrieben und in unzähligen Werkzeugen abgebildet worden.
Sind wir doch mal ehrlich. Die Erstellung von Artikeln mit Blogsoftware wurde vor 30 Jahren auf dem Mainframe mit ähnlichen Arbeitsprozessen ermöglicht.
Damals war die Ausgabe dann entweder eine 3270 Emulation oder ein ausgedrucktes Dokument.
Wenn man die Qualität und den Informationsgehalt der damaligen Dokumente mit den heutigen Webseiten vergleicht kann man häufig feststellen, dass die Qualität und der Informationsgehalt identisch sind.
Wir haben also im Prinzip keine Verbesserung erreicht.
Die Arbeitsabläufe waren schon damals perfekt definiert und für den einzelnen Anwender anpassbar.
Der letzte Punkt ist für mich sehr wichtig.
Wir haben die Technologien, die Best Practise und die individuellen Wünsche.
Unsere Computersysteme sind stark genug, auf jeden individuellen Wunsch einzugehen.
Wir müssten eigentlich “bloß” die vorhandenen Technologien und Architekturideen verwenden und unsere bestehenden Systeme anpassen.

Wie kann das zum Beispiel aussehen?

Wir können unsere bestehende Blogsoftware verwenden und hier- und da ein Reverse Engineering ansetzen.
Wir können die Software entsprechend anpassen und zum Beispiel die Individualisierung (Customizing) vorantreiben.
Wenn ich mir meinen Arbeitsablauf (in Grenzen) selbst umstellen kann, dann brauch ich mir keine Gedanken um ein neues System machen.
Ich kann bestehende Systeme verwenden.
Wir könnten unsere wertvolle Zeit damit verbringen, nicht mehr neue Tools zu evaluieren, sondern bestehende Tools zu verändern.

Warum machen wir das nicht?

Manchmal habe ich den Eindruck, wir verwenden bestehende Tools nicht weiter, da wir in einer Wegwerfgesellschaft leben.
Es ist viel einfacher, und oft auch billiger, eine defekte Waschmaschine wegzuwerfen und eine neue zu kaufen als sie zu reparieren.
In der Software schlägt sich das auch durch.
Wir müssen immer neue Gimmicks erfinden, damit diese von den Anwendern gekauft werden. Wenn das nicht geschieht, gehen wir pleite.

Fragen die ich gerne diskutieren würde

Vielleicht würde Model Driven Architecture uns weiterbringen?
Oder ist gar die totgesagte SOA noch zu retten, wenn wir sie richtig aufkochen und verwenden würden?
Wenn wir nicht mehr von Buzzwords geleitet würden, sondern von Problemlösungen würden zwar einige Berater ihren Job neu definieren müssen. Auf der anderen Seite würden wir eventuell nicht mehr so viele Millionenprojekte in den Sand setzen und Geld und (viel schlimmer) wertvolle Lebenszeit vernichten.

Was würde passieren, wenn wir uns tatsächlich mehr um die Arbeitsabläufe und weniger um die eingesetzten Tools kümmern würden?
Könnten wir unsere bestehenden Werkzeuge nicht optimieren und somit tatsächlich das Rad nicht jedes mal neu erfinden?

Merken und weiterempfehlen Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Technorati
  • Wikio DE
  • Webnews
  • MisterWong
  • Y!GG
  • Digg
  • del.icio.us

Der Beitrag wurde am Sonntag, den 31. Mai 2009 um 14:38 Uhr veröffentlicht und wurde unter Guggat emol abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=1272

Dir gefiel der Artikel? Dann abonniere doch den RSS Feedrss

Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

8 Reaktionen zu “Muss Software Wegwerfware sein?”

  1. Dirk Deimeke sagt:

    Das hört sich sehr interessant an.

    Vielleicht gibt es auch eine Antwort zu der Frage, warum Software nicht so in Modulen entwickelt wird, dass es einem Anwender oder “Arbeitsablaufdesigner” erlaubt ist, die Module nach eigenen Vorlieben und Abeitsmethoden zusammen zu stöppseln.

  2. Roland sagt:

    Hallo Dirk!
    Software in Modulen zu erstellen und nach eigenen Vorlieben “zusammen zu stöpseln” war eigentlich eine der Grundideen von SOA.
    Leider hat dort der Toolmarkt zugeschlagen und die großen Firmen mussten ganz viel Software verkaufen ;)
    Danke für deinen Kommentar, ich glaube dass wir am Barcamp da eine interessante Session hinekommen können.

  3. Dirk Deimeke sagt:

    Habe ich erzählt, dass ich in meinem letzten Job BEA (jetzt Oracle) Applicationserver betreut habe? :-)

    Ich glaube auch, dass das sehr interessant wird.

  4. Roland sagt:

    Mal sehen wo wir landen.
    Ich hoffe mal, dass wir hier keine Toolschlacht generieren :)
    Frei nach dem Motto: IBM Websphere, BEA, IONA oder Tibco?
    Denn dann sind wir ja wieder beim Problem: Viele Tools und eigentlich immer die gleiche Anforderung.

  5. Dirk Deimeke sagt:

    Gebe Dir völlig Recht, ich hätte vielleicht ein bisschen weiter ausholen sollen. Die Schulung zum Applicationserver war vielleicht die härteste, die ich je gemacht hatte, was nicht zuletzt daran lag, dass es unglaublich viele neue Vokabeln gab, die für 20 Buzzword Bingos reichen, SOA war eine der Vokabeln.

  6. Roland sagt:

    Das stimmt allerdings.
    Ich war vor ein paar Jahren als Consultant unterwegs und durfte in zwei Monaten BEA Weblogic, Tibco und IONA Produkte erlernen.
    Danach konnte ich meine Kunden so richtig schön mit Buzzwords zumüllen :)
    Wenn du also bei mir in eine Schulung gekommen wärst, hätte ich dich auch gut zugemüllt…
    Aber wie sagt man so schön “Ich war noch jung, ich brauchte das Geld!”

  7. [...] ich möchte am Wochenende auf dem Barcamp in Dornbirn über das Thema Warum muss Software Wegwerfware sein? sprechen. Wenn ich dort als der Monstermissionar auftreten will und es eigentlich doof finde immer [...]

  8. [...] Roland und ich wollen beim Barcamp Dornbirn eine Session anbieten, er schrieb dazu schon: Muss Software Wegwerfware sein? [...]

Schreibe mir


zum Seitenanfang