1. A computer-readable storage medium, which is not a signal, configured with data and instructions for performing a method for managing changes in an engineering project, the method comprising the steps of: displaying a current design diagram in a computer system display device, the current design diagram representing a current design of an engineering project, the current design diagram including at least two design elements, each of these design elements having a visual representation in the display device, each of these design elements also having a link to at least one respective implementation component; displaying a proposed design diagram in the display device, the proposed design diagram representing a proposed design of the engineering project and versioned separately from the current design diagram, which allows both versions to reside separately in the display device at the same time, the proposed design diagram including at least one proposed design element not present in the current design diagram, the proposed design element having a visual representation in the display device; and generating a work list in a computer system memory, the work list including specific tasks for transforming the current design into the proposed design of the engineering project, as opposed to including all tasks from design creation to the current design, wherein the work list comprises a refactoring task for refactoring with at least one of the following implementation components: a software namespace, a software class, a software method, a software call, a block of software code, a software source code component, wherein the transforming comprises visualizing and analyzing the current design for detecting both simple and complex relationships of the implementation components, and at least one task of the work list has a change category summarizing an intended change to be made to the current design, and also has a reference to at least one of: an implementation component which is to be changed as indicated in the change category, a design element which is to be changed as indicated in the change category, the at least one task also having tracking information which includes a task status of the intended change to the referenced component, namely, the intended change is unassigned, the intended change is assigned, the intended change is underway, the intended change is tested, or the intended change is completed.