Program evolution: processes of software change
Program evolution: processes of software change
Principles of software engineering management
Principles of software engineering management
DoD legacy systems: reverse engineering data requirements
Communications of the ACM
Assessing software maintainability
Communications of the ACM
Software Metrics: A Rigorous Approach
Software Metrics: A Rigorous Approach
Software Engineering Economics
Software Engineering Economics
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
An Economic Model to Estimate Software Rewriting and Replacement Times
IEEE Transactions on Software Engineering
Legacy object modeling speeds software integration
Communications of the ACM
Software maintenance and evolution: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Value-based decision model for renewal processes in software maintenance
Annals of Software Engineering
A Framework for Evaluating Distributed Object Models and its Application to Web Engineering
Annals of Software Engineering
An XML approach for legacy code reuse
Journal of Systems and Software
Iterative Reengineering of Legacy Systems
IEEE Transactions on Software Engineering
CAPPLES - A Capacity Planning and Performance Analysis Method for the Migration of Legacy Systems
ER '99 Proceedings of the Workshops on Evolution and Change in Data Management, Reverse Engineering in Information Systems, and the World Wide Web and Conceptual Modeling
TREAT: A Reverse Engineering Method and Tool for Environmental Databases
DEXA '01 Proceedings of the 12th International Conference on Database and Expert Systems Applications
Reengineering of database intensive application
ACM SIGSOFT Software Engineering Notes
After the C++ Appetizer Comes the COBOL Main Course
SEEP '96 Proceedings of the 1996 International Conference on Software Engineering: Education and Practice (SE:EP '96)
Automating Language Conversion: A Case Study
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Decisional Framework for Legacy System Management
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Iterative Reengineering of Legacy Functions
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Processes of software reengineering planning supported by usability principles
Proceedings of the Latin American conference on Human-computer interaction
Reengineering planning process guided by usability evaluation
CHI '04 Extended Abstracts on Human Factors in Computing Systems
Technology-driven business evolution
Journal of Systems and Software
A Collaborative Method for Reuse Potential Assessment in Reengineering-Based Product Line Adoption
Balancing Agility and Formalism in Software Engineering
Developing legacy system migration methods and tools for technology transfer
Software—Practice & Experience
Journal of Systems and Software
Empirical validation of the Classic Change Curve on a software technology change project
Information and Software Technology
Extreme programming for distributed legacy system reengineering
COMPSAC-W'05 Proceedings of the 29th annual international conference on Computer software and applications conference
Defining the process for making software system modernization decisions
PROFES'06 Proceedings of the 7th international conference on Product-Focused Software Process Improvement
Software modernization and replacement decision making in industry: a qualitative study
EASE'06 Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering
Organisational scenarios and legacy systems
International Journal of Information Management: The Journal for Information Professionals
Really automatic scalable object-oriented reengineering
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.02 |
As the manager of a small software-reengineering company, I am continually confronted with the task of justifying reengineering. The user wants to know what the benefits are. Why reengineer old Cobol or Fortran when there are so many attractive fourth- generation and object-oriented languages on the market? That is why I have chosen to address business issues in this article -- not because the technical problems of transforming code and data structures are not important but because they may be irrelevant if you are not able to make a business case for solving them. There is nothing worse for a technician than to be working on a solution to some problem for years, only to discover that the problem was incorrectly stated from the beginning. I have developed a five- step reengineering planning process, starting with an analysis of the legacy system and ending with contract negotiation. The five major steps are project justification, portfolio analysis, cost estimation, cost-benefit analysis, and contracting.