What type of software development suits your project
Businesses rely on software. In so many areas, from keeping records of finances to customer services and sales and recruitment, software plays a mission-critical function in ways that were unimaginable only twenty years ago.
Many of us can’t imagine doing our jobs without software playing a supporting role in some way or another. How businesses select the most suitable software depends on a number of factors. Even if the software is free to use, it needs to be assessed against operational needs, integration with workflows, staff processes, and how it fits in with other technology already in use.
For decision makers and budget holders, one of the most difficult choices is whether to select off-the-shelf software or have custom software developed. In this article, we outline the pros and cons of both choices and costs associated with these options.
We have all used and are probably using off-the-shelf software in the office. Most CRMs are off-the-shelf, as are most accountancy software packages (e.g. Xero or QuickBooks) and project management solutions (e.g. Basecamp). Usually, this sort of software is purchased with a subscription, whereby a company or individual pay monthly for access to the whole product, or a range of features (often the price depends on the number who need to use the product).
Pricing for software as a subscription (SaaS) solutions range from free (usually only for a limited number of users or features) to several hundred dollars per month. Some software vendors also charge a setup fee, and you might need to pay an ongoing maintenance cost, or you could be charged for extra features and getting those setup.
Over the course of a product lifecycle, some software solutions that are seemingly cheap cost a lot more than you would imagine. But in return for those fees, updates and managing the infrastructure is something the vendor handles. All you need to do as a business is keep paying to continue to access the services that you require. Depending on your business, the features included in the software could be ideal. However, in most cases, that is rare. Often, you end up with a whole load of features you don’t need, or not having what you need because the software is designed to appeal to the broadest possible group of buyers and stakeholders. It is sometimes necessary – when a company has spent a lot to set up new software – to adapt processes and train staff around software features, which isn’t always convenient.
Customization isn’t always possible with mass-market software. Unfortunately, even when feature requests are put in, they’re usually only taken into account when they fit the product roadmap or enough customers have asked for something that the company makes it a priority. Or if you can put forward a customization request, it may cost a small fortune.
One of the upsides, however, is that mass market software may come with plugins that solve some or all of the customization problems you are facing. SaaS solutions also come with an enormous amount of self-help support, communities, resources, and other articles that help you make better use of the software or solve some of the core challenges you might be having using it or integrating it with other elements of your tech stack. Software vendors are keen to help customers, so you will find support tickets are answered quickly, sometimes 24/7 – although support staff can usually only help when you or one of your team are having difficulty with the product.
To sum up, here are the pros and cons of off-the-shelf software:
- Lots of features
- Potentially low monthly costs
- Lower up-front cots (than custom development)
- Can be deployed quickly
- Vendor handles support, QA testing, and ongoing development
- Could include features that your company doesn’t need
- Might make it necessary for you to modify processes or retrain staff
- Can be difficult – if not impossible – to customize
- Unlikely to meet business needs fully
- Could prove difficult to integrate with other aspects of the tech stack and internal security processes and systems
Now let’s look at the alternative. Instead of buying off-the-shelf and hoping for the best, you can have custom software developed that meets the exact needs of your business and integrates with existing processes and technology solutions.
Creating custom software does take time. Firstly, you need to define your business needs, functionality and the processes that will influence software features. At the end of the development process, you should have a key piece of software that integrates with workflows and your tech stack.
However, the downsides to custom software are that this will take longer than buying an out-of-the-box solution. Custom software costs more. There is no getting around that. But it also means that many – if not all – of the downsides you will experience with an off-the-shelf solution don’t exist with custom-made software.
In the long-term, you have something that can be adapted as your business changes and grows. Whereas software subscriptions have a shelf life. They won’t adapt to your needs. Custom software can continue to be modified, evolving as your processes, workflows, and customers need change.
Another advantage of custom software is that you can layer functionality over time. A long wish list of features could take months, if not years, to build. But that isn’t much good when you need core functionality up and running in a matter of months. Start with core features, make sure everything is working, and then add new features as the software grows and it integrates with other solutions already being used in your business.
One of the most important questions for businesses considering custom software as an option is cost. Here are a few things to consider when working that out.
How to estimate custom software development costs
Let’s start with the key factor that influences costs: the size of the software application you want developing. More features equal more time. Time is the investment that needs funding to ensure the software your business needs can be developed.
Other factors that need to be included in cost estimates:
- Does it need to integrate with other systems?
- How much support will your team or your customers (the end-users) need?
- Are you going to migrate data from one application to this new software?
Once you’ve got an idea what it should look like, there are two key factors that will impact how a custom software project is costed:
Is it Fixed Price? This is where you start with a list of features, and then a software developer or firm give you a price to develop those features to complete the project. If additional features are needed or something takes longer to develop than planned – due to factors outside of the developer’s control – then the cost could increase.
Or would you prefer the Time & Materials costings model? This is the preferred model, popular with 90% of software developers and clients. Budgeting using the Time & Materials model means that clients are only paying for the hours worked on a project (which is something every developer should be actively tracking) and any ‘materials’ used, e.g. the cost of software and in some cases, hardware, to develop a finished product.
In-house or outsourced, or a hybrid approach?
If you already have an in-house IT or software team, it might be tempting to ask them to develop the software you need. However, before you do, have you weighed the impact on the business? Do you know how much work is going to be involved in developing this software? How much time it might take?
Your internal team may not have the time or skills to handle such a large project request. Not without it severely impacting the work they are doing for the company on a daily basis. It is different for companies with dedicated software development teams that have the internal capacity to handle such a project.
Outsourcing is often the most effective approach. In order to do this, the smart choice is to structure your approach this way:
- Know what you need: the business case, a rough outline of the features needed and how they support internal working processes;
- Have a prototype made. A 3D version of the vision you have for the software. This will make it easier to communicate with developers what you want and the order of priorities for features that need creating.
- Know what skills you need to create the software and how those fit in with internal software team members.
When you are ready to start recruiting an external team or work with a software development firm, YouTeam is a great way to source developers. Benefit from lower costs and none of the risks associated with outsourcing to companies you can’t meet in-person. Pick from a selection of developers you need, those with the capacity right now to take on the project you’ve got in mind.
Only once you’ve gone through that shortlist and selected who you want to work with are you introduced to the development company they’re working for. We manage the process and provide a money back guarantee.
Another way to manage the outsourcing process cost-effectively is to take the hybrid approach. Combine an internal team with the strength and experience of outsourcing partners. Get the best of both worlds. This way, your internal team can guide the process, the feature requests, manage training and user onboarding, while the external development team builds the software and implements feature releases, QA testing, and upgrades.
Estimating the costs associated with building custom software is not an exact science. It depends on a wide range of factors, some of them beyond the control of the company that needs the software creating. As with any task that requires time and skill to create, you get what you pay for. Which doesn’t always mean that the most expensive software engineers are the best. When you are working with a team in Eastern Europe, companies gain the benefit of generations of science and technology education and decades of engineers working with Western European clients, without the high costs that you find when you employ software developers in the UK or US.
To sum up, here are the pros and cons of custom software:
- Software solutions that are tailored around your exact business needs;
- Software that is engineered around your security requirements;
- Seamless integration and data migrations that are custom engineered, instead of trying to reverse engineer an integration with off-the-shelf software.
- Direct vendor support. Your software stays current with evolving business needs and any new or legacy software integrations you need.
- Give your company a competitive advantage
- Your company owns the software and therefore proprietary intellectual property rights
- More secure. Unlike mass market solutions, the code to custom software is tightly controlled and can be hosted on secure platforms and servers.
- Higher upfront cots than off-the-shelf solutions
- New features and ongoing support may cost extra – depending on the contract agreed with the vendor/developers
- An investment of business resources is required during the design, build and testing phase: at least one person, with technical knowledge, should provide ongoing input to ensure the client gets what they need.
Off-the-shelf, customised or hybrid: What is best for your business?
At the high level, your budget, processes and commercial needs will drive the decision. It may be an immediate need, in which case, off-the-shelf might provide a temporary solution that solves some of the problems, and then you can move onto creating custom software over a period of months or years. Or a hybrid of two or more solutions, mixing custom with legacy and subscription software to meet specific business needs could be the way forward.
It is worth evaluating a few different options, and speaking directly with those who are going to use this software – staff, stakeholders, contractors or customers – to understand exactly what they need and the most effective way to solve the problems that need addressing. Although custom software comes with the greatest upfront investment, companies that go this route generate long-term returns with minimal disruption to their business models, processes and internal systems security.
Custom software allows you to transform processes, driving greater efficiencies and improving your margins. An investment now – providing you are working with the right software partner – will pay off for years to come.