In this episode Asim Razzaq sheds light on the ongoing debate of whether companies should undertake a software rewrite or instead refactor. This age-old decision can often make or break an organization, especially when a specific software system reaches a certain point of evolution.
[01:23] Trade Offs on Rewrites and Refactoring
[02:55] Situation Analysis
[04:39] Fit Application for the Demand
[06:17] Refactor or Rewrite?
[09:20] Asim’s Recommendation
The Evolution of Systems and Market Demand
As companies develop new systems that would meet the market or client’s demands, the need to meet these expectations adds pressure for the organization to modify their products. Software engineers begin to evaluate whether or not the system should be revisited and modified or completely rebuilt. Hence the rewrite vs refactor debate emerges. Effectivity of these methods would vary per company, but there are many factors to also consider when choosing which method to go for.
As both rewrite and refactor pose great ideas on how to adapt to the rapid market demand, companies have to make a realistic decision on which method they need to use. If the company already has an existing business format, and the time comes that they need to evolve this mainframe, then it would be wise to work on agility in order not to prolong or confuse the consumers. Consider that companies also have a fair share of employment flow, moving from one position to the next or if the system no longer applies to the knowledge scale of the person in charge.
Additional Resource Materials
Martin Fowler’s Blog