To stay competitive in today’s marketplace, companies of all sizes are investing in custom software solutions to increase efficiency and productivity, launch new business units, and increase innovation.
But how much does custom software cost to develop and can your company afford it? Should you hire a freelancer or the local small software consultancy?
Or maybe you should take the “safe” route and hire one of the giants (No one ever got fired for hiring IBM, right ;). But can your business afford their sky high hourly rates?
There’s a sea of options when hiring a software development company, and a lot of variability in pricing and terms, which is why we created the following guide to help you make the right choice.
Like most service businesses, there’s a wide variety of custom software development companies to choose from, and a lot of variability in pricing.
In our experience, most development companies fall into one of the following six categories. (Note; these categories refer to domestic, USA based companies. We’ll address offshoring later in this article.)
As the largest players in the market, Enterprise Class consultancies generally have hundreds if not thousands of developers and consultants on staff and generally work with governments and Fortune 500 companies that can afford their sky-high rates.
Projects usually range in size from $500,000 - $100,000,000+.
Hourly rates are generally between $250 - $850 per hour, depending on the experience level of the developer / consultant.
Given their premium price tag, you’d expect these types of companies to deliver superior results, and they sometimes do.
But they tend to use a “waterfall approach” to software development… meaning they attempt to build the entire software program all at once, instead of using an agile approach, where an MVP (Minimum Viable Product) is built and additional features are added over time.
The waterfall approach is costly, takes a long time, and can be risky since the entire application is developed upfront with no user feedback. This greatly increases the risk of building the wrong app that users won’t adopt.
Big Business consultancies tend to work with other large businesses that can’t quite afford the costs of the enterprise class shops, but still have big budgets.
They usually have between 100 - 1,000 developers, and several offices around the world.
They’re not as expensive as the Enterprise Class, but they certainly aren’t cheap. You can expect to pay between $200 - $300 per hour for projects ranging in size from $125,000 - $5,000,000+.
These companies are generally well known and popular amongst software developers, so they tend to attract top talent, and build strong development teams.
If you can afford their relatively high rates and project minimums, a Big Business class consultancy can be a good option. But they tend to be quite a bit more expensive than Mid-Market software development companies.
Mid-market consultancies tend to offer the best balance between cost and quality.
They generally have between 10 - 100 employees and typically work with small and medium size businesses, as well as the occasional Fortune 500 company.
You can expect to pay between $125 - $175 an hour for projects ranging in size from $50,000 - $5,000,000.
The right mid-market consultancy with a strong track record of success can be an excellent choice for the budget conscious buyer looking for a good balance of quality and cost.
Given their smaller size, these types of companies can also be a bit more risky than their bigger brothers. You’ll need to double check their references, and make sure they’ve successfully completed several projects of a similar size and scope to yours.
Small Class software development companies tend to run very lean businesses with a handful of employees and low expenses.
They can have between 2 - 10 employees, including the owners of the company, and generally work with startups, local small businesses, and medium sized regional businesses.
Their rates can range from $75 - $175 an hour for projects ranging in size from $10,000 - $500,000.
Often times, Small Class development shops will specialize in one specific area, like UI / UX design, ecommerce solutions, or mobile app development, or specific programming languages like Ruby on Rails, Node.js, React Native, etc.
Given their small team size, they only need to take on a couple of projects per year to keep the business going, and they often are booked out for months in advance.
If you have a small project or if you’re budget sensitive, a small class software developer could be a good option. And if you find the right company, you can achieve excellent results for a fraction of what you would pay a Big Business or Enterprise class software development company.
However, since they’re smaller businesses, you need to make sure they can handle a project of your size. Double check their references and ask them to provide examples of successful projects that are similar in size and scope to yours. Also, try and get a sense for the financial stability of the company We’ve seen several of these small consultancies go out of business in the middle of projects, run out of money and have to lay people off, or fail to complete projects and be unable to repay deposits (since the money has already been spent).
If you have a small project that can be handled by an individual and doesn’t require a team effort to complete, hiring a freelance software developer can be an OK choice.
Freelancers tend to come in two flavors...the new developer that recently graduated from development bootcamp and the seasoned pro who used to work a 9 - 5 but got tired of the rat race and decided to strike out on their own.
Newbie freelancers tend to be very excited and passionate about their newly acquired skill and are willing to accept pretty much any job at pretty much any rate.
The best of them can sometimes be quite skilled for their experience level. However, they often don’t know what they don’t know, and will overestimate their abilities, causing them to over-promise and underdeliver.
You can expect to pay $50 - $75 an hour for an inexperienced freelancer for projects ranging in size from $1,000 - $50,000.
The seasoned pro has been developing software for a long time, knows half a dozen programming languages, and has worked on dozens or even hundreds of custom software projects.
They might be willing to work on your project (if you’re lucky) and will usually charge a premium for their time...between $100 - $300 an hour for projects ranging in size from $5,000 - $100,000.
Pros of hiring a freelancer
You can sometimes save money
There’s thousands of freelancers to choose from on websites like Upwork.
Cons of hiring a freelancer
They are usually only really good at one thing...only front-end development, or backend development, or design...but for your project to be a success you’ll likely need them to be good at all those things.
They have a tendency to get bored and drop projects. Finding someone to finish their half-built project will be challenging.
It’s risky, since there’s no recourse. Sure you signed a contract, and you could sue them if things go south. It is unlikely that they are insured, and may or may not have the ability to pay if you win.
They can disappear. We have clients who’ve worked with freelancers in the past who simply disappeared with the code, never to be heard from again.
Offshore software development companies come in many shapes and sizes, but most often they are large organizations with hundreds to thousands of developers spread across the globe.
Offshore development rates can range from $25 - $50 an hour. Nearshore software development tends to be slightly more expensive, with rates ranging from $40 - $75 an hour. Project size tends to range from $10,000 - $1M+ for both.
Offshore development can be cost effective, but also very risky if not properly managed. Many offshore software development projects fail, often for the following reasons:
The most important aspect of software development projects isn’t programming, it’s communication.
Clients almost always underestimate how hard it is to properly communicate their vision to the development team.
Even with clients in the same time zone, or in the same city, communication can be challenging.
So you can imagine how difficult it is when the designer and developers are on the other side of the world, in an opposite time zone, and speak a different language.
Many offshore shops have hundreds of developers and focus on cranking out a high volume of low cost projects, using older technologies that produce subpar software applications.
The unfortunate result is that many offshore projects never launch, and if they do, they are often buggy, outdated, and don’t function properly.
A common tactic employed by many offshore software development companies is to quote very low hourly rates, but over-staff the project with redundant, unnecessary resources.
For example, a common staffing plan for a medium size project will often include five full-time professionals:
Quality assurance professional
The truth is that most projects require only a part time project manager and part time QA professional, and no business consultant. But many offshore companies will staff five full time people regardless of what’s really required, just to get the total project cost up. The result is that the true hourly rate, in terms of productive hours actually worked, is much higher than quoted.
Time Zones & Schedules
Offshore development projects often go over budget and miss deadlines, in part due to the inefficiency of communicating across time zones. Day-to-day problems that could be resolved in a matter of minutes by a team in the same time zone, can take days when working across time zones.
For instance, let’s say a problem pops up, you notify your offshore developers, and go home for the night. The offshore team needs clarification of the problem, responds while you’re asleep, and they head home while you head into the office. You respond to their message and wait 12 hours for their response. This process continues, and a problem that should have taken a few minutes to define and fix has now taken days. Multiply this dynamic across the hundreds of problems that arise on most development projects, and it’s easy to see how delays are common when working with offshore teams.
At FullStack, we regularly have clients approach us looking for help fixing their app that was developed offshore.
As a courtesy, we’ll usually review the codebase and offer our opinion. Of the dozens of offshore projects we’ve reviewed, we have yet to see one that we’d consider to be salvageable, and our analysis is almost always the same...scrap the app and start over.
The right way to hire offshore teams
Despite all of the very real challenges outlined above, it is possible to use offshore / nearshore developers on your project successfully, if you follow these tips.
Building custom software is a great way to improve efficiency and innovation within your organization. There are many choices when hiring software developers, and it’s important that you hire the right type of consultancy for your project.
Here’s a quick summary of the different types of software consultancies, and their respective hourly rates and project costs.
|Consultancy Type||Consultancy Size (employees)||Hourly Rate||Average Project Size|
|Enterprise Class||1,000+||$350 - $850||$200,000 - $100,000,000+|
|Big Business Class||100 - 1,000||$200 - $300||$125,000 - $1,000,000+|
|Mid-Market Class||25 - 100||$100 - $200||$50,000 - $750,000|
|Small Class||5 - 10||$75 - $125||$10,000 - $500,000|
|Freelance Developers||1||$25 - $300||$1,000 - $100,000|
|Offshore Developers||500+||$25 - $50||$10,000 - $1,000,000+|
|Nearshore Developers||500+||$40 - $75||$10,000 - $1,000,000+|
We’d love to learn more about your project. Contact us below for a free consultation with our CEO.
Projects Start at $25,000.
An interpreted high-level programming language great for general purpose programming.
A server side programming language known for its ease of use and speed of development.
View a sampling of our work implemented using a variety of our favorite technologies.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this server side programming language known for its ease of use and speed of development.