Why is Software Development So Expensive!

Do you ever wonder why software development always seems to be so expensive? “Expensive” is obviously a relative term. What I think is expensive might be very different from what you consider to be costly.



But generally speaking, software development is expensive. I don’t care who you are. When you’re talking about spending tens or even hundreds of thousands of dollars on something, nobody will consider that to be cheap. Fortunately, software development does not have to be so high-priced. In this guide, I’ll explain why the cost of app development has traditionally been so high. You’ll also learn some alternative ways to keep your software development costs as low as possible. App Development Cost by the Numbers Taking the time to evaluate each component of the development process will help open your eyes up to the complexities involved. The easiest way to explain software development costs is by using an example with real numbers. We’re going to do some math to calculate development rates. But don’t freak out—I’ll keep this simple, so it’s easy to follow along. When you first consult with a development agency, they’ll send you an invoice or an estimate. Here’s an example of what the line items on a sample invoice could look like. Keep in mind; this is the development cost for one month only. As you can see, the price adds up pretty quickly. Don’t worry—as I said before, I’ll show you how to dramatically reduce this monthly cost as you continue reading. The overall cost of your project doesn’t have to be as high as you initially thought. Let’s break down each line item of this sample invoice and explain where these numbers came from: Developers Any time you’re referring to software development for mobile apps, the people building it want the app available on iOS and Android devices (generally speaking). This will essentially make their app available to the entire planet. So on the invoice, there are developers for each platform; one for iOS and one for Android. That’s because the app must be built in two separate languages for each operating system. Where did we come up with 173.3 hours for the month? Assuming a developer works 40 hours per week, that translates to 2,080 hours per year. I just divided 2,080 by 12 months to calculate how many hours each developer will work per month. In the sample invoice, I used $60 per hour for all developers—iOS, Android, and web. For those of you wondering where the $60 figure came from, allow me to explain. I used Upwork, which is a popular platform for finding developers, designers, agencies, and other professional services around the world. If you run a quick search for “software developer” on here, you’ll see a wide range of prices based on the developer’s location, qualifications, and other factors. Some range as high as $300+ per hour. But if you turn off the “US only” toggle, you’ll see more reasonable prices from developers in other countries. If you scroll through the options on Upwork, you’ll see that $60 is actually a modest estimate that falls on the lower end of the spectrum. $60 per hour multiplied by 173.3 hours per month costs roughly $10,400 per month per developer. Simple math. I’m sure some of you are wondering why a web developer is listed on the invoice for app development. Especially considering the rate of $10k+ per month, is that really necessary? In some cases, you will not need a web developer to build an app. But only under rare circumstances. The vast majority of the time, a web developer is absolutely required. Let’s say you’re building an app that has user names and passwords for user profiles. Where did you authenticate that user from? Both the username and password must both be checked against a database, somewhere in the cloud, set up by a web developer. This has to happen to ensure the user and password are both valid. When a user logs in to their profile and sees specific information intended for them. Where did that come from? Again, it’s information saved in the cloud and managed by web developers. A web developer creates the backend system for your app. QA Manager The quality assurance manager is in charge of checking everyone else's work. This person is responsible for making sure the developers are doing a good job. They check for bugs, errors, or everything else to ensure the app runs smoothly. Generally speaking, the QA manager rate is roughly 75% of the developer’s price. So that’s where I got $45 per hour. They can also do their job in about 75% of the time as a developer (130 hours on the invoice). Designer There are two types of designers. Some work ahead of the developers. They design everything out and then pass it to the developers for implementing it. Other designers can actually implement the design themselves. Whether they create the design or inherit the design from someone else, it’s the designer’s job to make the UI of your app beautiful. In terms of an hourly rate, designers make about 90% of what a developer makes and complete their work in about 75% of the time. That’s where $54 per hour for 130 hours per month came from on the sample invoice. Project Manager This role is pretty self-explanatory. The project manager is in charge of everyone else. They make sure everyone shows up on time, does the work that they’re supposed to do, and ensures nobody is slacking off. The project manager keeps the schedule on track to guarantee deadlines are met. Project managers work a full 40 hours per week for a rate that’s about 80% of the developer’s rate. So for this example, I have the project manager making $48 per hour. Again, these numbers aren’t exact for every agency or developer. But it’s a good ballpark estimate for you to follow and see where the development costs are coming from. Factors That Impact Development Costs So far, we’ve been able to establish the rates for each person building the app. We used those rates to determine how much software development costs per month. But that’s just one variable. To find out the total price of your development project, you need to figure out how long the development process takes. How many months does it take to develop your software? Here’s an example to help you figure it out. Check out this UX flowchart I found on Leanplum. Everyone building an app should create a user flow chart like this one. It’s very simple and easy to follow. Regardless of what your app does, you’ll be able to relate to this and how it works. This flowchart starts with the log-in screen and goes to the home page. If a user doesn’t have log-in credentials, they’ll need to sign up. From the home page, users can access the side menu for navigating to top features and pages. The flow chart includes a settings page and app dashboard as well. Your app will likely have all of these. The bottom of the flow chart contains the features. In this case, there’s a feature for news, calendar, messaging, and user profile. If you’re creating a flow chart for your specific app, you can just call these Feature A, Feature B, Feature C, Feature D, etc. if that’s easier for you. Even if your features are different, you can see how this works. For simplicity’s sake, let’s say there are ten custom screens that we need to build an app (based on the flow chart). While this isn’t fully comprehensive to accomplish your task, it’s good for our example. To figure out how long it takes for each component of development, I created a spreadsheet template that we can plug numbers into. As I adjust the quantity column for each line item, the number of weeks for each position will change to calculate the total price of development. To reiterate, I have this spreadsheet programmed to calculate the total price based on developers charging $60 per hour. All of the other positions rates stem from there, as we previously explained. Here’s a breakdown of each line item on the spreadsheet: Custom Screens As I said before, we’re going to say that we need to create ten custom screens based on the flow chart. Each screen will likely take one developer week. Realistically, some will take more, and some will take less. But using a 1:1 ratio is a good estimate for this purpose. The designer weeks and QA manager weeks will be roughly 20-25% of the development weeks for custom screens. Backend Admin Screens Password reset screens and user blocking are both two examples of backend admin screens. It’s whatever backend dynamic content you need to create for your backend system. It requires a web portal for you to manipulate the information, which is set up by a web developer. To keep it simple, let’s say we need three backend admin screens. I’ll plug this into the spreadsheet and show you the final results at the end. Custom Reports The custom reports could really be for anything. It all depends on what your app does and what type of information you need. Common reports are related to things like user behavior, revenue, engagement, and more. For our example, we’ll say you just need two custom reports and plug that into the spreadsheet template. Integrations Let’s say you want an app to integrate with something like Google Maps. Or maybe the app needs to integrate with a mail server, payment system, analytics solution, or any other third-party platform. To continue keeping it simple, we’ll say our example app needs just one custom integration. Margin of Error Things happen during app development. So in case something were to run over schedule or over budget, I padded everything by 5% to account for that. Here’s an updated look at our spreadsheet based on all of those numbers we just discussed. Everything should be self-explanatory and easy to follow on the sheet, but here’s a quick recap: Custom screens — 10 Backend admin screens — 3 Custom reports — 2 Integrations — 1 Based on these estimations (including a 5% margin of error), the entire project will take 23.2 weeks. As a result, this will cost you roughly $12k per week. Where did I get that from? It’s simple. Refer back to our initial sample invoice of $52,390 per month. I multiplied that by 12 months and divided that total by 52 weeks in the year to get $12,090 per week. At roughly 23.2 weeks of development, the total project will cost over $280k. Other Examples I know what some of you are thinking. All of this is based on developers charging $60 per hour. Each factor stems from that initial estimate. Maybe you want to outsource development to India or the Philippines for a cheaper rate. Here are a couple of other examples to show the total cost based on lower rates. I adjusted the sample invoice and spreadsheet accordingly for each one. Developer — $40 per hour Here’s what the monthly invoice would look like if you browsed Upwork (or another similar platform) for a developer that charges $40 per hour instead of $60. As you can see, the cost for the QA manager, designer, and project manager have all been adjusted accordingly based on the ratios I described earlier. This brings the total monthly cost to just under $35k, which is roughly $8,060 per week. If it takes 23.2 weeks to build, your total cost will still be about $187k, which is about $93k cheaper than our first example. That’s definitely cheaper, but it’s still expensive. Developer — $20 per hour What if you find someone even cheaper? If you go as low as $20 per hour, you’re really scraping the bottom of the barrel now. Remember, our initial example using a developer charging $60 per hour was already a modest estimate for an overseas developer. But just to show you what this would look like, here’s that same invoice adjusted for the new rate. Even at $20 per hour, it’s still going to cost you over $17k per month. If you apply this number using our calculations for the timeline, it’s going to cost you about $4,030 per week for 23.2 weeks for a total project cost of roughly $93k. Inexpensive Ways to Develop an App Earlier I promised that I’d give you some tips for reducing the cost of software development. Remember, there are two main variables that impact the cost of development. Price per hour Timeline You could seek a lower price per hour (as I did with the additional examples above). However, this will almost always affect the quality of the project. It’s a cliche saying, but in many cases, you get what you pay for. A developer willing to build your app for $20 per hour will not put out the same quality as a $60 or $80 per hour developer. Once you’re neck-deep in with a low-quality agency, what do you do? If your app isn’t delivered on time, you’ll either cut your losses and start over or keep sinking more money in as the timeline continues longer than expected. As a result, you could end up spending double, triple, or even quadruple the initial estimate. This defeats the purpose of choosing a lower hourly rate, and you’re still not happy with the final product. So looking for a cheaper developer is not the best way to develop software for a lower cost. Best Way to Build an App For Less Money Partner with a system that has most of what you need pre-built. Do you need a mail server or custom feature? Don’t create one from scratch; just integrate it. Refer back to the UX flowchart we talked about earlier. A platform like BuildFire already has log-in capabilities, sign-up screens, home pages, side menus, settings, profiles, in-app messaging, calendar features, news features, and more. So instead of needing ten custom screens, you might just need one or two. If you pay a premium rate for developers, you want to know that they’re going to create a beautiful and highly functional app. It’s better to put your resources into getting something done well as opposed to reinventing the entire wheel. The hourly rate might even go up in this case. But the overall project cost will be significantly reduced. You’ll just be focusing on bridging the gap for your particular app by leveraging all of the pre-built functionality. You can even build this incrementally because there is an existing system in place. There’s also a backend system for analytics, push notifications, user authentication, CMS, etc. An app building platform will have a massive amount of infrastructure on the backend that you can just inherit. Conclusion I hope this guide helped you better understand why software development can be so expensive. After looking at all of these examples, I tried to help you appreciate the costs associated with the backend of development and show you what it takes to build software. Use this information to keep you informed with your next endeavor. If you need help, you can always reach out to our team here at BuildFire. Software development doesn’t need to be so expensive if you use the right platform.