Fast jedes Softwaresystem wird mit guten Vorsätzen aber unter schwierigen Bedingungen entwickelt. Deadlines, unterschiedliche Qualifikationen und Missverständnisse im Entwicklungsteam führen dazu, dass die Architektur des Systems erodiert und Schritt für Schritt technische Schulden aufgebaut werden. Bis das ganze System zu einem unordentlichen großen Knäul verwoben ist und jede Anpassung zu einer unkalkulierbaren Kostenschraube wird. Weder den Entwicklungsteam, noch dem Management macht ein System in einem solchen Zustand Freude. In diesem Vortrag zeige ich Ihnen, wie Sie Ihren Sourcecode organisieren und weiterentwickeln können, um das Entstehen und Ansteigen von technischen Schulden zu verhindern. Dabei werden Sie sehen, welche Prinzipien helfen, technische Schulden zu vermeiden und wie sie durch geeignete Refactoring aus der Welt geschaffen werden können. Basis aller Empfehlungen werden Beispiele aus den nunmehr über 100 Analysen sein, die ich an unterschiedlichsten Softwaresystemen durchführen durfte.