First, do you need it?
It’s worth ruling out potential industry solutions, often they won’t fully meet your requirement but you shouldn’t ignore the possibility. I’ve written another article on this subject here. Commissioning custom software
Do your research
What companies are out there that can do what you want?
- A Google search for ‘custom software in Hertfordshire’ or ‘bespoke software in London’ is a good starting point, or you can be more specific in your search if you have a particular requirement in mind e.g. ‘manufacturing workflow software’ or ‘task automation software’
- How local are they? Local enough to visit you is the most ideal.
- Are they getting good reviews?
- Have any of your trusted suppliers or customers used a custom software developer? Would they recommend who they used?
Once you’ve done your research, select a maximum of 3 potential software developers that you feel can help you.
Write down what you need
Try and put together as much information as possible about what you’re looking for. The more detail you can go into, the easier it is to have a conversation with a developer to convey a more accurate idea of the kind of solution you want. Most developers won’t want to even discuss a cost with you until they have fully grasped what you need, so it’s really important to be clear about this.
Ideally, if you can go to the length of mocking up some screen images (just in Word or Powerpoint will do, Microsoft Paint or even pen and paper and take a photo of it on your phone!). A picture paints a thousand words, and will really help a potential developer to visualise what you want.
If it’s a process you need some help with, try and map out what it is currently (if you have one), what doesn’t work about it currently, and what steps you need to take to improve it.
Don’t worry too much about details though – many developers (including us) take an ‘agile’ approach to development. This doesn’t mean making it up as we go along, but it does allow for several iterations of rapid development cycles before settling on a solution that works for you. In our case we can do that at very low cost, due to the unique development platform we’ve developed for ourselves for exactly this purpose.
Face to face discussion
Once you get down to a shortlist of potential suppliers, have a face to face chat with them – this can be via a video conferencing solution (we use Zoom for instance) but best options of course are face to face. For this reason, local suppliers can be a better choice than working with developers a long distance away. Offshore developers in particular can be difficult to work with where there is also a potential language and culture barrier to address too.
An experienced developer will take you through in detail what you are looking for so that they can build a good picture of the requirement. This isn’t requirements analysis at this stage, just fact finding with the objective of confirming whether or not they feel they can help you, and an approximate idea of time scales and potential costs of a solution.
The proposal
Once you’ve finished discussing your requirement, the developer will usually need a short while to put together a basic proposal for you. Usually this proposal will then be presented to you, again either face to face or at the very least an email with phone follow up. When their proposal is presented to you, don’t be taken in by flashing lights, glitz and glamour! The devil is in the detail:
- Are their prices fixed (if they are, this is potentially a risk as they are very unlikely to have enough detail at this stage to do that)
- What challenges do they see in the project? There’s almost always something within the requirement that is going to be difficult. How do they propose to solve those challenges? What experience can they demonstrate to prove they’re capable of solving them?
- How well resourced are they? Will the work be done by the person you’re speaking to, or their direct team? Or are they planning on sourcing some of the development externally?
- What timescales will they expect to hit each key milestone by? Minimum key milestones would typically be: Initial Prototype Delivery -> Testing Sign off -> Go live. For more complex projects, there will be more milestones. It’s important to have a clear idea of how long the developer needs for each stage of the project. Again, don’t be taken in by a very quick delivery – 4 weeks for initial prototype delivery is usually what you can expect. Any quicker than this and they may either be rushing the work, or not able to deliver as much as they’re promising.
The quoted price
Typically, most software developers working at fixed cost would ask for a deposit up front for the work. This would normally be up to about 40% of total projected cost. The remainder would then normally be billed, part on delivery and then part on acceptance.
If the developers you’re speaking to want to work this way, then make sure you understand exactly what they are going to deliver – because they will be fixing the cost, they must also fix the scope in detail. If this detail turns out to not be the full requirement (it seldom is!) then you will almost inevitably incur costs over and above what was originally agreed.
Our approach
We work a little differently to this – we know that a project of this kind is usually a long term commitment requiring a long term business relationship to match – and we want to be there for you every step of the way. Work shouldn’t stop after acceptance, there’s always an opportunity for continuous improvement as the solution is refined further. Similarly, we don’t feel it’s right that you should be expected to shell out a large amount of money up front on the promise of a solution that will work for you. With this in mind, we’ve developed a unique subscription model that allows you to spread the cost of initial development over a full year, with no up-front commitment.
Delivery – and your commitment to effort of your own
Once development work starts, you must be prepared to put in effort yourself.
This is really important – many projects can stall after initial delivery, simply because the customer didn’t recognise that they needed to put time into testing and proving that the new solution will work. This is always difficult, because the main reason for putting in a custom solution is often to alleviate pressure on a particular business process that keeps your staff very busy. In order to bring in something new, those same staff need to prove it will work – while also still doing the day job.
For many companies, if this hasn’t been planned in advance (e.g. by getting in some additional temporary resource to help with the day to day, or getting agreement from your staff to work some overtime), project delivery will drag on.
Conclusion
Thanks for reading this article ‘I’ve not commissioned custom software before, how do I start?‘. I hope it has been of interest.
I’d welcome any feedback – comments, or criticism – please respond below, or you can message us directly here.