Prinzipien
In der IT, der Software Entwicklung und der IT Architektur gibt es unzählige Sammlungen von Prinzipien. Grundsätzlich ist das eine gute Sache, und sie gehören genau wie Design Patterns zum Basiswissen eines jeden IT Architekten. Man sollte sie jedoch nicht religiös betrachten. Wer sich bisher noch nicht mit solchen Prinzipien beschäftigt hat, findet einen Einstieg in der
Clean Code Initiative (Basierend auf dem
Buch von Robert C. Martin), dem
Software Craftmanship oder in dem Buch
Der pragmatische Programmierer von David Thomas und Andrew Hunt. Wer nicht genug von Prinzipien bekommen kann, freut sich über
Design Principles - An open source collection of Design Principles and methods
Auch einige IT Projekte haben ihre eigenen, lesenswerten Prinzipien: Die
Unix Philosophie ist eine Sammlung von Regeln und Prinzipien die auf den Erfahrungen der Unix-Programmierer beruht.
The Zen of Python sind die Richtlinien, nach denen im Umfeld von Python entwickelt werden sollte. Prinzipien aus beiden Projekten lassen sich oft auf andere Projekte und Architekturen übertragen.
Meine Top 3
An dieser Stelle möchte ich nicht die zahlreichen Prinzipien erneut vorbeten, sondern nur meine persönliche Top 3 vorstellen, die ich für besonders wichtig halte:
Prinzipien ernst, aber nicht zu ernst nehmen
Regeln und Prinzipien sind toll, aber es sind Abstraktionen der Wirklichkeit und können die Komplexität der realen Welt nicht vollständig abbilden. Daher muss man ein Gefühl dafür entwickeln, wann es sinnvoll ist, Prinzipien anzuwenden und wann nicht. Sowenig wie Prinzipien zum Selbstzweck werden dürfen, dürfen sie auch nicht vorbehaltlos ignoriert werden.
Das große Ganze
Strategische Entwürfe und Architekturen sollten immer in das große Bild passen und einen zeitlichen Horizont haben, der größer ist als eine einzelne Applikation oder ein einzelnes Projekt. Das darf aber nicht davon abhalten im Hier und Jetzt auch pragmatische Entscheidungen zuzulassen, die nicht immer vollständig auf das Gesamtbild einzahlen.
In der Theorie sind Theorie und Praxis dasselbe
Architektonische Entwürfe sind immer eine Theorie davon, wie etwas funktionieren könnte. Diese Theorie muss in der Praxis evaluiert werden, ansonsten ist sie wertlos. Erfahrungen aus der Implementierung einer Architektur werden dann wieder in zukünftige Entwürfe mit einfließen und diese verbessern.