A few assumptions about bespoke software development
Whenever the word ‘bespoke’ is uttered with regards to business systems, alarm bells start ringing in people’s heads and there is an overwhelming urge to back away and keep a tight grip of your purse strings. An understandable reaction, given the horror stories that you hear of in the media about failed IT projects (the Test, Track and Trace system for the government in this recent pandemic being a great example). The media is littered with examples of software project failure.
So, on the back of all this negative media publicity that software projects get – why on earth would a business decide to opt for a bespoke system? They are expensive, time consuming, risky, scary, hard work, and poor quality… Or are they?
Well, I’d be lying if I said that all of the above is absolutely untrue; bespoke systems can be more expensive, they can take a long time to develop, they are quite scary and risky projects to undertake, they do require a lot of hard work and sometimes they cannot deliver to quality expectations. However, arguably those reasons don’t solely apply to bespoke systems; they apply to any change of business system, whether bespoke or ‘off-the-shelf'.
What is bespoke software development?
Bespoke is ‘custom-made’ or ‘made to the customer’s specification’ and this definition can be applied to bespoke development. However ‘bespoke development’ doesn’t just mean a full, written from the ground-up, and built for a specific purpose, line of business application; it can also encompass:
- Bespoke integration between existing systems
- Small add-ons/plug-ins for off the shelf systems
- User friendly screens/forms that link to the back end databases of existing systems
- Reports that extract data from existing systems
- Heavy customisation of enterprise platforms
Bespoke software development is essentially any development that is implemented for a specific, unique purpose.
An ‘off-the-shelf’ business system is provided by a commercial vendor who has developed the system based on a ‘one product fits all’ and a best of breed concept to fulfil the needs of many. ‘Off-the-shelf’ business systems that work purely out of the box and work perfectly when installed are few and far between because:
- They need to be configured to fulfil the business requirements
- They need to be integrated with other systems
- They require ‘tweaking’ to fit in with the business’ processes
- They may not have all of the features required
Generally, to make an ‘off-the-shelf’ product fit the business, process compromises have to be made OR some form of bespoke development is required.
Is bespoke more risky or is poor project management to blame?
With over 15 years involved in project managing the implementation of bespoke systems, experience has taught me that the difference in risk to a business choosing to develop a bespoke system or choosing to select and implement a product is negligible. The major risks are related to the process of actually delivering the system as well as the business change associated in implementing it. The perception and understanding of those risks are much greater when undertaking bespoke development – purely because they are more visible. Some of these major risks include:
Not well defined or understood requirements mean a bespoke system would be difficult to develop until the requirements are understood; with a product it will do ‘something’ but it may not fulfil your business requirements. You could argue that bespoke development forces you to look at your requirements and review/document your business processes. It is too easy to buy an off-the-shelf system with little regard for what is actually required.
Lack of engagement from the users
For a bespoke system to be successful it is essential that the people actually using the system explain their processes and requirements – as well as reviewing prototypes, demos, and engaging with the testing etc. With an off-the-shelf product this is not as important as there is less scope for the users to dictate the look, feel and exact functionality. The real risk of a lack of engagement is that the lack of involvement in shaping the system could lead to change management problems as well as a system that does not fit the users’ needs.
Lengthy timescales and the impact on delivery
During the development of a bespoke system, the business will change so the requirements for the system may need to change too. Agile development methodologies and practices have been developed to ensure that changing requirements can be accommodated.
This problem is exactly the same for an off-the-shelf solution, as the selection and its implementation can be a lengthy process, where the need to cope with and respond to change during the process is also required. Is it possible to do an ‘agile’ system selection?
Changing business processes and new systems training
Risks of change and user training exist whether the system is bespoke or off-the-shelf. Although there is likely to be more training materials and support for a product, it could be argued that a bespoke system could be more intuitive to use as (developed and project managed correctly) it will be designed to meet the needs of the users.
Bespoke is risky, but is not riskier. Read our blog on why bespoke development is risky but how it can add great value to your business.
The business objectives should define the solution – bespoke development is sometimes the best choice
Solutions driven by business requirements and technology should be selected through merit and the ability to meet the challenge. Based on this premise, a business should choose or develop a solution that solves their business problem.
Here is highlighted both the circumstances under which a bespoke solution should be implemented and the advantages it may deliver:
- Exact Fit: The most obvious benefit is that you get a system that works specifically for you. No superfluous functionality. Nothing missing. No compromises.
- Fully Integrated: Building a bespoke system which ensures your business processes and any existing systems are fully integrated guarantees efficiency improvements through automation.
- Unique = Competitive Advantage: A system that is specifically built to your business needs and processes could provide your business with a competitive edge.
- No product exists in the market place: The requirements or the operations of the business may be so specialised or niche that there is no product that fits its needs.
- Sometimes it is inevitable: There are certain things that are generally considered to always be bespoke, such as a company website. Although these can be built using product-based Content Management Systems, the nature of a website is that it is unique to the company; content, design and structure is distinctive to your business.
- Technology Choice: Products are developed year upon year to increase functionality and improve quality. Changing the technology base of an existing product is time consuming and risky for the product vendor, which means products are usually slow to upgrade to the newest technologies. With bespoke you have full control over the technology chosen and can choose to use the most up to date technology and concepts – even co-ordinating them to your current systems.
- More Agility: The system is owned by you (assuming that you ensure the Intellectual Property is transferred to you), which means you can control it and control the changes that need to be made to tweak the system as and when your business processes change. Getting specific changes into a product developed by a product vendor may take a long time to appear into a released version of the product for use.
- Easier access to data: Systems integration and reporting can be easier in a bespoke system as the backend of the system is open and, assuming it has been designed correctly, intuitive to use. The data is not restricted through application interfaces as it would be with a product.
- Product Licence Costs and Support Costs: To license and support an implemented product can be costly, depending upon the number of users and their needs. After calculating the costs of licences and the support/maintenance payments, it may be cheaper to build your own system, particularly if you are paying for features and functions that are not required.
- Product Upgrade Cycles: Having a bespoke system means you are not relying on and are not tied into a vendor upgrade cycle where you are forced to upgrade or risk running an unsupported system.
- A new product: For companies looking to be innovative and who believe they have found a niche in the market place; a bespoke system could form the basis of a new product, available for resale.
Getting it right – what are the main challenges of a bespoke system?
If the business requirements and solution selection drives your business down the bespoke route, the most important things to get right are the delivery mechanism and the project management processes and capabilities:
The delivery mechanism
The mechanisms by which the project is estimated, planned and delivered will be imperative. There are many development methodologies employed by software developers, the prevalent ones being ‘waterfall’, a classically linear and sequential approach to software design and systems development, and ‘agile’, an iterative and incremental model. The methodology to apply to the development of a bespoke solution will depend on a number of factors including:
- How well defined the requirements are/can be at the beginning of the project
- How fixed the feature set is
- The nature of what is being delivered
- The availability of the users to engage throughout the process
- The nature of the organization
- The size of the team
- The non-functional requirements, such as safety and security
Choosing the right delivery mechanism suitable for the organisation and the project will impact the success or otherwise of the final solution.
The project management processes and capabilities
The application of thorough project management that delivers the solution is also imperative. The processes, tools and techniques employed to manage risk, change, quality, costs and communications in a structured and organised way is vital. In addition, employing a project manager with the emotional intelligence that is required to manage people under pressure is essential.
It’s all about understanding the risks and making an informed judgement
The choice of whether to develop a bespoke system or whether to implement a product is wholly dependent on the requirements of your business. If there is a product in the market place that fits the requirements, then an organisation would be foolish to look to re-invent the wheel. If the costs of implementing the product stack up against the business case, the requirements are fully understood, the implementation of the system is well managed, and the change within the business is acknowledged and planned, then product adoption will be a success.
Equally, if a bespoke system is chosen then as long as the costs for developing the system stacks up against the business case, the requirements are fully understood, the project is well managed and the change within the business is acknowledged and planned, the bespoke system will also be a success.
The major risks dictating the success or failure of a system are not related to the choice of a bespoke system or an off-the-shelf product; they are related to ensuring that the project management rigours, the delivery processes, the risk management processes and the change management processes are in place and are well executed.
If you are considering having a hybrid software development team for your next project, then read our blog which shares 5 reasons why you should (link to another page)
Continue the conversation
If you'd like further help you can get in touch on 0345 094 0945 or via email