1. Schnitt: Erst fachlich, dann technisch 2. Tests: 1. Jedes Element nur einmal testen 2. möglichst billig testen 3. YAGNI / KISS #Postel's Law: be conservative in what you do, be liberal in what you accept from others. https://martinfowler.com/bliki/TolerantReader.html 5. DDD Aufteilung nutzen 1. Domain isoliert - isoliert testbar 2. Inputs / Outputs validieren 3. Aggregate bilden 6. Configuration ist dumm 7. Wir programmieren in Programmiersprachen und nicht in XML / Template / yaml ... 8. Gute Programmiersprachen erfinden ist schwierig, drum lassen wir das 9. Microkernel 10. Schnelles Feedback ist relevant 11. Wenn wir Magie wirken, dann muss die gut sein 12. Wir vermeiden zirkuläre Abhängigkeiten 13. Modularisierung ermöglichen 14. Komposition 15. versionierte / nicht veränderbare Dependency 16. Das nötigste ist dokumentiert