Making the decision to outsource your business IT systems to custom software development companies requires
thought and planning. But first, why have you decided to go down this route?
Creating custom software requires very specific skills, which may not be available in-house, so bringing in personnel to design, build and maintain such a system is a significant financial decision for your business. Employing a full team of IT professionals becomes a fixed cost that must be factored into your budget, meaning the channeling of revenue for its upkeep, while outsourcing can relieve this burden. There are also financial benefits to developing software as a capital investment as opposed to an operational expense.
Outsourcing allows you to concentrate on your main business
Focusing on your core objectives is your main business goal so anything that prevents you from reaching your aims is lost time. IT considerations can require excessive attention if they are inadequate, so outsourcing them to custom software development companies is a logical alternative.
The assumption here is that you have considered the benefits of outsourcing, and are now in the position to begin evaluating custom software development companies capable of designing the software to help run your business. To make an informed decision, there are a number of criteria that should be addressed:
Defining the need
Custom software is by design, very specific, so when considering the potential options, you need to have a thoroughly worked out concept to present to prospective developers. This entails defining exactly what the feature set will ultimately be required to deliver to you. For example, will you be requiring mobile access for employees or will usage be limited to within the four walls? It is useful to separate your requirements into two lists; what you want and what you need, so liaising with all the sections of your business is paramount. Purchasing (or leveraging) services to develop software is a one-off so make sure you have all the facts before talking to your shortlisted vendors. A great software development consulting firm can also guide you through the requirements gathering and prioritization by helping you understand which features are more complex and costly to develop
Asking the right questions
You have defined your needs, you have talked to all the relevant departments and you have a good plan of what the software is required to deliver so now it is the correct time to approach your potential custom software developers. There are a number of ways to do this, but the traditional manner (though not always the best) is through a “Request For Proposal” (RFP). The RFP describes the environment that you want the software to operate in and can ask direct questions of the vendor, which decrease the chances of receiving ambiguous answers. It should ask subjective questions such as; what methodology do you use and why? Who are your best types of customers? What will you need from us to be successful? The RFP is your way of asking each vendor the same set of questions and receiving the direct answers that you need to make an informed decision. Be aware that many of the best custom software development firms may not respond to a blind RFP because they are already in high demand and feel like they don’t have a legitimate chance of competing for the business if there are no previous relationships. If you want a best response, tell them why you are seeking their help and even who referred them.
Other questions to consider are those regarding referrals or testimonials. Custom software development companies should be able to provide you with samples of previous work relevant to your current project description, including customer testimonials, which will shed some light onto the efficacy of their previous work. If they can’t provide these, consider why.
Evaluation of a custom software development companies should include accountability. With a little research you will find there are many options available. However, it is fair to say that not all firms are going to suit your needs, so an analysis of what the company has to offer and how they stand behind their work is essential. A meeting with the consultants who will be working on the project or a review of their previous work history, is the best option here as it gives you the opportunity to evaluate who is going to build the package and view their credentials. The checks can be in the form of meetings and more importantly, a look at testimonials and portfolios as they illustrate previous projects that will give a far better insight into the background of an individual. The same can be said of the whole company. How long have they been in business? Do they have a high retention rate of employees or do they routinely use subcontractors? How many similar projects have they undertaken? What is their success rate? Do they follow a best practices policy? Again, it is a matter of asking the pertinent questions that directly affect how the company is going to approach your project. If it is possible, a discussion with current or previous clients will further strengthen the vendor’s credentials.
Having the foresight to say to the custom software development company that this is not the end all, be all version, that we’d like a finished product we can continue to enhance in the future, is extremely important.
Custom software is always changing, as are business needs. You want to put yourself in the best position possible to make enhancements in the future when the time is right.
It may be the case that you only wish to start with the core essentials of a custom software package, with a view toward enhancing it at a later date. A scalable framework is therefore vital and you need to ensure that extensibility is built into the product. Your chosen vendor should be able to guarantee that you can make the necessary changes as your business model develops, and provide a guide to the extra costs it would involve.
Key Performance Indicators (KPIs)
Agreeing with your custom software development companies on a set of KPI's will allow both parties to evaluate the success of the software implementation. Get these up front, before signing the agreement.
KPIs such as:
- Are you on time and on budget with deliverables?
- These can be difficult to prove or disprove because requirements and priorities may change, but having the conversation up front will help both sides manage expectations accordingly.
- A high-level estimate from the get-go is usually a good starting point
- Quality of software or the code quality
- How buggy is the software? What is the code coverage?
- Are they using automated testing and testing as they go or waiting until the end?
- How will the software be reviewed so that it meets expectations throughout the duration of the project?
Other associated costs
Study the contract for any other associated costs, for example:
- Training and documentation
- Set up costs and ongoing fees such as cloud or hosting / environment costs
- 3rd party licensing as part of the solution
Ensure that you are clear on all aspects of your fiscal investment before going forward. There may be clauses that allow the vendor to increase the fees during the contract period, or charge for annual maintenance. Investigation at this early point could save your budget in the long term.
The Final Word
If you are able to work with your chosen custom software development companies on the above points, then it is fair to say that you have covered the majority of the question and answer process, and any further evaluation will come with the deployment and integration of the solution into your existing business model. The key is to know what you want in the first instance and work with a company that can deliver the project – with quality, on time, on budget and keeping you informed along the way.