Modification date: July 29, 2021

In Custom Software Development, What Drives the Cost?

logo
Syberry
In Custom Software Development, What Drives the Cost?

The time has come for your company to adopt a custom software system, whether it’s a brand-new venture or automation of existing business processes. You have decided to go with the most reasonable and modern approach: a web-based software application run in a secure cloud. The next question is, how much should you spend?

You understand that, when it comes to pricing software development, there is no quick answer. But there must be some kind of rule of thumb, or at least an order of magnitude to consider before you contact a development team? After all, you need to establish a budget somehow! The good news is that, while there is no universal, definitive answer, your project is likely to fall within a few somewhat common categories, unless you’re concocting something truly exotic.

First, let’s look at two extreme cases: enormous undertakings and very small jobs. A project that can be done by a freelancer or a small group of freelancers probably shouldn’t cost more than a few thousand dollars. But when it comes to larger projects, things get more complicated. Large companies who already have their own IT teams are likely able to plan, estimate, and execute these projects on their own and will only look for outside help to augment the team. But small and medium businesses are usually not able to design the architecture or estimate the scope of work and will need the whole package of services, as opposed to simply hiring a certain number of engineers for a certain amount of time. This article is mostly intended for those small and medium businesses who will need full-service development support.

Common sense tells us that the more features you have (more types of users, data flows, interactions, calculations, etc.), the more complex and expensive your software is going to be. But what are the less obvious — but still major — cost drivers that impact every modern web application?

Project Type and Business Domain

Obviously, standard projects are easier to estimate, and when developers see a project that’s similar to many they’ve created before, it will be easy to narrow down the range pretty quickly. On the other hand, finding the developers to create firmware for one-of-a-kind circuit board might be a difficult task, and their predictions for the project might vary greatly (sometimes by an order of magnitude).

Same goes for the specific domain: if your company needs something fairly standard like a custom scheduling platform or an accounting app, you’ll have far fewer variations in your estimates than if you’re looking for something more unique like an investment forecasting tool, which might require more niche experience (in this case with actuarial math) than simply software engineering, itself.

Integrations

One of the first things software developers should ask you about your project is whether you need any integrations with third-party software suites. For example, payments processing integrations seem deceptively simple. After all, every online store has payments processing, so it should be easy, shouldn’t it? But these minor aspects can easily double or triple the costs of any software. If you’re considering connecting your system to accounting software, a CRM, communication tools like voice help or chat, social media, or any external online resource, including maps with live GPS tracking, these features will also increase your price tag.

In the best-case scenario that 3rd party software already provides data access via well-documented API (software ‘communication channel’), which means you would just need to have someone maintaining this “link” to your software, and keep it up to date with any changes they make. For eternity.

In the worst-case scenario, your third-party software has closed-source code, which means there is no way to customize any parts of it for your project. In that case, a developer might need to create a bot that can pretend to be a human and emulate clicking buttons on the actual user interface, fill out forms, and so on. By software development standards, this extremely unreliable — and extremely costly — Frankenstein’s monster of integration should certainly be avoided whenever possible.

But don’t let that scare you. Integrations will be more efficient and less costly if your existing third-party applications use open-source features that enable streamlined connections among systems.

A rule of thumb for small- to medium-sized projects would be to add 15 to 20 percent to the overall cost for every industry-standard integration with third-party software.

Data Migration

One of the hidden challenges of projects designed to replace legacy systems is migrating data from the old system to the new. When the whole business is built on years or decades worth of data, transferring it to a new system and new format can be a complicated project on its own. Years of inconsistencies and minor errors scattered across multiple generations of databases will need to be steadily resolved in close collaboration between engineers and the client’s employees.

The cost of data migration will vary depending on how much data there is, how clean it is, and how it’s been stored. For truly neglected databases, costs of migration might constitute up to 40 to 50 percent of the whole development project.

Custom UI/UX Design

A fully custom, handcrafted design is a must for a flashy media product or an online learning platform with gamification elements. It’s a no-brainer, but it’s also expensive.

