An efficient mobile MVP from an iOS developer perspective

Disclaimer: This article is written from a point of view of a software developer. I optimize for an efficiency of development and do not touch other business areas.

As an iOS developer working in a software house, I deal almost exclusively with very early stage startups. Most of the clients I work for, only have an initial idea and they want us to deliver a first MVP version of their app.

For an early stage startup, time is precious. Chances are, that you don’t have a clear vision of your product and you have a limited and time constrained funding. If you don’t make it in the first year, there is a big chance that you won’t make it at all. Funding will dry up, people will start to leave etc.

From this perspective, it is extremely important that time spent on development is used efficiently, so you still have time to market the product before all the funds are gone.

While working with multiple startups I have started to notice patterns of the same mistakes repeated over and over again that hinder the release of an MVP. I like my clients to succeed so this is my take on things that can be improved to deliver a successful MVP.

  • Communicate with your developers
  • Create a design mockup
  • Do not pack too much functionality in the initial release
  • Do not obsess about UI
  • Have a marketing plan and budget
  • Have a vision for the future after the MVP

Communicate with your developers

Developers cannot read your mind. You and only you know how your product should look and function. You should try to communicate that vision clearly and be patient. What is obvious to you is not obvious to people that are trying to implement you MVP.

Be responsive. Even the most detailed documentation does not cover every functionality and corner case. Sometimes a developer may hit a wall and try to reach you to try to create a solution. Development may move forward much quicker when the founder is responsive and developers do not need to wait for hours to implement an unclear functionality.

Create a design mockup

Creating a design mockup or a detailed design is a great idea mostly because you can see the outcome of the development with a little effort and play with you mockup. It takes a lot less time to create a mockup with a clickable flow than developing a full app functionality. There are great tools out there, like InVision, that will simplify the process for you.

Once you get a phone in your hand and start clicking you will get a clearer idea of a UX, but you will inevitably want to make changes to the design to improve the app. You can change the design a hundred times while working with a good designer or by using tools like Photoshop in a little time. Asking the developer to do this will take way more time and transform the code base into a hot mess.

It is also way easier for me as a developer to create an app if I know how should it look and function.

Packing excessive functionality in the initial release

What does MVP mean? It is a minimum viable product, not the full fledged, million lines, thousand features Facebook app.

A product is never finished, you just have to accept that. It is much better to release a small version of an app with core functionality and see how the market reacts rather than trying to pack more and more features into an app until the funds dry up. Once the initial release is done, you can always release an update and you can do it as often as you like.

A simple app for a startup has the following benefits:

  • It is easier and faster to developer (costs less)
  • It has fewer bugs since it's simple
  • It creates a stable base to build new features
  • The client feedback is streamlined to core functionalities
  • It has usually better user experience

Obsessing about UI

The UI is important. It's something that differentiates your app from competition and builds user experience. But obsessing over minor UI details can extend the development time into infinity and cost you a lot of money and finally your startup.

There are native ways to do something that is familiar to users, reliable and easy to implement. For an MVP your best bet is to just go with the defaults. Sure we can create this super cool animation or effect and make everything super smooth but that will greatly increase development time with IMO little functionality gain. A user will glance at the super effect you designed and I was implementing for a week and for a split second think “that was cool”. But if your app does not provide useful functionality, no UI or special effects will save you from failure.

Iron out the core functionality, release the product and then polish the UI based on real user feedback.

If you need some help with building your MVP, just drop us a line at and we'll be happy to find ways to conquer the startup world together!

Have a marketing plan

The app market at this point is really crowdy. There are over 2 million apps on the app store. The hard truth is that no matter how good your idea is and how great your product is nobody will use it without marketing.

Too many times I have seen startups burn through all their funding in the development phase (by making the above mistakes and delaying the first release). Then when the app is finally released, no funding is set aside for marketing and the app gets 0 downloads. In the current app market, marketing is essential for success and that's exactly what unites most of out favorite apps. You may be lucky and if your app is really good it may go viral on its own, but don’t count on it. It is more probable that it will just drown in the sea of other apps.

What lies beyond the MVP?

Remember that the MVP is just the beginning. Do not treat it as the ultimate goal you want to reach and then you can open up the champagne and sit back watching your app popularity skyrocket. So much more work is ahead of you. Marketing, monetization, pivoting, hiring people, organizing the office etc. Be prepared and get that MVP out to market as fast as you can!

Originally the article was published on my Medium blog.