You’ve had enough of wrangling dozens of spreadsheets. You’re tired of jumping through hoops to use multiple off-the-shelf programs to get the job done. You’re ready to simplify your process and get back to growing your business, not just running it. It’s time for custom software development and it’s going to be a new day for your company…then the numbers start coming in. Custom software development cost can be confusing and it’s important you have a clear understanding.
It can be disheartening to genuinely try to improve the workflow and efficiency in your company and feel blocked by software development costs. You’re definitely not alone in the frustration of trying to determine where the numbers are coming from and if the value is there. The truth is, different software developers can have very different methods behind their pricing, some of which have nothing to do with your project specifically; the size of the developer, their current workload, where their development team is located. What we want to look at are the things you can do to keep your software development costs as low as possible.
1) Do the research
Regardless of whether your software will be customer facing or only for internal use, it is incredibly important to do some research prior to engaging a development firm. It’s very easy to fall into the trap of thinking you know what features the software should have and just running with your gut feeling.
Assumptions also get made about how many users want a particular feature in the software. You may have a loud minority requesting something, but is it worth the cost of development if only 7% of your end users will actually use it? If you skip the research, you could be setting yourself up for spending time and money only to find that your assumptions were wrong, and you have to scrap half of what you built and go back to the drawing board.
What you can do: It is critical to get the hard data about what must be a part of your software before it gets completed. This is especially true if your end users are your customers who will ultimately determine the success or failure of the software. Survey your end users. Research what your competition is doing. Get a lot of data and feedback – don’t just stop after a few conversations. Get some real numbers that show solid trends. Don’t assume. Know what is important so you can prioritize and focus your project budget on those items.
2) Have a clear vision of your MVP
MVP stands for Minimum Viable Product. Basically, what are the minimum features required so you can begin using the software – or at least test the market?” As consumers, we get used to many of the off-the-shelf software coming with all kinds of bells and whistles, which we may or may not use. Many times, clients will come into custom software development projects with a grand vision of what the end result will be in its fully evolved glory. Typically, ‘big and glorious’ does not have the necessary “return on investment.”
An additional risk to this approach is that a lot of development time may be spent on non-critical features, or quality of life items. To compound the risk is that if the base feature is later changed or removed, all the associated non-critical parts of that base feature must also be changed or removed. The result is a lot of wasted time and money. Since this is a custom project, you have the opportunity to refine features to only those that will make a big impact on your business. Be sure to keep that in mind.
What you can do: Approach your glorious vision in stages. Stage 1 is the MVP; the basic functions the custom software needs to fulfill its purpose. This is the “need to have” versus the “nice to have” mentality. At this stage, if you’re watching your budget, you probably don’t need to be able to change the interface to a custom color or have custom images for each user. After Stage 1 is complete, you will have time to use the software and refine the first version before adding the extras and working towards that glorious vision.
3) Avoid custom software development by committee
Another big cause of increased software development costs is the ‘design by committee’ approach. This is when multiple client stakeholders are directly involved in the definition and review of the software, AKA ‘too many cooks in the kitchen’. The result can be more development time spent in meetings discussing and aligning stakeholders’ visions, priority of features, or how features should function. It can also cause increased revisions or quickly push the project beyond its original scope. These issues can lead to higher costs due to the extra project management and development hours, as well as scope creep. Now, we’re not saying not to engage others in your organization, but once a strategy is defined, make sure you have a clear point of contact for the development team.
What you can do: The most efficient approach is to have one stakeholder directly interfacing with the development team. Ideally, this is the person who provides requirements and revisions. In cases where multiple stakeholders are necessary, clients can save time and money by coming to a consensus internally, then having one representative relay the group’s unified feedback to the development team. This will cut back on billable time spent in meetings and addressing conflicting revisions and feedback.
4) Allow adequate time for development
Custom software development is a very involved process, and it takes time. Before a programmer types the first line of code, meetings occur, requirements are discussed, and mockups must be approved. After the programmers code the software, extensive testing is done to uncover bugs and fix them so the software can be in the best shape possible for the initial release. Most people are not familiar with the process of software development and may not be aware of how much time they should allow for their project. Rushing a custom software project can become very costly. In some cases, more programmers can be put on the project to help speed development, but that increases costs and suffers diminishing returns. There are also some things that just can’t be rushed by adding more manpower.
What you can do: Start the process as early as your time and budget will allow. Know that many custom software projects of any significance are measured in months. If you have a short time frame for your development project, try to trim down the initial release as much as possible to get to your MVP. Consider breaking your project up into stages. For example, start with just a payment processing project and when it’s complete, expand to include customer billing and account management later. Additionally, try to work with development firms who offer ‘starter’ options where the base program is already built to some degree and can then be customized or used as a foundation to create your custom solution.
5) Understand the return on investment (ROI)
In most cases, your custom software is only being developed for one customer – you. The result is you bear the full development cost. This can initially seem intimidating, but it could end up saving you a lot of money. In most struggling workflows there are many hidden sources of lost money – work hours lost to inefficient processes, lost customers due to slower response times, and lower sales due to inventory or data inconsistencies just to name a few. As a business, recapturing that waste and realizing opportunities for growth can amount to significantly more than the initial project investment. After all, if you spend $50k on a project which saves you $30k per year, you’ve paid for the project in less than two years and will continue to enjoy those savings long after. Not to mention the increases in opportunities you could see after retasking that previously wasted time and effort.
What you can do: Have a solid idea of the return on investment, and the data it is based on. While your upfront costs may be higher, a worthwhile project will show a major return on investment in the form of increased efficiency, accuracy, and scalability of your business as well as a reduction in reliance on several subscription softwares. Working with a development company who will provide you with a breakdown showing your project’s positive ROI is key.
Bonus tip! Also make sure custom software development is an economical solution. In some cases, an off-the-shelf solution may get you 75% of the way to your goal. Then the custom development can be a smaller project to bolt on some missing features or interfaces, instead of a 100% from-scratch software build. Looking at your options and doing an analysis on the return on investment is an important first step before diving in.
Custom software development is just that – custom. Each project faces different challenges and offers different opportunities depending on your unique needs. We’ve covered a few of the pricing hurdles which apply to most projects. Hopefully, this article will help you anticipate some common challenges, make your project run smoother, and be more cost efficient. If you have any questions about these or other topics, we’d love to hear from you. Dorian Solutions takes pride in making the custom software development process affordable and easy to understand. Our Agile methodology allows for flexibility in development and our proprietary Prism framework gives you a jump start on your project while saving you money.