How App Development Works — Part 1: First Steps


An overview of the app development process

By Chris Márffy

This blog post is the first in a series, describing how app development works in a typical client-agency arrangement. The intended reader for these posts is someone who is looking to get an app made, who wants to know how the process works. This series covers how you might work with an agency to build an app, and incorporates some of our learnings from our previous projects on what tends to work best.

The first step with any software project is making sure it is actually needed. While we are big advocates for entirely custom software that meets your needs perfectly, custom software can be expensive, and the world of existing products and services that might solve your problems (or compete with your solution) grows every day.

When we start our relationship with any new client, our first step is to discuss the basics behind their project idea. The questions we discuss are things that you, as the driving force behind the idea to build an app, should also be asking yourself. Here, we dive into some of these questions and discuss why they’re important:

What problem are you trying to solve?

Understanding the problem that you are trying to solve is probably the most important thing you can do at the start of your project. Without knowing what the problem is clearly, you have nothing to measure the success of the solution against. Designing and developing software is a process of balancing competing priorities, and understanding the problem enough that you can evaluate potential solutions is a must.

Have you validated the idea/problem?

Idea validation and problem validation can be difficult processes to do well. It is important that the problem you identify is something there is a market for – that it is a problem other people experience too. This becomes especially important in cases where the problem you’re trying to solve isn’t one you’ve personally faced, such as a problem you’ve identified someone else having. In this case, validation is also an important part of the process in that it allows you to fully understand where the pain points are for those affected by the problem.

Validation is a topic with a lot of aspects to consider, and there are plenty of resources available on the internet to help with this. One important pitfall to try and avoid when validating your idea is leading the potential customers you interview to say what you want to hear. Open questions, and not priming the person you are talking to with the actual problem you are focused on are effective ways of doing this. It is more valuable to ask, “What are the biggest problems you face with X” and “Rank these problems by how likely you are to face them” than it is to say, “How much of a problem is X for you?”.

Are there competitors?

Establishing whether there are competitor products or services is something we work out with our clients early on. The existence of competitors is not a deal-breaker to moving forward with the project, but it can mean that simply solving the problem is not going to cut it. The solution that gets built will need to be based on providing a unique value proposition over the competitors.

Competitors do provide a wealth of insight into designing your own solution, both in what they do right, and what they do wrong. It is important that lessons are learned from competitors, with the important note that you should be careful not to be led into a pattern for your solution. Solutions should always be based on the problem and requirements – not on what has come before. We will discuss this more in our next post on Requirements Gathering.

Is a full-blown app necessary or are there off-the-shelf solutions?

Not all apps are built to be sold as a product or service to an end-user, many are instead built to solve a problem you or your company have internally. In these cases, solving the problem effectively for minimal cost is more important than creating something that can be sold to others. This means that the best option might be off-the-shelf solutions, or even a medley of solutions strung together. Often there are products available that aren’t aimed at your problem or industry but are still useful in solving your problem.

As an app development agency, we are, predictably, big advocates for building bespoke apps for your needs, but easier and quicker solutions should always be considered to make sure you’re not getting something unnecessarily complicated.

What is the rough budget?

As someone who’s never approached app development before, it can be very difficult to know how much an app might cost. Simple functional apps can be delivered for as low as £5,000 but, as complexity increases, the cost has no real upper bound, with apps often costing hundreds of thousands.

Additionally, without knowing the inside workings of a particular app, it can be difficult to know how much has been spent on it. The reality of the situation is that products that look superficially similar can cost wildly different amounts depending on the exact features under the hood, or certain requirements the app has to meet. Given this, it’s useful to be transparent with your developers, and let them know your budgetary constraints. There are often ways to solve the same problem at varying price points, from producing a Minimum Viable Product through to an app with all the bells and whistles you can think of.

How is the project going to be funded?

Apps are funded in all kinds of ways, and there are several questions that your development partner should be asking. Will the project involve a government grant? Is the money from your business, or is it personal capital? Will the money only be available at a certain point? The answers to all these questions impact the way the project might need to be structured and are things that should be worked out early on.

What business needs does the app need to meet?

An important factor to consider early on is the business case for your app. Is the app a free tool provided to existing clients? Does your business case rely on the app generating revenue directly? Apps follow all kinds of models: social media apps are typically free, as the value is gained from selling advertising data from many users; at the other end of the spectrum, apps serving a very specific niche to business consumers can have large upfront costs or recurring fees. You should be realistic about both the pricing and the number of potential users for your app to make sure your strategy is planned from the beginning.

If subscriptions (or one-off payments) are going to be present in the app, one factor to bear in mind is the fees that Apple and Google charge fees on these transactions. These fees can be as high as 30% depending on how your app is categorised.

How important is the project IP?

For many app projects, the Intellectual Property generated during the building of the app is very important. If the ideas around the app are unique, ownership of that Intellectual Property is valuable, and you’ll want to make sure that your development partner understands this, and that your agreements are structured so that this Intellectual Property is handed over to you.

In some instances, Intellectual Property may not be important to you. Perhaps the app is to solve an internal company problem, and the idea isn’t unique, only the implementation. In these cases, retaining IP rights isn’t important, and it can be worthwhile to be more relaxed on IP clauses; some developers can be hesitant to agree to strict IP clauses that they worry may restrict future business opportunities.

How hands-on do you want to be?

Are you a techy person, or someone who wants to learn the jargon and be involved with what is happening in the project on a day-to-day level? Do you understand the business side of the solution, but want a completely hands-off approach to the development, relying on your app agency to make the right decisions based on the information you give them? Knowing how you want to be involved in the project is an important factor in knowing if you as a client will work well with an agency, or if you’d be better suited with an agency that takes a different approach.

The key takeaway

As someone looking to get an app made, the number one thing we’d like you to learn from this article is that a well-understood problem, and understanding your constraints and expectations are vital to a successful project. The questions we’ve mentioned are the fundamentals that should know the answers to before you commit to the project. They should be discussed with your potential development partners well before you have a commercial agreement in place. Expectation management is a hugely important part of business relationships, and for an app development project to run well, both the agency and client need to understand this.

Author
Article by Chris Márffy