A Hitchhiker’s Guide to Enterprise Mobile App Development

June 4, 2015

When most enterprise companies decide to “kick the tires” on developing a mobile app, they typically follow a similar process for finding developers, requesting quotes, and deciding on a development vendor based on a preset criteria.

In this article, we’ve decided to offer a few tips for successfully working with an app development company and open up the curtain to reveal a behind the scenes look at what it takes to successfully develop an enterprise-grade mobile app.

Let’s get started with five of the most common pre-development questions:

  1. What platform(s) will this app be on? E.g. – iOS, Android, Windows, etc.
  2. Will it be a static app or will new content be added to it frequently?
  3. What device features will the app use? E.g. – GPS, Accelerometer, Camera, Bluetooth, etc.
  4. Does the app require a backend database? E.g. – Connecting to a customer database, integrating with internal systems, reports, etc.
  5. Will the app require an Internet connection? E.g. – Posting to social media, saving data to the cloud, etc.


Once the organization has a good understanding for the questions above, a budget is generally discussed. Usually, the more complex the app, the greater the monetary investment it will require to build and maintain. At this time, enterprise organizations will often consider the potential returns on this investment such as increased revenue, greater market share, and improved customer satisfaction. During this stage, a ballpark budget range is discussed. This will likely be a wide range as the idea has yet to be discussed specifically. The goal of discussing a ballpark range is to make sure there is a fit between the client and the development company.


The next stage is signing a non-disclosure agreement or NDA. This provides the client and the developer with the ability to share information more openly since all conversations and information will remain confidential. From the client side, this often involves sharing documentation about the idea and how it may help the enterprise compete better in the marketplace. From the developer side, this may involve sharing specific pricing information, hourly rates, or development processes.


Once an NDA has been signed and specific details have been shared about the app, the development team will begin to gather requirements to provide a proposal. These requirements may involve a bit of discovery into the client’s business processes and experience with technology. At a minimum, a written description or one-pager is requested by the development team to better understand the desired features for the app. The development team will often use these requirements and features to write what is called “user stories”. User stories are part of an agile approach that helps shift the focus from writing about requirements to talking about them. All agile user stories include a written sentence or two and, more importantly, a series of conversations about the desired functionality. The most common way to write user stories is using the format below.

Format: As a , I want so that .

Example: As an app user, I want to login to the app using Facebook to save time.


Once the requirements have been gathered and user stories have been written, a proposal for services is provided by the development team to the client. This proposal will outline “our understanding” of the app, include the user stories, and pricing information. The pricing will often come in the form of dollar amount per device type. For example, $XX,XXX per device type (iPhone, Android, etc.). The proposal has an area for the client to sign to accept the agreement and move forward with the development project.


Once a project is signed for, there are several milestones for development:

  1. Kick-off – during the kick-off meeting, the team members will be introduced and roles will be assigned. This is often a good time to discuss project goals in terms of the timeline, app features, and milestones.
  2. Design – the app will be designed from start to finish based on the user stories and requirements document. This will involve collecting the brand guidelines from the organization or RGB color values and preferred font styles. The design process involves creating wireframes which are just sketches of the app. These wireframes are used to create the actual designs which can be exported into sliced individual assets. These designs are provided to the client for review, feedback, and ultimately approval.
  3. Development – Once designs are approved, the development phase will begin. MichiganLabs follows an Agile development approach where new functionality is rolled out to the app in two-week sprints. These sprints allow new value to be added and tested in smaller “bite sized” releases. So, rather than going away and building an entire app without checking in with the client, MichiganLabs will build and present the app more frequently once a new feature or requirement is finalized. Clients do not like surprises.
  4. Testing – the application features will be tested in detail. Each feature will be tested to meet the client requirements. This may involve testing on different software builds such as iOS or Android. The app may be tested in both landscape and portrait modes. For backend systems, each user story will be tested including testing on multiple browsers and in different hosting environments. Once testing is complete, the launch plan will begin.
  5. Launch – the application will be posted to the Apple App Store and Google PlayStore where appropriate. These postings will require screenshots, an app store description, and maybe even a promotional video. Apple generally takes 7-10 days to approve the app while Google will make the app available in the PlayStore within 24 hours. For backend system launches, the links and logins will be provided to the client and the databases moved into the production environment.
  6. Maintenance – each application has different needs for maintenance. This typically includes a monthly agreement with set aside hours for development and support. This maintenance agreement may also include support for new features and new software releases such as iOS, Android – and changes in hardware such as screen sizes or device types (E.g. Apple Watch).

In summary, each application is very different and may require very specific milestones to be successful. These milestones are just the most common milestones and could be changed based on recommendations or desires from the client. It is important to stay in close communication at each step of the process.

At MichiganLabs, our goal is to see your project through to completion and be your partner every step of the way. We hope the recommendations in this article have been helpful as you consider your next Enterprise application development project. If you have any questions, please contact us at info@michiganlabs.com or 616-594-0269. Thank you.

Mark Johnson
Mark Johnson
Co-founder & Managing Partner

Looking for more like this?

Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.

UX Writing Tips
Design Process

UX Writing Tips

February 3, 2023

Kai shares a few tips he's collected on how to write for user interfaces.

Read more
Quickly Prototyping a Ktor HTTP API
Development Web

Quickly Prototyping a Ktor HTTP API

August 18, 2022

Whether it’s needing a quick REST API for a personal project, or quickly prototyping a mockup for a client, I like to look for web server frameworks that help me get up and running with minimal configuration and are easy to use. I recently converted a personal project’s API from an Express web server to a Ktor web server and it felt like a breeze. I’ll share below an example of what I found and how easy it is to get a Ktor server up and running.

Read more
The benefits of open source technology for businesses
Business Development

The benefits of open source technology for businesses

March 29, 2024

Read more
View more articles