Software Solutions – Should I Outsource, Buy or Develop in House?
When it comes to software solutions there are usually three approaches a company can take to achieve the intended result. The job to develop the desired product can be outsourced to another company, the product can be bought as an off-the-shelf solution or developed in house. As with any solution there are pros and cons to each approach.
This article lists reasons why company might choose a particular path and provides guidelines to follow, when taking a particular direction.
There may be different reasons for choosing this option.
- The company may not have internal expertise to develop the solution.
- The company may have the expertise, but all resources may be assigned to other initiatives and solution cannot be developed internally during a particular timeframe.
- The company may have the expertise and even the resources to do the job, but cannot work on the project due to regulations. For example, to be self-clearing, a Canadian broker company has to become a member of various organizations such as CDS, CDCC, DTCC and Fundserv. All self-clearing processes need to be approved and then audited by IIROC. A company may choose to outsource clearing operations and lease all necessary software products from clearing companies such as Penson, NBCN, Fidelity.
There are common guidelines a Business Analyst will usually follow, when choosing the vendor for the outsourced solution.
- Work with the Project Manager to establish vendor’s role in the project. Are they going to be involved in requirements gathering process? Are they going to be doing quality control, quality assurance and user acceptance testing? Are they going to be supporting the software solution, when it is released to production? Are they going to host the solution?
- Contact multiple companies. Contacting more than one vendor gives you the opportunity to compare different parameters and to have more bargaining power, when negotiating costs. Do not go overboard though. Three or maximum four vendors will give you enough information and will not overcomplicate the analysis process.
- When contacting companies, it is a good idea to provide them with template to fill out with all the questions in it. Otherwise you will get answers in different formats, which will complicate the comparison and decision making process.
- Pay attention to vendor location. If vendor is located in a different country, ensure that they are able to travel to your site and ensure travelling costs are within company’s acceptable range.
- Discuss with the vendor communication methods for day-to-day communication and meetings.
- Ensure vendor is aware of your technology preferences. If your company is a Microsoft shop and vendor delivers solutions in Java, this may not be a good match. Ideally you want to ensure there is consistency in technology approaches, even when solution is outsourced.
- Last but not least, get a feel of the company. How do they communicate? Are they bureaucratic and slow to move or are they energetic and open? Are they willing to work with you on initial stages of the project or are they pushing to sign the contract and then get to business? Have they delivered similar solutions before?
Buying of-the-shelf software product will work best if desired product’s features are very common and well defined. Development, maintenance and support costs will be significantly reduced compared to options of building the product from scratch or outsourcing the development. Advantages of lower costs may sound compelling, but because business needs are usually unique, it may be difficult or even impossible to find an off-the-shelf solution that would satisfy every requirement.
Listed below are guidelines to follow, when selecting off-the-shelf solution.
- Off-the-shelf does not mean solution cannot be customized. Find out customization options. Are the flexible enough to satisfy business requirements?
- There may be different licensing options and different modules to choose from. Ask for product demo. See it in action before making the decision. Not all of its components may be needed and there might be an option to exclude them, reducing the costs.
- Off-the-shelf solutions most likely will receive upgrades. Be clear on upgrades schedule and on how they will be delivered and installed.
- Ensure you understand how solution will be supported. Will there be a dedicated support contact? Will support be available 24X7? How quickly production issues will be resolved?
- How long old versions are supported? Will you be forced to upgrade?
- How much training users will need to start using the software and are there any training programs available? Are there user guides available?
- The solution may start as stand-alone, but with time it may become necessary to integrate it with other internal systems. Understand if off-the-shelf solution has APIs to support the integration.
- Get a buy-in from the sponsor and key stakeholders. They need to understand that off-the-shelf solution will never have the flexibility to have ad-hoc enhancements and fixes. It may be customized only to a certain point. Business processes should adjust to fit the software because off-the-shelf software cannot adjust to fit every single unique business requirement.
Develop in House Option
Developing solution in house is a great option, if the company has expertise and resources to do the job. Internal development will help achieve great control over product functionality as well as technology, development and QA approaches. The communication will be easier than with outsourcing option because all project teams will likely be co-located and may even already know each other. The training and support will also be less complex because of internal expertise. In addition, solution will be relatively easy to integrate with other internal applications because it will reside in company’s internal network and will most likely follow the same technology choices as other internal applications.
One con of developing the solution in-house can be the cost of labor. Offshore development companies may do the development for only a fraction of the cost. This being said, it is always important to take into consideration all costs. Offshore development may require extra management and communication/travelling overhead, which can quickly add up, making the overall cost higher than originally anticipated. It may be a good compromise to do the development in-house, but outsource quality assurance and support functions.
One obvious thing to remember is that there will never be a 100% perfect option. There are pros and cons to each solution. Initial project analysis is the key to success, where “success” is defined as selecting the solution (based on all the analysis) that will ultimately have more pros and less cons than other available options.
Don’t forget to leave your comments below.