So you’ve decided to build an app.
Maybe that’s because you’re an entrepreneur and you have a new idea that is going to change, or disrupt, the world.
Or, maybe you’re a seasoned business owner and you’ve identified just the process to automate to scale up your business.
Or, maybe you’re a marketing professional who’s going to scale your business and put your products and services in the hands of everyone through an web or mobile app.
Or, maybe you’re the CxO of an MNC who is taking the next step in your masterplan to modernize and digitalize your entire business empire.
At this point, unless you have an in-house app development team, and they have the time and bandwidth, you may be considering engaging an app development firm. Or software house. Or software development consultancy. Or app development agency. Or outsourced app development team. They go by many names.
For simplicity, let’s call them app development companies, or app developers.
There’s so many of them!
The first, and most obvious thing, is that there’s a ton of app development companies out there. They all promise to build your perfect app, and guarantee absolute success.
Disclaimer: I run an “app development company” as well, and my company, Qavar, is one of the companies I’m talking about. We’re no exception to any of this.
Given such a plethora of choices, what do you do? Well of course, you start talking to them. There’s really no way around this, because hiring an app development company is no different from hiring a new employee.
But what you want to make sure, is that you hire, or partner with, the right one.
And we’re here to give you our opinion on how to do just that.
There are so many different models!
Yes, there are. But mainly you can break them into 2 types. More often than not, your project will fall into one of the above, or at most a simple hybrid.
The typical is the fixed-fee project. Basically, you define, with them, the scope of work you need done, and how long you have to do it, and they come back with a quote. Then work begins.
The advantage is that you know upfront how much the project costs, and that won’t change, unless the needs of the project changes.
Then you have the time-based project. Basically, you hire them, whether the company or a team within the company, at a specific rate. It can be hourly, or daily, or monthly. Longer projects usually have a bulk rate or discount. And for as long as the project is on-going, you pay that rate. If the project stalls, or is postponed, you don’t pay anything. There are lots of terms and caveats of course.
The advantage is that this is very fluid, and accommodates a project that cannot be well-defined at the start.
The disadvantage is that you may not know, beyond a loose estimate, how much the project will cost. This can be frightening.
So, how do I choose?
Okay that was a long introduction. We just wanted to set the scene a little bit.
So, what makes a good app development company? Obviously, the answer can be complex, because custom-work is inherently complex. It’s also complex, in part, because its depends a lot on what you need.
That aside, here’s 4 things to take note of, and question your app development company, that we feel will help you decide.
We share this based on our experience on how things can (and have) gone wrong before. Yes, we’ve certainly made our fair share of mistakes.
1. Yes, to everything
Red flag: Your app development company is not challenging you, at pretty much every step. Worse, they’re saying yes to every requirement, idea or wish that you have.
There is no such thing as “everything can be done, no problem”. Because even if something is technically feasible, it may not be feasible in the time or budget you have (or are willing to spend).
Also, you don’t want an app development company who sees themselves as simply an executor.
Your app development company should be telling you things like “Okay, you want this, that’s great, but it’s not clear enough. What does your app do when this, that or this other thing happens?”
From our experience, almost everything you say will have an edge or corner case that you have not articulated or clarified, or even thought of.
And that’s fine, because it’s our job to highlight all those edge cases, not yours. Yours is to think about, and take decisions (with trade-offs), when we highlight them.
2. Not going beyond technical
Red flag: Your app development company never asks you what the business reason is for a feature in your app.
Your app development company should be taking your plan, which you articulate in English, together with your end goals, and infuse that into the app.
Because without understanding why you want something (say, a feature), or wish to do something in a certain way, there is no way to make sound technical trade-offs for you.
And I don’t just mean the look and feel or the user experience of the app. I’m referring to how the project is managed.
What are these? Things like, what may happen down the road if we do things this way. Or, while this is cheaper and faster now, later on if you want to change it, it will almost end up being a rebuild.
Your app development company should be advising you on what it means for your business, when you do something, on your app.
3. Giving you a quote without going deep
Red flag: Your app development company hears a bit of what you want, and simply gives you a quote. Worse, none of their assumptions are communicated to you.
We all like to say a little about what we want, have someone understand us perfectly, and tell us how much that will cost and how much time that will take (in this context we’re discussing).
I personally love that too, because it’s actually difficult to articulate in precise terms what is needed. It takes lots of time and effort!
However, if you’re giving a short brief of what you want, and your app development company hears it, and says, “okay, we understand, here’s our quote”, that’s scary.
Because there is no way the app development company can give you a logical and properly estimated quote without understanding what you actually need.
And this translates to:
- Your project gets built in a way that is not what you need in the first place, and you get charged for it
- You waste your time correcting what’s wrong
- They take more time to build it
- The cycle (may) repeat
In short, your app development project overruns in time and money, with a bonus of frustrating you, on the side.
4. Not being your sounding board and advisor
Red flag: Your app development company keeps saying “it’s up to you” or something similar.
Your app development company should play the role of being your sounding board.
They may not be the expert in your business. That’s your role. But they are, typically, the technology experts.
With that frame, they should be telling you what can and cannot (or ought not to) be done.
They should also be telling you how what you want can be, alternatively, achieved. The alternative may be, in their opinion at least, faster to build, or cheaper upfront, or cheaper to maintain down the road, or easier to understand, or more extensible in future, or more robust.
They may be wrong, but any technical person worth their salt will instantly think of a couple of ways to achieve what you want, that may not be what you’re suggesting. Together with the list of pro and cons of those approaches.
And they should tell you about it, and spar with you about it.
Very commonly, app development companies safeguard themselves by doing things how you want it, even and especially when it’s not in your best interest, so that if things go wrong, we can say “but that’s what you said”, or “but that’s how you wanted it”.
Understanding the price difference
Let’s start with a story about Bill.
Bill runs a medium-sized business, selling beautiful furniture.
He also helps to maintain that furniture by offering maintenance services to his customers – clean their leather couches, re-varnish their mahogany tables, and so on.
Bill’s first app
In order to scale up and reduce the amount of work he has to do in contacting each customer when their many different pieces of furniture are due for maintenance, he got an app development company to create an app, that his customers download.
The app reminds them that it’s time for maintenance, and even consolidates as many pieces of their furniture together as possible, so the maintenance experts can come in to service the furniture all at one go.
The customers can also use the app to accept the proposed maintenance schedule, or request a different slot.
So Bill is happy, and the customers (who downloaded the app) are happy. Bill’s company now spends 80% less time contacting customers for maintenance, and he saved a lot of money. Also, he has almost no more irate customers who complain that Bill’s company forgot to follow up and their couch is now showing signs of aging!
For only $35,000 for the app, he has now saved much more than that amount, in just over a year. And it integrates fully with the systems he uses in his core business. All great!
A new feature comes along
With this success, Bill now hopes to add a new feature, that can allow his customers to select between the standard maintenance service, and a premium maintenance service that will use speciality products to care for their furniture.
So, when customers are reminded for their upcoming appointment, they get to choose what type of service they want. The app then immediately proposes slots for both the standard service (same as before), and the premium service (this is new). The slots are different because differently trained people are going to perform the service, and they use different products.
So Bill asks his app development company how much it would cost to add this feature.
And he gets a shock.
The quote is, $25,000 (close to the same price as the original app).
Basically, this (true) story describes the very common experience where at the start things move fairly quickly, and in fact quite cost-effectively, and then a while later, when it’s time to add a new feature that is truly simple, the bill that comes back astronomical, and/or the time requested is extremely long.
The most likely reason for this is that corners were cut in terms of the quality of the software that was built, and now changing it is a herculean task.
And the app development company is now charging you for it, because they really have to spend a lot of time to add that simple feature.
Of course, the key here is that the feature in question is truly simple.
There are, after all, many features which sound simple, but are actually very delicate or intricate. Especially those that have a lot of edge or corner cases.
In the story about Bill, what is happening is that internally in the app, there is now a “split” that needs to be done. It’s a little bit like duplicating the current schedule proposing system, putting in different data, and allowing the user to select between the two.
So why did that cost so much?
We call this “technical debt”. And without going into the details of what that means, suffice to say that it is what happens when an easy solution is chosen now instead of using a better approach that would take longer.
What happened was that the app development company likely decided to use a whole bunch of “easy solutions”. Which basically cost less. They may also have decided not to care about the quality of the code, as long as the app works, or appears to work.
When code quality is not cared for, app development companies like us can save a lot of time. Imagine a car where the chassis and body and all the internal components are made of cheap quality materials, but they’re all given beautiful externals — spraying it with high quality paint, or wrapping it with nice leather.
That’s what is happening.
The economics of app development
Now let’s consider the economics of app development.
You have a set of requirements, and you have a budget, both in time, and money.
In order to get your buy-in, what an app development company could do is to say this to ourselves (numbers are arbitrary):
“Okay, so there are 20 features that need to be built, and only $100,000 dollars. But what a proper solution needs is $150,000 dollars.
But, if we can do these 6 things (that will make the solution difficult to change later), and also not care so much about code quality and use junior developers, then we can bring the price down to $65,000, and turn a $35,000 profit.
Let’s propose that. We say nothing about how we’re going to do the project, since we’re the experts anyway and the client knows nothing, and get their buy-in.”A fictitious example of the internal discussion that may occur in an app development company.
And when that happens, technical debt is literally designed into your app from day one. And that’s bad.
All in all…
We hope that this has helped to shed some light on what to look for in your app development company, from our years of experience in helping our clients get the most out of custom systems and software development in general.
In the first place, custom-built software is not always the right approach. It has to make sense.
But when it does, and you know that you need a custom-built app, or it’s time to automate your business with a system that precisely fits your needs, then it is our hope that this guide will help you choose the right app development company to make your project a success.