Werte in der Software
Im Gegensatz zu den Firmenwerten, welche beschreiben nach welchen Werten die Firma agiert, handelt es sich bei den Werten für die Software um die inneren Werte unserer Arbeit. Diese Werte wurden auf dem "harten" Weg in den letzten Jahren gelernt durch den Ärger der durchschlechten Quellcode und schlechte Konzeption der Systeme entstanden sind.
Das übergeordnete Prinzip: Reinheit
Reinheit ist das Hauptkonzept hinter allem was bisher erwähnt worden ist. Reinheit hilft die Schwächen im Design zu finden für Datenunsicherheiten und hilft auf der anderen Seite für Stabilität auf Grund der Sauberkeit. Es gibt nichts unnötiges in der Software das kaputt gehen könnte. Es gibt nur Teile, die wirklich nötig sind. Man kann sich auf genau dieses konzentrieren um das System zu stabilisieren und zu sichern.
Reinheit hilft damit auch die Geschwindigkeit zu steigern, da nichts unnötiges getan wird und die Software wird einfacher nutzbar durch saubere, offene und leichte graphische Nutzerschnittstellen und Programmschnittstellen.
Datensicherheit
Dieser Wert ist der offensichtlichste von allen Werten. Jede Software hat Daten zu handhaben. Wenn es auch nur eine geringe Chance gibt, dass Daten unkontrolliert verfälscht oder verloren gehen, dann ist die Software nutzlos und sollte nicht in produktiven Umgebungen eingesetzt werden. Ein wichtiges Prinzip hier ist das DRY-Prinzip, dass für "Don't Repeat Yourself!" (Wiederhole Dich nicht!) steht. Redundante Daten sind schwer kohährent zu halten. Darum sollten wir Dopplungen unter allen Umständen meiden.
Stabilität
Software in einem produktiven 24/7 Umfeld benötigt eine sehr hohe Zuverlässigkeit. In allen anderen Situationen ist es einfach "nervig", wenn ein Programm von Zeit zu Zeit abstürzt. Jeder Programmabsturz führt zu Störungen im produktiven Umfeld, zu Zeitverlusten und unkontrollierte Abstürze auch zu einem möglichen Datenverlust oder ungewollter Datenveränderung. Damit ist Stabilität fast genauso wichtig wie die Datensicherheit.
Geschwindigkeit
In 24/7 Produktionsumgebungen wird der bekannte Spruch "Zeit ist Geld" permanent mantrenartig wiederholt wie in einer Gebetsmühle. In normalen Endbenutzerumgebungen ist es nicht ganz so wichtig, aber Programme die eine Minute benötigen um eine Tabelle zu aktualisieren oder eine Präsentation zu starten, werden bei den Nutzer kaum auf Gegenliebe stoßen. Darum ist auch die Ausführungsgeschwindigkeit ein wichtiger Punkt in der Softwareentwicklung. Aber die Geschwindigkeit sollte sicher immer der Datensicherheit und der Stabilität unterordnen.
Benutzbarkeit
Jede Software sollte einfach nutzbar sein. Es sollte nicht nötig sein Nutzerhandbücher so dick wie "Krieg und Frieden" zu lesen. Software sollte so aufgebaut sein, dass alle Nutzer intuitiven Zugang zu ihr haben. Geschwindigkeit ist ein Teil der Benutzbarkeit. Zwischen den beiden ist es generell schwer zu entscheiden, welcher von den beiden Werten wichtiger ist. Es hängt von der entsprechenden Applikation ab.