Understanding Custom Software Cost Estimation

All Articles Culture Data Management Level 12 News Python Software Development Testing

Custom software cost estimation is hard and often inaccurate due to the complex nature of the development process. In fact, a study by McKinsey revealed that 66% of software projects go over budget.

“Can you give me a custom software cost estimate for my project?” is usually one of the first questions we are asked when a prospect is inquiring about our custom development services. This question is fair and wise to ask.

While difficult, estimating the cost of a custom software project is possible with a process centered around uncovering the core business issue(s) and defining the desired outcome.

Why is custom software cost estimation so difficult?

Two words: hidden complexity.

Custom software development is complex and filled with unknown variables, which makes it nearly impossible to predict unexpected challenges and obstacles that may arise, especially if the project involves connecting with other applications.

A few years ago, I had a building constructed for one of my businesses. When the construction team started doing the site work, they uncovered large rocks in the ground. They did not anticipate finding big rocks when they gave us the estimate for doing the work.

As a result, the cost of site work went up. I wasn’t happy about paying the extra money. It wasn’t the contractor’s fault, and there is no way they could have known what they would find until they started digging.

Our team has lots of experience building custom software and leveraging that experience to anticipate things that may arise in a project; however, there is no way to know what they are going to find until they start working. We have found that approaching a software project with an approved budget often leads to more successful outcomes.

Our Custom Software Cost Estimation Process 

The next few paragraphs give an overview of our method for custom software cost estimation. This process has been refined over time to establish project expectations that align with your objectives and provide you with an accurate project estimate.  

Project Discovery

Every project begins with a complimentary discovery meeting. The purpose of these meetings is to learn more about your business and the project. This process will uncover how well your needs and our services align.

Our first objective is to deliver value, which is core to our business philosophy. Our consultants will work in close cooperation with you in the discovery phase to understand the core business problem the software will solve. In some cases, a custom software solution may not make sense.

For example, there may be existing software solutions that can be customized to meet your needs at a lower cost than a custom software project. In some instances, there is no clear ROI regarding cost reduction or revenue generation.

We aren’t interested in just building software; we want to build partnerships. Solid partnerships are built on mutual trust.  We will only move forward with a project if we feel we can provide real value for you.

Engineering a Custom Solution

The next step is engineering a solution. In this phase, our Chief Executive Developer and software engineers will begin creating a software blueprint that addresses the core business problem.

Software engineering is similar to the work an architect does when creating a set of plans for a building project. The designer’s task is to carefully listen to the vision of the building’s owner and translate that vision into architectural renderings.

The engineering phase requires close collaboration between the client and the Level 12 team. We dig far beneath surface level indicators until we fully comprehend the issue. Gaining this level of understanding requires a high level of active listening by our team to ensure the solution we are engineering will solve your problem.

At the end of the engineering phase, our typical deliverables include the following:

  • Project Requirements
  • Technical Recommendations
  • Software Architecture
  • User Interface (UI) Wireframes

We will also provide you with an estimate for our team to develop the software.

The engineering phase starts at $2,500 and goes up depending on the size and complexity of a project.

Our Guarantee

We are confident in our team’s ability to provide a high level of value to your organization. As a result, we offer something most custom software development firms are unwilling to do – a project guarantee for your first custom software development project. If we aren’t meeting expectations during the first 60 days or 100 hours of development work, you can walk away with a refund. Learn more about our low-risk guarantee.

Do You Need a Fixed-Bid Cost Estimate?

From time to time we are asked to provide an exact price for a project. We can do that, but it usually winds up costing more than if we work within a price range with our agile software development process.

We use the MoSCoW prioritization methodology for our fixed-bid project estimates. MoSCoW allows us to assign priority to features and functions that must be included, should be included if time allows, could be incorporated, and won’t be included based the quoted price.

Cost vs. Value

Is custom software expensive? Maybe.

If you have a problem that costs you $500,000 a year and we could solve it once for $150,000, is that expensive?

$150,000 for a software project is a lot of money considering only the dollars and cents; however, the net value is enormous and grows over time.

When considering a custom software development project, it is essential to look at the long-term value of the asset versus the hard monetary costs.

One of the first things we do when evaluating a potential project is to assess the potential value to the organization. Rarely do we accept a project if a strong value proposition is not evident.

Total Cost of Ownership

There are other costs associated with creating custom software that are often overlooked – hosting and maintenance.

Software Hosting

Another cost consideration is where the software is going to reside once it is deployed. Hosting software is relatively inexpensive.

Software Maintenance

Maintaining custom software is essential. If you are going to make an investment in custom software, funds need to be allocated for maintenance.

Your vehicle needs routine maintenance such as regular oil changes, tire rotations, etc. to stay in working condition. The same holds true for your software.

Do You Build It?

A custom software project is no different than any other asset acquisition. If the total cost of ownership is less than the expense of the problem it is fixing or less than the projected revenue increase, it makes sense to go ahead with the project. If not, there isn’t a business basis to move forward with the project.

Originally published on 2017-03-29 by Biz Dev