Bespoke software development is the writing of software for one organisation, designed around that organisation’s own way of working, as opposed to a packaged product sold in the same form to many customers. “Custom software” means the same thing: bespoke is the usual word in the UK and custom is more common in the United States.
This guide explains what bespoke software looks like in practice, how it compares with packaged software, what a project involves and how to decide whether it is right for your business.
Examples of bespoke software in ordinary businesses
Most bespoke software is unglamorous. It is the internal system staff use all day and customers never see. These are illustrations of the kind of thing small and mid-sized businesses commission.
- Job management. A system that follows a job from enquiry to invoice, using the stages and the terms your business already uses.
- Quoting. A pricing tool that holds your own rules: price breaks, materials, margins and the exceptions agreed with particular customers.
- Scheduling. A planner for engineers, vehicles, rooms or machines that knows your constraints, such as who is qualified for which job.
- Customer portals. A secure site where customers place orders, check progress, download documents or raise requests without telephoning.
- Integrations. Software that moves data between the systems you already have, so that an order entered once reaches accounts, stock and dispatch.
- Replacements for spreadsheets and Access databases. A workbook or database that began as one person’s tool and now runs a department is one of the most common starting points. Our guide to moving from a spreadsheet to a database explains when that step is worth taking.
What these have in common is that the work is particular to the business. Two firms in the same trade will price, plan and report differently, and those differences are often where they compete.
Bespoke versus off-the-shelf software
Off-the-shelf software, also called packaged software, is a product built once and sold to many customers. Accounting packages, payroll and email are the familiar examples. The two are not rivals. Most businesses use packaged products for the common work and consider bespoke software only where no product fits.
| Bespoke software | Off-the-shelf software | |
|---|---|---|
| Fit to your process | Built around how you work | You adapt your process to the product, or configure it as far as it allows |
| Upfront cost | Higher, because you pay for the design and the build | Lower, often a set-up fee and the first subscription payment |
| Ongoing cost | Hosting and maintenance, usually not tied to the number of users | Licence or subscription fees, usually per user, for as long as you use it |
| Time to start using it | Weeks or months, depending on how much it does | Days or weeks, allowing for set-up and importing data |
| Who controls changes | You decide what changes and when | The vendor decides, and you can ask |
| Risk if the supplier disappears | If you own the code and hold the accounts, another company can take it over | The product may be withdrawn. You can usually export your data, but you will not get the software |
| Competitive advantage | Can support a way of working that competitors cannot buy | The same product is available to every competitor |
Advantages of bespoke software
It fits the work. The screens, the terms and the steps match what your staff do, so there are fewer workarounds and fewer spreadsheets kept on the side.
You can own it. If the contract gives you ownership of the source code, you choose who maintains the system and you are not tied to one vendor’s plans for a product.
It changes when you do. A new service, a pricing rule or a reporting requirement can be added when you need it. With a packaged product you wait for the vendor or go without.
It connects to what you have. A bespoke system can be written to exchange data with your accounting package, your website and your suppliers’ systems, so information is entered once.
The cost does not rise with headcount. Many packaged products charge per user. A bespoke system usually costs much the same to run whether ten people use it or fifty.
It can set you apart. If the way you quote, plan or serve customers is better than your competitors’ way, software built around it protects the difference.
Disadvantages and risks
Bespoke software has real drawbacks, and a supplier who does not mention them is not giving you the full picture.
The upfront cost is higher. You pay for the whole design and build yourself. A packaged product spreads its development cost across all of its customers.
You depend on whoever maintains it. A packaged product has a vendor behind it. A bespoke system has the company or the person who looks after it, and if they go, somebody else has to pick it up. The risk is manageable if you own the code, hold the accounts and have documentation another team could follow. It is serious if you do not.
A badly scoped project overruns. If nobody has written down what the software must do, the build takes longer and costs more than expected, or produces something that does not match the need. In our experience projects go wrong because of what was never discussed far more often than because of poor programming.
It takes time, including yours. You cannot start using it next week. Somebody in your business also has to explain how the work is done, review progress and test the result.
Every feature has to be paid for. A packaged product gains features funded by its other customers. A bespoke system gains only what you commission.
When bespoke is the right choice, and when it is not
Bespoke is usually the right choice when:
- you have looked, and no packaged product fits without awkward compromises;
- the process is one you compete on, or one that is unusual to your business;
- you already pay for a packaged product and still run spreadsheets around it to fill the gaps;
- several systems need to work together, and typing the same data into each is costing time and causing errors;
- you expect to use the system for years, so the upfront cost is spread over a long life.
It is usually the wrong choice when:
- every business does the work the same way, as with accounts, payroll and email;
- a packaged product does most of what you need and you can live with the remainder;
- you cannot yet describe what the system should do. A period with a packaged product, or even a spreadsheet, will teach you more than a build would;
- nobody in the business has time to be involved.
A mixture is common and often the best answer: packaged products for the standard work, with a small bespoke system or an integration for the part that is yours alone.
How a bespoke software project runs
Suppliers differ in the detail, but a well-run project passes through the same stages.
- Discovery. The supplier learns how the work is done today, who will use the system and what it has to connect to. Anything that could change the price, such as the condition of existing data, is investigated now.
- Scope and price. You receive a written scope: what the system will do, the assumptions behind it, what is excluded and the checks it must pass to be accepted. The price is based on that document.
- Build in visible steps. You see working software at regular points during the build, so a misunderstanding is found while it is still cheap to correct.
- Acceptance. The people who will use the system test it against the agreed checks, with real data.
- Launch. The system goes live, existing data is brought across and users are shown how it works.
- Support. Defects found after launch are fixed, and the system moves onto a maintenance arrangement.
The price is charged in one of two ways. With a fixed price, the supplier commits to a figure for the agreed scope and carries the cost of an overrun. With time and materials, also called a day rate, you pay for the time spent and carry that risk yourself. Our comparison of fixed price and time and materials sets out when each one fits.
What bespoke software costs
It depends on how much the software does. The things that move the price most are the number of different tasks the system handles, the number of types of user and what each is allowed to do, the other systems it has to exchange data with, and the amount and condition of the existing data to be brought across. A system used by one team for a single process is a different size of project from one that runs a whole operation.
For that reason, a figure quoted before anyone has looked at the detail is a guess. Our guide to what software costs to build in the UK explains what drives the price, and our cost calculator gives a range for your own project in a couple of minutes.
How to choose a bespoke software company
Portfolios and proposals look much alike. These five questions separate suppliers more reliably.
Who owns the code? The answer you want is that you do, in writing, including the source code and the accounts it runs under. Check the contract, because paying for software to be written does not by itself settle who owns it.
Can I see working software during the build? A supplier who shows you progress every week or two is giving you the chance to correct course. One who disappears until the delivery date is asking you to take the result on trust.
What happens after launch? Ask who fixes defects, for how long, and what ongoing support costs. A supplier with no answer is planning to finish the build and move on.
Would you take over a system someone else built? This tells you whether the company maintains software as well as writing it, which affects how it builds. It also tells you what would happen to your system if the relationship ended. Software can change hands, and we describe the process in taking over an existing system.
Fixed price or day rate? Neither is wrong, but you should know which you are being offered and who pays if the work takes longer than planned.
What happens after launch
Software is never finished in the way a building is. The platform underneath it receives security updates that have to be applied. Browsers and operating systems change. Your business changes too, and the system has to follow. A bespoke system therefore needs someone responsible for it for as long as it is in use.
That is what software maintenance covers: fixing faults, keeping the platform on supported versions, checking that backups can be restored and making small changes. Agree who will do this before the build starts. Allow for it in the budget as well, because a system nobody looks after gets harder to change with every year that passes.
How CodeFirst works
CodeFirst is a UK company, founded in 2012. We build bespoke software at a fixed price for a scope agreed in writing before work starts, and we work mainly with Microsoft technology such as .NET and SQL Server. We also maintain and modernise business software, including systems built by other people, which shapes how we build new ones. You own the code, the accounts and the documentation.