Should you ever rewrite your app from scratch?
Project owners may face a dilemma of completely revamping an app. This crisis occurs when you are not getting proper output or can not implement significant changes quick enough or the application gets bombarded with performance issues. Here are some points that you should know before rewriting applications.
When should I rewrite?#
Some developers feel it is easier to rewrite an app from scratch rather than adding features on existing code. Sometimes it may bring good effect and improve performance. Here are following scenarios when to rewrite.
- Design Revamp: Sometimes developers find it difficult to implement design changes with existing code. Design changes will add or remove existing features or rearrange pages. Becuase of this it is hard to keep track of that feature within the existing code.
- Adding New Features: Sometimes adding a new feature will require rewriting the code because this may break existing features. Though this does not happen all the time, it is inevitable at some point in the product life cycle.
- Changing Code From One Platform To Another: This one is obvious - there is no way a developer can change the platform without rewriting from scratch!
- Time: When rebooting old products or looking back at legacy code, it is inefficient to continue on the existing codebase. In such a scenario, rewriting code is a good solution for future proofing.
- Bugs and Poor Structure: If the number of bugs go out of hand and if the developer feels the application is poorly structured then application definitely requires a rewrite.
When should I not rewrite?#
There are definitely some times you should NOT rewrite. Here are some scenarios,
- Disliking Code Style: It is obvious code quality and style of developers will improve with everyday work. However its bad reason to rewrite app just so that it will look better, unless it affects performance.
- New Developer Not Trusting Previous Developer: Everybody has their own way of organising and writing code. This doesn’t mean the previous developer’s code is bad and new the developer should rewrite from scratch. It is necessary for developers to look at others code to improve their own development skills.
- Laziness In Fixing Problems: Without understanding the depth of problem developers may feel its good to rewrite from first.
What should I consider before rewriting?#
Time Time Time!
It may take a lot more time for rewriting than we expect. So it is always good take TIME into consideration before rewriting an application.
These are the above points you must consider before rewriting an application. There is only one alternative for this – REFACTORING! There is no definitive answer for considering a rewrite. Every scenario is unique and the decision to do a rewrite is extremely subjective. However, considering the above points, a rewrite might just be what your app needs.