In der Softwareentwickung gibt es ein Grundproblem: die
EntwicklerInnen wissen in den wenigsten Fällen, welche
Bedürfnisse die AnwenderInnen haben.[1]
Dies hat mehrere Ursachen. Meist wissen die AnwenderInnen selbst nicht genau, was sie brauchen
bzw. können es nicht so formulieren, dass die EntwicklerInnen es
entsprechend umsetzen können. Andererseits haben --Geeks-- andere
Vorstellungen von "schönem Code", die selten etwas mit ansprechend
gestalteten Programmen zu tun haben oder besonders benutzerfreundlich
für weniger versierte AnwenderInnen sind.[2]
Diese "Baukasten"-Anleitung will dich in die Möglichkeit versetzen "einfach" benutzbare Programme zu gestalten.
Einfach meint in diesem Zusammenhang, dass die Bedienung des
Programms möglichst exakt den Vorstellungen der BenutzerInnen
angepasst ist - losgelöst von der techn. Realisierbarkeit.
Wenn dein Programm einen dicken, roten "Speichern"-Button haben
soll, weil es die wichtigste Funktion des Programms ist, dann
bekommt es den auch.
Ansprechen möchte ich hauptsächlich Menschen, die vom
Programmieren keine oder kaum Ahnung haben. (Solltest du ein
erfahrener Programmierer sein und möchtest auf ähnliche Weise mit
AnwenderInnen zusammen arbeiten, lies bitte hier weiter -[TODO]-)
Softwareentwicklung ist nicht ganz so einfach, wie es diese
Anleitung glauben machen will. Du wirst also nach dem Durcharbeiten dieses
HowTos kein komplettes Programm auf deinem Rechner haben. Dafür
hast du ein elegantes Gerüst, welches du Menschen mit grundlegenden
Programmierkenntnissen in die Hand drücken kannst, um sie mit
etwas ideologischer Unterstützung oder einer gratis
Pizzaverpflegung [3] zum Vollenden deiner Vorstellungen zu animieren.
Nebenbei bemerkt, steht Software immer in direktem Zusammenhang mit
ihren EntwicklerInnen und ist selten "fertig". Stell dir ein
Programm als ein dynamisches Etwas vor, das mit anderer
Software zusammen arbeitet oder auch nicht und sich ständig
weiter entwickelt, um den aktuellen Anforderungen zu
genügen. Dieser Prozess erfordert intensive Zusammenarbeit
zwischen NutzerInnen und EntwicklerInnen. Mit deinen
persönlichen Aktivitäten bei den Entwicklungs- und
Instandhaltungsprozessen trägst du besonders dazu bei, ein herausragendes
Programm zu gestalten.
Diese Ansicht wird nicht von allen Softwareentwicklern in gleicher
Weise geteilt. Insbesondere moechte ich an dieser Stelle darauf
hinweisen, dass offene, freie Grundgedanken notwendig sind, um auf
diese Weise ein "lebendiges" Programm zu schaffen. In den letzten
Jahrzehnten sind in dieser Hinsicht einige Modelle entstanden,
allen voran das --GNU Projekt (engl.)--, das
massgeblich an der Entstehung --"freier Software"--
beteiligt war und deren Ideen durch die
--Free Software Foundation--
unterstützt werden.
Starthilfe:
Such im Netz nach ähnlichen Problemen, wie deinem.
In den meisten Fällen hatten deine Gedanken schon andere
Menschen. Tritt mit ihnen in Kontakt!
Versuch dein Problem/Anwendungsfall so allgemein wie möglich
zu formulieren. Vielleicht kannst du andere Programme an deine
Vorstellungen anpassen (lassen).
Frag in jedem Fall vorher jemenschen mit
Programmierkenntnissen, ob deine Wünsche und Ideen prinzipiell realisierbar sind.
Nutze dazu die passenden Kanäle. (Foren, Chaträume,
Mailinglisten)
Sei nett! Du bist es, der einen Wunsch hat und Hilfe sucht.
Wenn du andere für deine Ideen begeistern und mitreissen kannst,
wird es um einiges wahrscheinlicher, dass ihr euer gemeinsames Ziel erreicht.
Fussnoten:
[1]: "Coding is easy - but you have to
know what, so the user statements are most important." (ein Entwickler
von --JahShaka-- einer komplexen Open Source,
Echtzeit, Videoeffekt/-Schnitt Software)
[2]: Mensch möge den Texteditor
--vi-- heranziehen, um
meine Aussage zu verstehen.
[3]: EntwicklerInnen von --Samba-- baten
Menschen, denen ihre Software gefiel und die irgendwie helfen
wollten um Pizzalieferungen. Dieser teilweise Scherz wurde zum
Selbstläfer und mittlerweile gilt
Samba als Pizzaware :)
|