Existing software engineering techniques usually treat the case where a new software system has to be built. All documents are developed from scratch, without any reference to existing documents. However, this situation is no longer realistic, because in more and more software projects, no new systems are constructed, but existing systems are evolved and adapted to new requirements. Hence, a task that becomes more and more important is to engineer existing software. Methods for an evolutionary software technology are still missing, even though object orientation and component-based software engineering enhance the possibility to re-use existing software. This paper does not present finished results but explores some paths that lead to a software technology tailored for the evolution of existing systems.