Pinning a dollar figure on an application is notoriously difficult to do. Complexity, platform, technology and project organization all play a part. If you ask 10 people — “How much does it cost to make an app?” — you’ll get 10 different answers, at first anyway. Development depends on lots of factors and unknowns. Of course, estimates get clearer when you’re working with experienced developers who have done similar projects in the past. But if you’re working with obscure programming languages, the uncertainty only intensifies.
What is clear is the general range of prices for levels of complexity. Plan on spending upwards of $500,000 for big, complex apps or as little as $10,000 for minimum viable applications — quite the range. Hourly rates for outsourced development teams meanwhile range from over $100 per hour in the United States and Western Europe to less than $10 in India and Bangladesh. These numbers vary widely between — even within countries. That’s just the reality of the current market.
If you decide to outsource, be sure to choose a partner that specializes in something, and really works with you to reduce development time. You want someone who will really engage with your company’s mission. For applications, expertise in newer, cross-platform languages like Flutter and Xamarin are huge positives as these cut down on development time without sacrificing code quality.
You may be able to find cheap hourly rates for developers in Eastern Europe and South Asia, but you’ll lose code quality and independent project management. You can also hire an in-house team, but that comes at a much higher cost, most of it in recruiting and employee retention.
I tried to get to the bottom of why estimating the cost of an app is so hard. I spoke to account manager Bryan Wysocki about app costs and organizing software development projects to get the most out of them.
Bryan, thanks for speaking with me today. So how much does it cost to create an app and why is that so difficult to estimate?
Well, there’s a great meme I saw recently showing the disconnect between client expectations and client budget. It’s the Thanos glove made out of a yellow kitchen glove with some plastic racks glued on. It sort of shows that clients always want the world but don’t want to pay for it. They want to get a product as quickly and for as little as possible.
We also want to win new clients so we’re also trying to cut our own expenses to make outsourced app development attractive. One of the biggest uncertainties in app development is on estimating time. We bill on time and material so the more we know before we start a project, the better we’ll be at estimating the time.
What are the main things that increase the time on a project?
One of the biggest things that makes us go over budget is if clients make last-minute changes to an application. It simply increases the overall time we bill for. We have to make a plan at the beginning of the project to get an accurate estimate, so to add anything that’s not in the initial plan will increase development time.
How do you avoid last-minute changes from clients?
Sure, so that’s why we schedule brief daily meetings. So, the fact that we have daily stand-up calls with our clients. If not daily, then weekly. We’re not just dropping a finished app on clients when it’s done, we’re working together throughout development to stay aligned and create the best product.
Sometimes these last-minute changes do occur but we’re meeting on a daily or weekly basis with our clients, so it enables us to minimize these risks of last-minute changes. If there is a last minute change, it’s addressed the day of or the week of, so there’s not a situation where we develop an app and then a month later they throw a whole bunch of new changes at us.
Can you point to an example of some of the last-minute changes and how you handled it?
Sure, so we worked on a very short project — only a few weeks. Toward the end of it, there were some changes, which we did, of course, but it only added to the development time. That’s why we have project managers. Project managers work together with developers and clients to deliver valuable products.
In case of changes that are not in a crazy hurry PMs prepare an updated project plan and will let the client know the change will affect the project. Then the client can decide if the new change is important and if he wants to include it in the project. They’re really the hedge between developers and clients. Of course, last-minute changes are not unusual, that’s why the agile approach is the best here.
You mentioned the tech stack as another element to app development estimates. How does the technology play a role? You focus on Flutter as being new and better for mobile development. How so?
Whenever you’re trying to build a native app with native languages — iOS and Android it just takes more time than if you use a cross-platform language like Flutter or Xamarin. You’re able to reuse code. With Flutter and Xamarin, you’re able to share 90% of the code. Mobile developers are writing one code base instead of two, which cuts down the time a lot for clients.
You’re able to develop your app much quicker and bring your product to market ahead of competition. Some clients obviously like building just native, right? Some people just want Swift or Kotlin or Android, and that’s just the way it is. But clients are looking to be time-conscious and so that’s why cross-platform languages really cut down on the overall cost estimate.
So you advise clients to go with cross-platform languages like Flutter?
Absolutely, for sure. Of course, it does depend on the project. Some projects you really need a native app. Some apps aren’t going to work cross-platform. But that’s something we relay to the client. That’s why we have Mateusz, our mobile lead. He’s so knowledgeable and he’ll tell you straight up that your app won’t work cross-platform, or it will.
If we’re able to build a cross-platform, great. We’re saving you money and we’re able to give you the product a lot faster. With one codebase you’re able to reuse 90% of the code, you can drastically cut the cost of building an app. 10% you’ll still have to develop natively, but the rest you can reuse.
We saw Flutter’s potential early on and so we actually have a few developers who have experience in this new framework. Flutter’s only three years old by the way, and the fact that we have several developers that are super experienced in it. Three years is almost what it takes to be a senior flutter developer, which is crazy. I don’t think a lot of software houses could claim that for sure especially when a lot of them are still using react native. In a few years flutter will be the biggest problem cross-platform language for sure.
Do you see that as a strategy to staying competitive in the current competitive climate?
Yes, that’s why we’re really focused on Flutter. Flutter’s the new cross-platform programming language and it’s still super young and we have several developers on staff who have done multiple projects with Flutter], one of my clients we’re building their MVP with Flutter. So this is a really good project. The fact that we’re on the cutting edge of this cross-platform language enables us to have new avenues. While other software houses are using React Native, which is already old news.
People are looking for the new shiny thing and Flutter is seeing exponential growth. The fact that we’re on the forefront of Flutter. We have developers who have experience with multiple Flutter projects. That separates us.
In your view, what are the main benefits of outsourcing over in-house development, especially in light of the many criticisms of software outsourcing?
I think the main barrier when people hear outsourcing is that they think it’s low quality, right? That’s one of the main objections that we face. To that I say in terms of technology education Poland is third in the world so we have very high-quality developers. We have a very good education system. Another is control. People like in-house teams because they like the control. They like to have a team that’s theirs.
So when you outsource it like and they’re not really my developers, they don’t care about my project. Which isn’t true, or shouldn’t be true. The whole point of outsourcing is you want to build long-term relationships with your clients. Like for some of my clients, we’re building long-term relationships with them. Rather than saying hey, we did this project we’re done, we’re building something bigger. Beyond the outsourcing company, we’re a trusted partner. We’re also as proud as the client when millions of users use the product. So together with the client, we have the same goal.
Another objection is about communication and a language barrier. But in terms of English language, Poland ranked 11th best in the world. Ahead of Germany, even. For us, we have to break the barrier of the low quality stigma, notions about communication problems and uncertainty about loss of control.
How do you prove to prospects that the communication is good and that they’ll benefit from trusting an outsourcing partner to do good work?
We’re very flexible in terms of how our developers work with their clients. A lot of our clients are in the U.S. so it’s either a six-hour or nine-hour time difference from Kraków. We have projects with ClickUp from San Diego and Polarr from California. We enable our developers to give time to our client and they are able to work on overlapping time zones. For example, my teammate Kamil, who works with Polarr even though they’re a nine-hour time difference, allocates at least two hours to meetings where it overlaps with some stuff that Polarr’s workday.
What are some common communication issues that you face?
At times written specs can be unclear, but these are fairly to decipher with a quick call. As account manager, I act as a middleman between the developers and the client so if there are any communication issues that arise, I can jump in.
Time differences can be a challenge. Sometimes it’s 1 p.m. PST, for us in central Europe, that’s 10 p.m. and a client will ask us to jump in for a quick meeting. We try to explain that it’s not really a good time for us. It’s about setting boundaries. But really, in terms of communication on our end, we don’t really have issues with that. It’s a big concern in software outsourcing — we have to alleviate some of the major challenges through effective communication.
How does Applandeo address that as an organization — communicating boundaries?
For clients on the U.S. west coast, their days tend to start at 8 a.m. PST so for us it’s a very reasonable time. We have flexibility between us and our clients because they respect our time as well. We deliver value and they know if needed we could be flexible in terms of timing.
If you could take the other side, what are the pros of in-house development?
Control is a big factor. People tend not to want outsiders. We want people on our team that are a part of our company, even though technically when you outsource the team you hire is working directly for clients. They’re still someone else’s employee, right? Questions about loyalty, motivation come up. These are concerns that don’t come up for in-house teams — they have their product and their jobs are tied to its success. I belong to this company. I am proud to work for this company. I’m proud to work on this product.
So when I write an email to someone hiring for developers saying I have some senior developers on the bench, and they say they already have a team, part of me understands. But it’s my job to try to convince them that we have great available developers, you don’t have to worry about hiring and recruiting. That’s also a big one that we come to especially this year during COVID. Recruiting is a nightmare to begin with and is even more of a nightmare when you can’t meet someone in person.
That’s the benefit that we offer through outsourcing. We understand your needs, we have dedicated developers on our staff already where we could allocate them immediately. You don’t have to go through recruiting and technical reviews. We find out your needs and have developers available who are able to get to work on your project.
When you sign a new client at Applandeo, about how long does it take to assemble a team?
For us, the process has been very quick. After the initial communication, we have a meeting. So for a few of my clients, I would say the average span from first contact after some brief interviews is about two weeks.
One of my first clients, we did in a week. The rate at which we are able to get things done is a lot faster, right because you don’t have to go through different bureaucracies. We’re able to just get a team assembled very quickly
How do you prove to potential clients that you do quality work?
My main selling point is the current clients were working with. We’ve built an internal app that’s currently being used by over 250 companies over the world. We’re building a product that people are downloading, companies are finding value. We’re working with ClickUp and Polar, two really big startups in the U.S., right?
Our developers are allocated to projects. ClickUP recently just raised like $35 million in seed funding. The fact that we have developers on there and we continue to have a working relationship, we’re delivering value. They see value in our company and value in our developers. So it’s a match. We have developers and it’s a cool project that a lot of our developers want to work on.
We’re providing value because we give you awesome developers for an awesome project. We hope that’s value. But there’s more to it than that. Our clients have fewer recruiting headaches, lower running costs and fewer disruptions from staffing issues.
There’s more and more competition trying to get the same shrinking pie. We have to find a way to stand out. One key selling point is that most of our developers are senior. A lot of people would be getting senior developers at mid-level or junior rates in the States right now. We don’t have any Junior development.
I try to drive home the point that you’re getting a senior developer with experience working with International clients at a price that you would be paying junior in-house developers.
Average developer wages are rising in Poland do you see this as a threat to the future of the industry here?
Yes, absolutely. As I mentioned, there are thousands of software houses fighting for the same clients and wage pressure is forcing a lot of competition on price. Poland is still very competitive on a cost-to-quality ratio, but yes it’s only a matter of time before we pride ourselves out of more general software development. Poland will be too expensive in a few years, so we’re definitely going to have to find different ways to approach clients. That’s just the reality of it.
You mentioned COVID-19 this year. Do you feel like it’s good for outsourcing? Not good for outsourcing? I’m wondering if it makes your job easier or harder?
I think it’s still too early to tell Clients are more open to remote work. If people are more open to remote work, they’re going to be more open to outsourcing because they know that not everything has to happen in an office building. You don’t have to clock in nine to five. They see that efficiency doesn’t matter where you are as long as you’re getting the job done. So personally, I think more and more people will see the value of remote work. Long-term outsourcing projects will be on the rise now obviously, but I think this trend will only continue.
In Poland we have very skilled developers and people are starting to recognize that. We’re in a market where our skills are in demand at a much lower cost compared to Western Europe and the United States. This year, many people are looking for ways to save so rather than hiring a recruiting team and having to give your employees benefits, they come to us because they know that we’re going to deliver quality and we come at a cheaper cost.
Outsourcing development can reduce the cost of creating an app. With the right development team who will advise you on the best course of action, you can get the most out of your limited budget. Hiring a ready team of senior developers can put you ahead of the competition and get your app to market first.
To further cut down on the time to develop an app, hire a team that specializes in new cross-platform technologies that allow you to reuse code rather than develop native codebases for iOS and Android separately.
Estimating the time it will take to develop an app takes a deep understanding of exactly what you want the app to do. Letting a team of experts look over your idea and make a plan is the most effective way to find out how much you should expect to pay for app development. Just as hourly rates vary, so does the quality. Working with a solid team is your best bet to get the most out of your development project.
Call us for a free 15-minute consultation on app development. We’ll walk you through the design stages and what we’ll need to get started.