Wenn man als Entwickler in einem Projekt eingesetzt wird, ist das ein sehr spannender Moment. Alles ist unbekannt. Man fragt sich, wie die Projektstruktur aufgebaut wurde, welche Automatismen bereits umgesetzt wurden und welche cleveren Ideen das Team bei einigen Funktionen einfließen lies. Oft kann ein Entwickler in den ersten Stunden eine Aussage über den Zustand des Projekts treffen. Nur diese Aussagen sind meist schwer zu verwerten. Unter Entwicklern spricht man oft von einem "unguten Gefühl". Es ist eine subjektive Wahrnehmung. Meist kann der Programmierer beschreiben, wo sich das Problem befindet. Je komplexer der betroffene Quellcode ist, um so länger braucht es dann, einen Lösungsvorschlag zu erarbeiten. Damit entschieden werden kann, ob Maßnahmen gegen den sich einschleichenden Verfall ergriffen werden, wird ein Warnsystem benötigt. Dabei hilft eine Analyse der Ursachen. Ist die Software zu komplex? Kann die umgesetzte Architektur nicht schnell genug an die formulierten Anforderungen angepasst werden? Es sollte möglich sein, die Software aufgrund ihrer Architektur zu bewerten.