The application of technology and management science to the modification of existing systems, organizations, processes, and products in order to make them more effective, efficient, and responsive. Responsiveness is a critical need for organizations in industry and elsewhere. It involves providing products and services of demonstrable value to customers, and thereby to those individuals who have a stake in the success of the organization. Reengineering can be carried out at the level of the organization, at the level of organizational processes, or at the level of the products and services that support an organization's activities. The entity to be reengineered can be systems management, process, product, or some combination. In each case, reengineering involves a basic three-phase systems-engineering life cycle comprising definition, development, and deployment of the entity to be reengineered.
At the level of systems management, reengineering is directed at potential change in all business or organizational processes, including the systems acquisition process life cycle itself. Systems-management reengineering may be defined as the examination, study, capture, and modification of the internal mechanisms or functionality of existing system-management processes and practices in an organization in order to reconstitute them in a new form and with new features, often to take advantage of newly emerged organizational competitiveness requirements, but without changing the inherent purpose of the organization itself.
Reengineering can also be considered at the levels of an organizational process. Process reengineering is the examination, study, capture, and modification of the internal mechanisms or functionality of an existing process or systems-engineering life cycle, in order to reconstitute it in a new form and with new functional and nonfunctional features, often to take advantage of newly emerged or desired organizational or technological capabilities, but without changing the inherent purpose of the process that is being reengineered.
The term “reengineering” could mean some sort of reworking or retrofit of an already engineered product, and could be interpreted as maintenance or refurbishment. Reengineering could also be interpreted as reverse engineering, in which the characteristics of an already engineered product are identified, such that the product can perhaps be modified or reused. Inherent in these notions are two major facets of reengineering: it improves the product or system delivered to the user for enhanced reliability or maintainability, or to meet a newly evolving need of the system users; and it increases understanding of the system or product itself. This interpretation of reengineering is almost totally product-focused.
Thus, product reengineering may be redefined as the examination, study, capture, and modification of the internal mechanisms or functionality of an existing system or product in order to reconstitute it in a new form and with new features, often to take advantage of newly emerged technologies, but without major change to the inherent functionality and purpose of the system. This definition indicates that product reengineering is basically structural reengineering with, at most, minor changes in purpose and functionality of the product. This reengineered product could be integrated with other products having rather different functionality than was the case in the initial deployment. Thus, reengineered products could be used, together with this augmentation, to provide new functionality and serve new purposes. There are a number of synonyms for product reengineering, including renewal, refurbishing, rework, repair, maintenance, modernization, reuse, redevelopment, and retrofit.
Much of product reengineering is very closely associated with reverse engineering to recover either design specifications or user requirements. Then follows refinement of these requirements or specifications and forward engineering to achieve an improved product. Forward engineering is the original process of defining, developing, and deploying a product, or realizing a system concept as a product; whereas reverse engineering, sometimes called inverse engineering, is the process though which a given system or product is examined in order to identify or specify the definition of the product either at the level of technological design specifications or at system- or user-level requirements.