However, if you’re looking for internal system, such as a shift scheduler where employees block their time and clock in and out, you won’t need bespoke design. For these projects, customizing a free template or even using a tech framework’s own UI elements will suffice.

Depending on the amount and complexity of the user-facing screens in your future application, you can easily add 10 to 20 percent of the costs for the fully custom design.

Load and Availability

As load increases, it’s quite easy to scale a cloud-based app “horizontally” just by increasing spend on the hosting. Still, if you’re anticipating truly large data flows and user numbers, you’ll need to account for that on the architectural level, because there is no way to truly pinpoint the future bottleneck before the system is live. While setting up for high volumes can be costly, the good news is that, if you have that many users, you most likely have the budget to handle them!

High availability means that your business-critical system should operate at least 95 percent of the time, no matter what (or 99 percent, or even 99.99 percent, according to industry standards). That implies it should still function in the case of power shutdowns, software updates, and feature deployment. This kind of operability demands not just thorough architectural planning but also highly qualified support around the clock. Naturally, when you need a team working up to twenty-four-seven, your expenses will increase significantly.

Working with Existing Code

While the natural assumption might be that any existing codebase will speed up time to market, the reality is that, if that database is incomplete or poorly documented — even if it’s not so bad as the infamous “spaghetti code” — wrangling old code will be more likely to add time and cost. For some projects, especially smaller ones, the most efficient approach may be to start from scratch.

Urgency

Tight deadlines are costly, but exactly how much do you need to account for them while budgeting? It’s not as simple as merely doubling personnel, as the bump in velocity wouldn’t match. You’ll double the cost, but you’ll get a 50 to 80 percent increase at best, with the return getting smaller — and the overhead, communication, and coordination increasing — the more people you add.

Brooks’ Law states that “adding human resources to a late project makes it later,” and that’s especially true for software development, where many of the tasks aren’t neatly divisible. Brooks illustrates what that means, saying, “nine women can’t make a baby in one month.

Compliance

Good news: you most likely don’t need to worry about compliance and standards, period. For example, PCI compliance is a very strict set of rules you need to abide to if you want to save the clients’ credit cards information between logins. But you don’t need that for your e-commerce web app, even you are accepting payments via credit cards. You just need to integrate with a payment system that will keep all the data on their side, removing any need for PCI compliance in your own software.

However, if your medical organization’s software works directly with electronic health records, for example, you need that HIPAA compliance. There are ways to make it less of a hassle, like by using the right cloud infrastructures. But even in the “hassle-free” mode, you might end up with a significant cost increase, easily doubling your budget in case of a small project.

While we wish we could give potential clients clear and definite pricing upfront, the reality is that, because every software development project is different, vendors have to tailor their quotes to each client’s particular goals and needs. You can learn more about the estimate process in our recent blog post.

Publication date: July 29, 2019

Explore More Resources:

What our customers say about us

Syberry’s team was highly responsive and communicative, managing our project smoothly, responding immediately to any issues that arose, and delivering great software at a reasonable price.

Richard Harkness

CEO, ADEPT Driver

Elk Grove, CA

How we help ADEPT Driver Company

We developed a web-based driving simulator for teens and another for adults. The products run on Chromebooks, and the team added features that enable them to measure a driver's ability to avoid a crash.

Technologies used

I don't think you could find a better company to manage and build your project. I get so many compliments on my application, and it has a lot of unique and complex development.

Todd Surber

CEO, PIXRIT

Charleston, South Carolina

How we help PIXRIT Company

A photographer approached us to build a web-based software platform that combines the fastest social media manager with state-of-the-art galleries and provides the ultimate tool for photographers to upload, store, back up, and share their photos and manage their SMM activities.

Technologies used

The high-quality, user-friendly software Syberry created for us has helped grow our clientele, and we were very pleased with their partnership. Syberry was straightforward and consistent in their communication, met every deadline, and ensured a hassle-free development process.

Vince Hughes

Owner, Steel Estimating Solutions

Knoxville, TN

How we help Steel Estimating Solutions Company

Our client was inspired to create a product that helps steel erection companies perform faster, more efficient estimations and bids. We developed original proprietary software from the initial concept.

