Refactoring in a Business Context
I have often encountered opinions that claim businesses (by businesses, I mean companies) don’t allow programming teams to refactor or spend time polishing code.
As the definition suggests, refactoring involves changing existing code without altering observable behavior. Think about it and put yourself in the shoes of a businessperson, who usually doesn’t think the same way as programmers do. They might ask:
“Why should we pay for something that we don’t see the results of? Did they do something wrong before and now have to fix it? Is it a new feature? What’s the benefit of it?” The key to success lies in answering these questions.
Most programmers aren’t the best at soft skills, but you must present refactoring as something from which the business will benefit. And that’s true.
Keep in mind what you want to optimize. Identify some indicators that measure it and predict how they will change after refactoring.
It could be the time needed for deployment, providing new features more quickly, or having a much faster software, allowing employees to accomplish more work in the same time.
These scenarios are just examples, but I hope you get the point; for all of the above, the business would be happy.
So, to summarize, you need to “map” programming language to business language and present the benefits that will result from refactoring. You don’t even need to use the word “refactoring.” By clearly communicating the advantages of refactoring in terms that resonate with business stakeholders, you can gain their support and make the process more widely accepted.