When embarking on the journey of rewriting existing software, you must be prepared to embrace the waterfall process. This entails moving through the various phases of the process one by one. First and foremost, it is crucial to meticulously determine and document all the requirements in painstaking detail. Once this is completed, the focus should be solely on delivering the requirements and nothing else. Avoid the temptation to introduce new features or make customer-facing improvements. Instead, concentrate on enhancing code quality. It is a long and arduous road, but those who have successfully navigated it often consider it a significant milestone in their career. However, it is important to note that they rarely describe it as an enjoyable experience.
https://shermanonsoftware.com/2023/10/28/rewrites-are-waterfall/