Software & Software-Erstellung
Um zu einer guten Software zu kommen bedarf es vieler Schritte. Eine geeignete Programmiersprache zu beherrschen ist für mich eine Grundvoraussetzung. Aber damit ist es noch lange nicht getan. Es existieren heutzutage z.B. eine Reihe von Frameworks, die das Erstellen auch größerer Applikationen vereinfachen und einen guten Rahmen mit fundierter Basisfunktionalität bieten. Auch sollte man bei der Implementierung einer Software doch eher vermeiden, das Rad ständig neu zu erfinden. Ich denke, eine effiziente Art und Weise Software zu entwickeln besteht darin, entsprechende Standard-Bibliotheken zu nutzen, die zu einem Großteil sogar als OpenSource und damit mit entsprechend hoher Qualität und Stabilität vorliegen.
Eine weitere Schwierigkeit stellt sich, wenn es darum geht, eine bestehende Software zu erweitern und zu warten. Dies gestaltet sich meiner Erfahrung nach meist komplizierter als erwartet, wenn man bei der Erstellung der Software nicht ein paar Grundregeln befolgt hat.
Wichtige Punkte, die, meiner Meinung nach, bei der Erstellung einer Software beachtet werden sollten:
- Wer werden die Benutzer der Software sein? Wird die Benutzeroberfläche dem Anwender gerecht?
- Löst die Software die Probleme des Anwenders in einfacher, intuitiver Weise? Oder wird die Software zu einem neuen Problem des Anwenders?
- Wird es neuere Versionen der Software geben? Müssen diese abwärtskompatibel zu älteren Versionen sein? Ist eine automatische Aktualisierung der Anwendung möglich?
- Modularer Aufbau der Software, so dass bei späteren Aktualisierungen auch Teilkomponenten des Systems leichter austauschbar/erneuerbar sind.
Wenn man diese Grundregeln bei der Erstellung von Software im Auge behält und sich um kontinuierliches Feedback durch die Endanwender kümmert, dann wird, so bin ich überzeugt, immer Software entstehen, die den Belangen und Wünschen der Anwender gerecht wird.
Weiterhin gehört zu der Erstellung von qualitativ hochwertiger Software natürlich aber auch entsprechendes Handwerkszeug: Sourcecode, der unter Revisionskontrolle steht, eine leistungsstarke IDE (integrated development environment), ein CI-System (continuous integration) und natürlich auch die Fähigkeit, modulare Software zu entwickeln, die die an sie gestellten Performance-Ansprüche erfüllt.
All dies bekommen Sie, wenn Sie SoGraDes einen Auftrag erteilen: qualitativ hochwertige Software, die sich an den Bedürfnissen der Kunden orientiert.