WHETHER TO CHOOSE AN OFF-THE-SHELF PRODUCT OR A CUSTOM SOLUTION CAN OFTEN BE A DECISION BASED ON PRICE AND TIME TO MARKET. WHILST THIS IS OBVIOUSLY IMPORTANT, THERE ARE A NUMBER OF PROS AND CONS TO BOTH OPTIONS THAT SHOULD BE THOROUGHLY CONSIDERED AND WEIGHED UP AGAINST THE OVERALL NEEDS OF THE ORGANISATION. OFF-THE-SHELF PRODUCTS ARE OFTEN SEEN AS LESS RISKY, HOWEVER IN A TIME WHERE CONSTANT INNOVATION IS NEEDED TO COMPETE AND KEEP UP WITH CUSTOMER EXPECTATIONS, MISSED OPPORTUNITIES COULD BE RISKIER TO THE ULTIMATE BUSINESS GOALS. WE ANALYSE BOTH OPTIONS TO PROVIDE SOME INSIGHTS.
Break Down the Problem
Off–the-shelf software projects differ to custom projects and carry their own risks of failure. The three most common reasons are highlighted below:
Modifications / Customisations
At first glance, it might seem that an off-the-shelf software product is the easiest solution to your problem. However, we find that it is very rare an off-the-shelf software package will provide the exact functionality your organisation requires. In most cases, we find there is some need for modification or customisation and unfortunately, making modifications to off-the-shelf software can be like opening a can of worms. The extent of the modifications may not be clearly defined at the start of the project and as a result costs can often spiral upwards from the initial cost of the software package.
Furthermore, modifications can become a problem when trying to upgrade to the latest version of the software. Extensive modifications may need to be replicated in an upgrade which can add significant costs for an organisation.
Conforming to Best Practice
The premise of off-the-shelf software is that it encapsulates industry best practice. In some circumstances, it may be an improvement for an organisation to follow best practice. However, changing the processes of an organisation to conform to the processes of a software package is often very difficult to implement. Employees are accustomed to do their job in a certain manner and may be resistant to change.
Furthermore, the business processes of an organisation are what makes it unique and contributes to its competitive advantage. If all organisations within an industry fit into the same box and follow the same processes they become commoditised and risk losing their point of difference.
However, some of the benefits of an off-the-shelf solution might outweigh these points. It is a quicker time to market with off-the-shelf software and it is normally less expensive than a custom solution. If you can save money – great! But remember to look out for hidden costs along the way.
Changing with the Business
An organisation running an off-the-shelf software package lacks the flexibility to make changes to the system as the business changes. Any required changes or additions to the software need to be requested from the developer and are only delivered at the time of the next release. We find in some cases this can slow down business development and growth and may result in the organisation falling behind its competitors.
Avoiding Failure in Custom Developed Software Projects
Custom built applications have their own unique set of failure risks that differ from off-the-shelf software solutions. The most common ones are:
Technical Requirements and Flexibility
Traditionally, before a software development project commenced, a rigorous process of detailing the functional specifications was undertaken. This resulted in a detailed document that a software developer would use in the development of the system.
However, this approach often failed because it did not allow for changes to the application once development had started. What often resulted was a system that met the requirements of the client several months prior to the delivery, but was already outdated when it came into production.
To combat this risk, many software developers develop applications based on the agile development methodology. Solentive uses a flexible hybrid agile approach that has been refined over 25 years of developing software projects. This approach outlines the basic premise of the system before development commences, but also provides the flexibility to make changes to the application as development progresses.
The key to successful execution of this method is that every software project requires rhythm and rigour. Some changes to scope are acceptable, but consistent changes add significant risk to the project running over budget and not being delivered on time. To ensure success, both the vendor and client need to commit to a successful outcome. Where the vendor needs to tolerate a certain level of changes, the client needs to be aware that constant changes put unmanageable risk on the project. Flexibility should be the key to custom software project success, not a hindrance.
Realistic Budget and Timeframe
More work goes into building an application than buying an off-the-shelf product. Clients often do not fully understand the software development process and may choose a vendor based on price and commitment to deliver within a certain timeframe.
What they risk by putting unrealistic expectations on a vendor is a sub-standard application. Often with a tight budget and timeframe, quality assurance and testing is overlooked. This results in an inefficient application with unidentified bugs. Price plays an important role in the vendor selection process; but remember, it is only cheaper if it works.
With adequate time, a custom software solution should bring a greater ROI to your organisation. A custom solution can be developed to provide a unique solution for the exact needs of the organisation, honing in on specifications and providing a competitive advantage.
Access to Domain Experts
Every successful project needs input from a knowledgeable domain expert. This domain expert is usually an employee of the client. A software development vendor is responsible for providing the necessary expertise to deliver a quality application. It is the responsibility of the domain expert to provide the processes to be captured within the software application. Often, a project without input from the correct domain experts does not meet the expectations of the client.
Throughout the lifecycle of a project, it is important to engage the right people at the right time. Often, the individual who procure’s the software delegates this to someone else at a different level within the organisation. This can change the importance and prioritisation of certain features and the direction of the project as a whole. It is important to engage the right people at the right level and stick to the mandate of adding value to the organisation.
There is nothing worse than expecting one thing and receiving another, especially when the final outcome is far from what you expected. A good software vendor will advise a client if their expectations are unrealistic. At Solentive, we believe in challenging our clients, to ensure all possibilities have been explored and this helps clarify the final solution for both parties and ensures everyone is on the same track. Clients are not software development experts and may not be aware of certain constraints. It is the responsibility of the software vendor to educate the client and ensure their expectations are met. In custom software projects, nothing can be shown to the client upfront, hence why setting expectations is so important. At Solentive, we schedule numerous agile previews throughout the project lifecycle to combat this and ensure the client expectations are on par with what is being developed. If not managed correctly, client expectation may contribute to the failure of a project.
Ultimately, whether to choose an off-the-shelf product or a custom solution comes down to how unique your overall business processes are and how much that innovation contributes to your competitive advantage and overall ability to attract customers, grow revenue or reduce costs. Solutions that provide back office, best practice efficiencies, are often best left to an off-the-shelf solution. The solution might not add specific unique value to your business but it can provide you with a fast time to market and is cheaper to implement. Custom solutions that require a more significant investment in time, money and commitment, are best leveraged when the solution provides some sort of unique competitive advantage to your organisation.