Before considering rebuilding a solution because old, it’s wise to evaluate the differences between the existing system and the new version to be designed. Even if there are many components with several interdependencies it might be convenient to evaluate a piece-by-piece update rather than scratching everything and starting back from zero.
How shall we decide if we should redo it from scratch or adapt the existing one?
Plan to invest a limited amount of time to map the most connected and relevant part of the system to the one to be and see if it is relatively straightforward to translate between the old and the new or if there are too many differences or new pieces or a lot of old pieces to be completely removed.
If you discover that there is a high ratio of unchanged parts or slightly adapted components versus the novelties you might consider updating and upgrading the old rather than starting from scratch.
In very complicated systems, if you discover that the update is more convenient than the rebuild you might save a lot of time and resources.
This is my daily post no. 347.