Received wisdom over the last twenty years has concluded from a time/cost/quality perspective, if you need to deploy new software, you should buy not build. This is especially true of a big, complex item such as a CRM system.
In many vertical market applications, full-featured packages offer quick start-up with known costs, be it from an original vendor, a reseller, or via the Open Source route.
But while commercial packages may offer a standard approach to implementation, these proprietary systems, will most likely demand you use the software house that designed and wrote it, or their approved resellers (consultants) to help you implement it. So what options are there?
Buy plain-vanilla and configure in-house
Pay for the base 'out of the box,' plain-vanilla system with a number of per-seat licenses (if that’s the model) and do all your development yourself.
- You are not reliant on the supplier or their resellers
- It is a flexible approach: you can develop and deploy as you want at your own pace to your own schedule
- You can use in-house development resource or engage your choice of software house at preferential rates
- Costs are entirely within your control - for as long as you can control the scope of delivery
- You can integrate third party applications as you need
- No issues around the ownership of Intellectual Property (IP) for features developed in-house
- Re-inventing the wheel – features may already exist in the publishers’ code library
- No prior experience to draw from the supplier and their past projects
- Developers with key skills applicable to the package must be available – for deployment and ongoing support
- Bespoke costs could well be higher compared to buying off-the-peg from the supplier
- Implementation schedule will probably be longer
- Little or no help on hand for system integration.
If you don’t like the software publisher's rate card, perhaps the resellers or independent consultants could do as well for less money.
- Long term support contracts available
- Drawing on wider knowledge base, established skills, expertise and experience of past projects
- In-depth knowledge of system capabilities, tailoring options
- Shorter implementation schedule – no learning curve on their side
- Compressed schedule may cost less than in-house.
- On-going support options
- Every project re-invents part of the wheel to some degree
- IP issues – who owns and licenses your 'bespoke' features?
- Reliant on the supplier/reseller interpretation of your requirements
- Preferred set of third party applications to integrate may not be yours
- Risk management is still on you
- Future software development path and release schedule out of your control
- Contract management is down to you. Supplier/reseller terms of business will be to their advantage
- Long term support arrangement has to be watertight; what is a 'bug' vs. what is a 'feature'? Feature development requests can get expensive at suppliers’ day rates.
There is always the hybrid approach – buy a customised version from a supplier and deploy that, but then have your own or a third party developer provide support and future enhancements. This may work fine depending on your licence arrangements, but beware the support call that your refer back to the supplier in a year’s time, when their response is "you broke it, you fix it!"
Image credit: Building under Construction from Construction3 at Freefoto.com