Software wird in Projekten zumeist unter extremem Zeitdruck geschrieben. Dieser Zeitdruck liefert auch gute Ergebnisse, aber die Software ist für spätere Erweiterungen nicht geeignet. Daher sollten Architekturprinzipien und Konzepte verwendet werden, um die Software zu strukturieren und für späteren Anforderungen vorzubereiten.