.使用中的软件不断被修改以满足新的需求、改正错误。但每次改变时采取重构方法并不实际。因此软件会逐渐偏离最初的设计。例如，软件文档在上述过程中没有得到更新，软件文档中包含的特定知识可能会失效。 
例子.早期的自然语言理解程序SHRDLU是使用LISP与PLANNER开发的，当时LISP语言还处于发展时期，因此SHRDLU使用了很多非标准的zh-hans:宏; zh-hant:巨集与软件库。这使得它在现代计算机环境上都不能运行。
重构.代码重构是一种