In business operations, Business Process Reengineering (BPR) is a practice that involves analyzing, designing, and modifying preexisting business processes and systems. Restructuring business processes enhances quality, performance, and maintainability.
In software development, refactoring is similar to this idea. It’s restructuring code without changing its original functionality or external behavior. The goal is to improve internal code by introducing small but meaningful changes in the source code to improve performance and efficiency.
Reengineering or refactoring doesn’t have to be applied only to business processes or software development. They can be equally beneficial for product and solution development. Let’s put this in the context of automotive electronics devices for
off-highway vehicles.
The off-highway and industrial vehicles market is a smaller volume, more extended lifecycle industry than the passenger car market. While the mobile machine industry is accelerating the new technology adoption cycle, it’s still a more conservative and slower pace-of-innovation market. It’s common to see older but popular equipment models in production for decades from the initial deployment. When the production of equipment continues for decades, OEMs can face several issues, such as:
Instead of spending many resources for a few years completely redesigning and redeveloping a new solution, reengineering can help shorten the time and save resources needed to develop replacement parts without impacting the design, performance, and reliability of the rest of the equipment.
If the original people and design data are still available, that’s great, but otherwise, we can start with reverse engineering the original parts purely based on the specification or its external interface. Once the device's functionality and behavior are well understood, a replacement can be quickly engineered within 6 to 12 months. The following diagram shows the typical reengineering process:
Newer components that meet or exceed the requirements would be selected during the reengineering process. In general, modern technology, whether hardware components or software technology, replacing the decades-old design provides more cost-effective and higher-performance equivalents.
Designing replacement parts could yield affordable and immediate improvements. For example, a completely analog instrument cluster can be replaced by a partial or full digital cluster within the same form factor with the same mechanical housing and harness. Once it’s digitalized, it’s much easier to improve or add functionality in the future, which is an added benefit of the reengineering.
Sometimes, the improvement is more subtle than from analog to digital cluster. Let’s say there’s an old digital cluster that’s becoming very difficult to maintain because the electronic components in the original design are no longer available. A quick and efficient reengineering can enable a replacement digital cluster with exactly the same mechanical form factor and external signal interface. The following table shows the comparison:
The idea of software refactoring is to introduce small improvements to limit the impact on the overall system and control the risk of change. The same idea holds for off-highway vehicle development. If the vehicle has been in production for decades and is still selling well, adding small improvements by replacing legacy parts is a pragmatic and viable approach to extending the lifecycle of popular models.
In summary: