Die Entwicklung von Software ist
immer noch eine anspruchsvolle Aufgabe, welche viele
technische und organisatorische Kompetenzen erfordert.
Die meisten Desktop-Anwendungen müssen aufwändige
Benutzerschnittstellen realisieren und gleichzeitig
mehrere Daten(bank)- oder sogar Internetschnittstellen
ansprechen. Server-Anwendungen decken ähnliche
Funktionalität wiederum mit ganz anderen Technologien ab
und müssen darüber hinaus oft noch viele Benutzer
gleichzeitig bedienen, so dass Performanz und
Authentifizierung in der Server-Entwicklung ebenfalls
eine wichtige, vielleicht sogar die wichtigste Rolle
spielen. Und schließlich müssen bei größeren Teams
geeignete Entwicklungs- und Management-Prozesse
installiert und gelebt werden, um die
Software-Entwicklung auch zum Ziel zu führen.
Aber trotz aller Technik- und
Prozessverliebtheit – die wir auch haben –
wird Software immer noch für Menschen gemacht, die mit
der Software ihre alltäglichen Aufgaben erfüllen müssen
und in der Regel die Technikverliebtheit nicht teilen.
Die Software-Entwicklung sollte folglich immer den
Benutzer der Software in den Mittelpunkt stellen. Wir
nennen dies benutzerorientierte Software-Entwicklung.
Benutzerorientierte
Software-Entwicklung
Zuallererst sollte natürlich eine
Software genau die Funktionalität bieten, die für den
Einsatz der Software notwendig ist bzw. welche von dem
Benutzer erwartet wird. Um dies sicherzustellen, muss
jede Software-Entwicklung mit einem soliden
Anforderungsmanagement beginnen. Ferner muss die
geforderte Funktionalität auch realisiert werden, wozu
eventuell modernste IT-Techniken eingesetzt werden
müssen. Beide Aspekte sind von großer Bedeutung für eine
gute Software-Entwicklung und müssen einwandfrei
beherrscht werden. Dies sind jedoch nicht die einzigen
wichtigen Aspekte: Eine Software muss auch
benutzerfreundlich und zuverlässig sein.
Benutzerfreundliche
Software
Benutzbare Software muss nicht nur
die Funktionalität bieten, welche der Benutzer benötigt,
sie muss diese auch in einer Art und Weise anbieten,
welche die Software leicht zu bedienen macht. Dies
betrifft in erster Linie die Aspekte der
Schnittstellengestaltung, wie z.B. die Benennung und
Anordnung der Menü-Funktionen. Aber benutzbare Software
zeichnet noch mehr aus als reine Oberflächengestaltung.
Software muss zudem ausreichend Hilfe anbieten, damit
sich auch in der Benutzung der Software Ungeübte (und das
sind fast alle!) schnell in der Anwendung zu recht
finden. Dies schließt entsprechende Dokumentation und
Online-Hilfe, aber auch unterstützende Funktionen, wie
z.B. Wizards oder kontext-basierte Hinweise, ein. Und
schließlich muss eine Software auch dann intuitv und
transparent arbeiten, wenn etwas schief geht oder der
Benutzer falsche Eingaben macht. In solchen Fällen muss
die Software sich robust zeigen und für den Benutzer
verständliche Fehlermeldungen liefern.
Zuverlässigkeit
Aus Sicht eines Benutzers muss
Software nicht unbedingt fehlerfrei oder schön
programmiert sein. Software muss lediglich zuverlässig
arbeiten. Wenn ein Benutzer die Funktion einer Anwendung
aufruft, dann erwartet er, dass die Software in den
allermeisten Fällen auch das macht, was von der
Oberfläche versprochen wurde. Es gibt nichts
Ärgerlicheres, wenn man dringend eine bestimmte Funktion
benötigt, das Programm aber abstürzt oder (kommentarlos)
einfach nichts macht.
Letztendlich impliziert die
Zuverlässigkeit aus Sicht des Benutzers jedoch eine
entsprechende Qualität der Software. Nur wenn die genauen
Anforderungen ermittelt und mit der erforderlichen
Qualität umgesetzt werden, kann auch eine zuverlässige
Software entstehen, welche (fast immer) genau das macht,
was der Benutzer erwartet. Aber Qualitätssicherung sollte
niemals zum Selbstzweck werden, sondern immer genau die
Aspekte der Software prüfen, welche für den Benutzer
relevant sind. Und dies betrifft nicht nur die
spezifizierten Funktionen, sondern auch das Verhalten der
Software, wenn Fehler auftreten oder der Benutzer die
Software anders als spezifiziert verwendet.
Zuverlässigkeit erfordert folglich eine
benutzerorientierte Qualitätssicherung.
Unsere
Mission
Software zu entwicklen, welche
benutzerorientiert und zuverlässig ist, ist der Anspruch,
den wir selbst an uns stellen und an dem wir uns mit
unserer Software messen lassen.