Refactoring is a Sign of Trouble With Your Project
Refactoring is a core concept in software development. A guy named Martin Fowler literally wrote the book on the topic, and he defines refactoring as “A controlled technique for improving the design of an existing codebase.” Good software developers are always looking for ways to do the things they did before better. Minor refactoring is a part of daily life in any living project. Major refactors are not.
One of the biggest warning / orange flags is when your developers say something like “I’m working on a major refactoring of this part of the app” or “In order to do that I’m going to need to do a major refactor.”
So why is major refactoring an orange flag? If you’re hearing a steady stream of “I have to refactor” then it means one of two things: Either you’re not being clear enough with your requirements and the initial designs and implementation are way off OR your developers are doing a bad job of handling today’s problem and not thinking enough about tomorrow.
In either case, your company is regularly burning cash and time.
If you’re hearing about major refactors from your development team, you need to put on the brakes and have a conversation about why it’s happening. Regardless of the root cause, you need to get to the bottom of things quickly.