Paradigmen
Sauber und einfach – werden und bleiben
Mobile First
Desktop, Notebook, Smartphone, Tablet – die Vielzahl der Anzeigegeräte von Web-Inhalten ist enorm. Enorm ist auch der Anspruch, für jedes dieser Geräte eine perfekt angepasste Darstellung zu erreichen. “Responsive Design” heißt der Ansatz, der dahinter steckt. Mittels “mobil first” werden Benutzermasken und Inhalte zunächst für mobile Geräte und anschließend für die klassische Desktop-Darstellung konzipiert.
TDD
“Test driven development” heißt der Ansatz, bei dem nach Möglichkeit Tests vor der eigentlichen Implementierung geschrieben werden. Hierbei lassen sich mögliche Schwächen der eigenen Implementierung bereits von Anfang an erkennen und beheben.
Continuous delivery
Gerade bei agilen Projekten befindet sich die Software im permanenten Wandel. Damit kein Durcheinander entsteht, setzen wir auf das Build-System Maven, das Versionsverwaltungssystem Git sowie auf das Tool Jenkins zur permanenten Sicherstellung der Codequalität – und das bei jeder Änderung.
KISS
“Keep it simple (and) stupid!” – Das sagt es bereits aus. Gerade in agilen und remote arbeitenden Teams ist es essentiell, dass Code leicht und auch in Zukunft von anderen Teams verstanden werden kann. Oder anders ausgedrückt “Man sollte alles so einfach wie möglich sehen – aber auch nicht einfacher.”, Albert Einstein
DRY
“Don’t repeat yourself” – Wir wollen den Code für einen Use Case an genau einer Stelle entwickeln, und nicht verteilt. So bleibt der Code wart- und pflegbar.
YAGNI
“You ain’t gonna need it!” – Wir wollen nichts auf Vorrat implementieren. Das gilt sowohl für vermeintliche Usecases, als auch für Code und Technologien. So kann der Testaufwand gering gehalten werden, weil potentielle Gefahren minimiert werden.
Separation of Concerns
Eine fachliche Aufgabe, ein Usecase, soll auch technisch eine konkrete Entsprechung finden und nicht mit anderen Aufgaben vermischt werden. Qualität, Testbarkeit und Verständnis leiden andernfalls enorm.