It’s hard to think of a business that doesn’t use software to support its operations, from large scale enterprise resource planning [ERP] systems for stock, accounts and to manage business processes onto customer relationship management [CRM] solutions for customer data and contact management right down to the ubiquitous Microsoft Word. Most of these are ‘off-the-shelf’ systems, often adapted to handle specific business needs, and a lot of software, such as Word, is a essentially a tool that does what it does. And as long as this is what you need, then happy days! It’s almost always going to be cheaper to buy one of these products, pay the licence fee and even support, than develop your own software - unquestionably in the case of Word. Who would write their own desktop publishing application when Word and other similar products do everything you need for a relatively low cost, or in the case of Google docs, free.
Sometimes an off-the-shelf system won’t fit perfectly, but most ERP software has a layer where value-added resellers [VARs] can customise elements, or the vendor themselves can make more significant code changes, but this can be slow and expensive. As well as software that might be missing features or functionality, a lot of off-the-shelf systems actually have a lot of superfluous features because they’re so comprehensive. Inevitably this can also make them very complex and hard to use, which requires lots of user training or expertise. All of which means that sometimes, similar to an off-the-peg suit, it can be better to get a bespoke solution which is tailored exactly to your needs.
When it comes to implementing business management systems for example, the costs of the software, impact of installation and ongoing software upgrades are always expensive and often disruptive. Sometimes they fail completely, or they don’t deliver on their original promise. But sometimes, there’s simply no off-the-shelf software available to address a business’s specific needs. For small companies, it’s usually easier, and is almost always cheaper, to do manual workarounds if their operating software isn’t up to the task. But large and midsize companies can lose a lot of time, and therefore money, which can affect growth caused by the inefficiencies that inevitably arise from such workarounds. For these companies, bespoke software development can be a viable option. Obviously large businesses, with deep pockets, can build their own software development teams.
Whilst it’s obviously inefficient to develop bespoke programs for core business functions like accounting, payroll, stock and customer relationship management, because there are so many excellent options already available, if there isn’t any software that does what you need it to do, it may lead to getting your own software written, especially if there’s a really good business opportunity or significant efficiencies to gain.
Before you even start this journey though, it should be noted that software development is only worthwhile if there’s clear and achievable return on investment, and attempting to do it in house has some considerable implications. Firstly, good software developers are highly skilled and are, therefore, a highly paid resource, plus there is a real skills shortage so recruitment is nearly always reliant on specialist agencies who can charge anything between 15 and 30 percent. On top of sourcing costs, you must interview and assess candidates for technical skills, train and on-board them, and provide a digital environment for development and testing, all of which needs considerable experience. And you can’t just hire a developer and expect it all to happen, typically it needs a team of people including Analysts and Architects, Project Managers and Testers as well as coders who often have different skill-sets including User Interface, Back end and Database programming.
Then there’s the scoping and delivery process. Software engineers will make what you tell them to make, so the requirements need absolute clarity and can only be gained through a really thorough and robust delivery process. You need to spend time to define and then describe the features, functionality, and options you want. A plan, including detailed descriptions and a viable architecture based on appropriate technologies, also need to be completed before you start coding. Both of these tasks need specialists skills to do well - business analysts, architects and project managers and if you fail to do all this well, you’ll have very expensive talent sitting on their hands or they’ll write something that’s not fit for purpose.
Finally, when you develop code, it needs to be maintained. Software is complex and it can break, plus hackers are continually knocking on the door so security needs to be excellent and constantly monitored. Technology moves on all the time so every five to ten years, software may need to be rewritten, new needs pop up and users want modifications so there’s usually some level of continuous development. Then, because of the skills shortage, developers frequently change jobs, so it’s important to document their work so that their knowledge is captured and can be transferred.
There is an alternative route where you may have an identified business need for bespoke software but don’t want to invest in recruiting and managing your own team. You can outsource entire development projects to an agency (yes - like bd2!) who have all the skill-sets, proven processes, systems and experience in place to deliver effective solutions with end to end delivery. We also have a very strong track record with demonstrable and rapid commercial return on investment which we’re always happy to share.