At FiveDotTwelve, we had different types of clients who already had a mobile app, but for various reasons they wanted to rewrite it or we decided that there are no other options. Also, sometimes clients want to e.g. improve and develop the MVP further, but it turns out that it’s impossible or unprofitable and the significant part or even the whole code needs to be rewritten. This article is both for those who want to rewrite and get to know if it’s a good idea. It’s also for those who want to develop further but take into account that it might require rewriting.
Good reasons to rewrite your mobile app
The first thing that you should do is to consider if you really should accede with this. Answer two questions: Why do you want to rewrite your app? Do you have a good reason? Here are the examples of good reasons to proceed:
- Your app is too old. Technology used for the development is not supported anymore or it has some limitations (e.g. Apache Cordova or Ionic are rarely used nowadays), the technological debt is too heavy and causes problems with further development or the app was written for an old system version (e.g. android v 4.1) and it is unprofitable to migrate it to a newer one. Also, requirements of GooglePlay or AppStore shops change constantly and what was acceptable a few years ago may be now out of date (e.g. minimal supported iOS version needs to be changed etc.).
- Development of your product is inefficient in terms of time and money because the quality of the code is poor.
You’ve had the MVP which has been successful but was written rapidly without paying attention to aspects like scalability and now you need a more advanced solution that can handle a growing number of users.
- You want to create an absolutely new layout for the app and change a lot of features. It happens sometimes, that a particular modification seems easy but then it turns out that it affects other features. And if this change affects them too much, it’s sometimes better to do everything from scratch.
- You have made a mistake, the company that developed your software does not want to do it anymore, nobody wants to undertake further development because there is no documentation, no tests or it is written in a strange way (you have never done a code audit) or what even worse - you don’t have all the source files.
- You want to make sure that the app can be easily developed over the next few years and that it will use the latest features of mobile systems, you prefer to invest now although the current app is fine, but you are aware that it will be more profitable to rewrite it e.g. with flutter now than to further develop it by two teams natively. It's also a good opportunity to organize all the features and refresh the design.
Just make sure that it’s worth rewriting the app by entrusting the assessment to an experienced company. They know if the code is appropriate to develop or it can’t be used anymore. The mobile app development company should judge the condition of the application and advise you about this case. Maybe the rewriting isn’t essential here, maybe you should consider changing some parts of the code, some features or the design, but there’s no need to start everything all over again.
So whatever you want to and decide to do, choose a company that is well experienced and does take care of the advisory process. If you want to know how to choose the best software house for your project, we’re also writing about it in Changing partner for my project in mobile app development.
Why can’t we develop the app instead of rewriting it?
Sometimes clients come to us with the idea of developing their app but after analysis they hear from us that it’s better to rewrite it and do everything from scratch. Why does this happen? It’s not about searching for opportunities to make more money by the software house. The experienced team knows where is the border between a code that can be developed and a code that by being developed might do more harm than good.
So, audit your code, entrust it to professionals who will tell you whether it’s possible to proceed or not. If the application you already have is not able to handle your business plans, then maybe refreshing it in terms of features and design will help.
Don’t blame anyone for the incompetence when they say that your app is written in iOS 9 and it’s simply not profitable to migrate it to iOS 14 because it would take too much time. If you have the MVP which didn’t succeed, there’s also probably no point in trying to develop it without changing most of the features, without workshops and better understanding the market and target users. And if most of them require changing, it might be more effective to start from scratch e.g. to have the opportunity of developing it further in a faster way in the nearest future. Even if the purpose is good, sometimes it’s worth trying once again.
Whether you decide to start over or to develop further, the process looks quite the same and we’re writing about it in How to proceed with mobile app development. Each situation must be treated individually, there is no fixed template on how to proceed in particular cases, so if you have doubts, don’t hesitate to contact us and ask for advice.