After its first release, software must face change, because change is a part of its true essence. Often, programmers have to deal with software built by others. When an improvement, change or update must be introduced, programmers need first to understand the existing software. In order to achieve that understanding, development tools are crucial. This paper describes some key features required by a tool to help programmers to understand and handle existing software. We propose to put all these features together so as to add them to an IDE (Integrated Development Environment). This paper purports to characterize a set of steps in order to help in and/or manage that transformation process.