Unternehmensphilosophie

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.