Technologies used

Syberry delivered world-class service for a cost-efficient price. They communicated well with our team throughout the process, breaking down steps and utilizing a streamlined management system to keep everyone in the loop at all times. The resulting new platform far outperforms its predecessor and has received rave reviews.

Bill Fahy

Owner, FDI Creative Services

Houston, TX

How we help FDI Creative Services Company

Following strict regulations and requirements, we used AWS to develop a custom e-commerce web app that includes shipping integration. Since the site’s launch, the team has continued to make updates.

Technologies used

The application was delivered on time and within budget. Syberry explained their process thoroughly and accommodated to scope changes effortlessly. Their stellar project management, highly responsive communication, and proactive attitude set them apart.

Ricardo Casas

CEO, Fahrenheit Marketing

Austin, TX

How we help Fahrenheit Marketing Company

We developed a large, complex .NET application with various third-party integrations. The team built the software from scratch based on existing wireframes.

Technologies used

The end solution exceeded the client’s expectations. Syberry delivered high-quality products on time and at outstanding value. They provided frequent updates and repeatedly sought feedback at each stage. Customers can expect a highly experienced team that easily translates concepts into solutions.

Rudy Milkovic

Executive Director, Velicom

Austin, TX

How we help Velicom Company

Our team built video streaming software as a web and desktop app for a third-party client. We completed end-to-end development—from scoping to feedback cycles to QA—using PHP and Wowza Streaming Engine.

Technologies used

Syberry has significantly improved our existing platform, and they continue demonstrate their dedication to our business goals and needs by making thoughtful suggestions for enhancements. The Syberry team is communicative and reliable, mitigating all our concerns about outsourcing software development.

Cory Kowal

VP of Products, THG Energy Solutions

Tulsa, OK

How we help THG Energy Solutions Company

Taking over for another vendor, we served as the ongoing software engineering partner for an energy company’s cloud-based platform. The company provided scoping, development, testing, and deployment services.

Technologies used

Syberry has been an invaluable partner in development. Their impressive team was more than able to fulfill our project needs, and their expertise and dedication led to smooth collaboration every step of the way. The result was a successfully launched product that has received lots of positive feedback.

Chris Cox

CTO, MyMelo

Louisville, Kentucky

How we help MyMelo Company

We provided staff augmentation resources for a development project. The team contributed engineers to follow an established roadmap to perform updates and add features.

Technologies used

The database Syberry developed has empowered 40 organizations to help in the fight against COVID-19. A communicative partner, the Syberry team worked quickly and efficiently to launch the website, and they continue to invest their time and efforts into the project.

David Snyder

Product Director, Covid Resource Network

West Orange, New Jersey

How we help Covid Resource Network Company

The company developed a website that serves as a database where organizations can find and donate to other organizations. Currently, the team is working on enhancing the website and fixing bugs.

Technologies used

Syberry was a patient partner, making this engagement feel like a true collaboration. The system they created for us will save our team significant time and frustration.

Joyce Cubio

VP of Operations, Ernie's Mobile Home Transport

Yuba, California

How we help Ernie's Mobile Home Transport Company

The team built an information hub for a mobile home transport and permit service. After discussing the existing system and processes, we delivered a new structure for forms and data.

Technologies used

The Syberry team is skilled at juggling multiple projects. Though they are in high demand, we were confident that they had the resources and the expertise needed to focus on our partnership. Their constant dedication led to a truly successful engagement, and the final product exceeded all our expectations.

John Fox

Executive VP, Fox Business Automation Solutions

Lakeland, Florida

How we help Fox Business Automation Solutions Company

Brought on as a third party, we supplied ongoing development services. The team work on multiple projects and deliver according to predetermined design specifications.

Technologies used

Contact us to learn more about how Syberry can help your business achieve its every goal!

0 / 2500

Sign a mutual NDA before a conversation.

When to sign an NDA?

A non-disclosure agreement (NDA) is a legal contract between parties, such as the software developer (or a software development firm) and yourself, outlining information to be shared and requiring that information be kept confidential.
Send
Submit loading...

Was this page helpful?