It typically takes three to twelve months to develop a small or medium-sized app. A larger one can take 12-24 months. This is assuming healthy communications between stakeholders, a sensible budget and some good clarity on what needs to be achieved.
Here's a look at how you can reduce and increase the time needed to develop an app.
|How to speed up your app development||How to slow down your app development|
|Reduce Scope||Increase Scope|
|Focus on first developing a few key use cases that bring the most value to customers - literally 2-3 features including login/profile.||Include everything but the kitchen sink, 5-10 use cases|
|Launch only on the platform they are needed||Launch on iOS and Android without any justification|
|Ensure your app talks to fewer external systems such as ERP or CMS. Any APIs should be mature.||Integrate with lots of external systems, with some APIs under construction|
|Sweat the details on some areas, but also allow some areas to be tidied up later.||Insist that everything is visually perfect, and invest a lot of time in the look & feel and brand side of things|
|Focus on "why"||Focus on "what"|
|Communicate goals regularly, in one or two sentences, backed by KPIs.||Never talk about the why or share goals, the only focus is to build "all the stuff"|
|Figure out the solution approach with the developer so they have tons of context, it's not been done by a separate team and passed on||Have your analyst or designer plan the solution and pass it onto developers to build with little context|
|Enable communication||Impede communication|
|Pull together a small cross-functional team with direct lines of communication||Do big designs and then hand them off to developers managed by account managers|
|Encourage bad and react calmly, this allows people to safely share what they are thinking transparently||React negatively to any failures, which will encourage people to hide mistakes|
|Review actual work done weekly or monthly, and confirm that things are really done||Just ask for status reports and never really try the software out to see if it's working|
|Take small steps||Take big steps|
|Work in 1-4 week cycles, where each includes planning, design, development and quality assurance||Work in monthly or quarterly cycles with big planning upfront|
|Release what you've built if you can, even if to a beta cohort. Collect feedback, give feedback and iterate||Avoid releasing until everything is done, the first release will get you the feedback you need|
I once spoke to a company that commissioned an app and, after 2 years, the developer had hit problems and couldn't finish the project. It turns out the developers weren't really mobile developers, so they'd run out of steam and money, and couldn't finish. This happens quite a lot. Behind the scenes, it's actually a communication problem. If the bad news had come out earlier, things could have been resolved.
Pocketworks once took on a 6-month app development project, it was integrated with Sage and it took 10 months for the Sage consultancy to get the APIs in place, even though they said it would be 3 months. Nothing against them, API's are hard. But this dragged everything out. In hindsight, we should have paid more attention to this risk.
We once built a feature that probably should have needed 8 months. But we all agreed to simplify it, remove bits, and leave one screen pretty rough around the edges. We shipped it in 3 weeks and were able to get valuable feedback early.
You may have noticed that there are some common themes here. It's about communication, clarity of goals and working in small steps.
I've seen projects falter simply because of poor communication. You need open, clear lines of communication between the people doing the work, the stakeholders and the customers. Slow app development projects are usually ones where information isn't flowing properly between people.
You need to work in bite-sized chunks with fewer features and more attention and delay the visual finess. Take a "make it work, make it right" approach. Otherwise, you end up with 15 features that are 50% done, which is of zero value to any customer. I've seen many projects drag out because everything was a work in progress, which means everyone's focus is spread all over the place. Start something small, finish it, move on.
Hope this helps you get a feeling for how long it takes to develop an app, and how you can influence that timeline for your own needs.
Pocketworks is a mobile-first software company that helps organisations improve their customer experience with mobile technology. We enable our clients use research and data to find the right solution and deliver apps and digital products that increase customer satisfaction and retention.