10 Things to Checkmark Before Outsourcing Your Software Development Project
In our new blog article, Infopulse experts outlined 10 key points you need to checkmark before you start outsourcing your precious software project to an IT services vendor.
1. Consider Scope of the Project and Its Scalability
The scope and scalability of the project are the primary things to consider. You can’t build a space rocket from scratch – you’ll need a basis for it. Start from a bicycle, then add parts to it one by one. What features are the most needed? What features can be implemented later? What features can’t be implemented at all or are redundant? All that you’ll need to discuss with your future partner – especially if you have doubts.
Think of your project in installments – split your project into several stages, with each stage being ready for use and having its own set of features and improvements. This approach is much more feasible than trying to accomplish everything at once.
Normally, IT Service providers are ready to help you with this task as they constantly deal with project planning and management. E.g., for us at Infopulse it’s a common practice to work through the details of the project together with our clients, while considering budget, time frames, resources required, etc.
2. Determine a Realistic Budget
A key word here is “realistic”. You wouldn’t expect to build a customized ERP system at the price of a one-page app, would you? Sure, it would be great but not realistic. Do some research and analysis, arrange internal discussions, and then run your own estimations to come up with a budget, which you can afford and which realistically supports the goal that you want to achieve. Yet be prepared, that after communicating with a vendor the final figure can differ from your expectations.
3. Determine the Success Criteria and Possible Risks
Before you engage in the project, you’ll need to consider a whole lot of other matters. What exactly you want to achieve? What would be the project success criteria – quality, time to market, resources and costs saved? Who will determine these criteria? Are there any hidden costs or risks? You will need to ask yourself these and lots of other questions, especially if you have never conducted such projects and it’s your first time working with an outsourcing provider. Professional service providers deal with such matters all the time – don’t be afraid to ask your partner for an advice.
4. Set a Reachable Deadline
Not a single outsourcing services vendor will take on a 6-month project that has to be delivered in 2 months. You risk wasting your precious time by screening tens if not hundreds of providers and not finding a single professional or trustworthy company, which can actually meet your deadline expectations. Make sure that the deadline you set corresponds to the expected workload as well as your estimated budget; and, certainly, be prepared to discuss the deadline or milestones with your future development partner.
5. Have a Good Tech Specs Doc
Create a detailed technical specifications document, which elaborately describes all the aspects of your desired application. This is a critical step and will become a cost savior. If you have a tight budget and plan to get a fixed price estimation, you should always keep such document at hand. Otherwise, a service provider will not be able to carefully estimate your project and give you an exact idea of how much it will cost you. Providers, who readily roll out a fixed price without knowing all of the details, are most definitely not being honest with you and are trying to get the job by all means. Beware! The probability that you won’t get what you expect in this case is 99.9 percent.
If you don’t have anyone in-house, who could create a detailed technical specifications document for you, it’s not a problem. An outsourcing services provider can do this at a professional level – and at an additional cost. It’s often better to engage a vendor at this early stage, as they will run an in-depth analysis of your project. Thus, your partner will know how and what to do before the project start, thus, minimizing costs and reducing the time-to-market.
6. Make Sure the Test Access Works
What looks sillier than an RFP document with invalid test access credentials inside that is sent to tens of potential vendors, and all these vendors gang up on you at once asking for working test access credentials? Believe us, this happens sooooo very often! As a business person, you already know the value of time, so you wouldn’t probably want this happening with you. Make sure you double-test the validity of the test access credentials you have created and that your RFP document contains just those credentials and not any outdated ones from the previous version.
7. Identify a Liaison
In most cases, even if your project is well thought out and has no unknowns, you will need a point of contact on your end to communicate with a service provider regarding progress, change requests, replacement of team members… Basically, you’ll need someone to have a good grasp of any unexpected things that may occur during the project, and other important stuff that raises questions on a daily basis. The most efficient situation is when the point of contact is a business stakeholder. This person should know the product perfectly well as well as the business domain, which will allow them to make business-critical decisions when needed.
8. List and Screen the Providers
There are many outsourcing destinations around the globe, each one with its own pros and cons. Naturally, there are thousands of service providers. Choosing the right company can be a lot of work and a really difficult decision. You’ll need to screen the market, you may ask your contacts for a reference, but be prepared for some extra research.
When deciding what location works best for you and your business, you will probably want to weigh across a number of factors, such as time zones, proximity (if business trips are critical), cultural compatibility, the level of IT education, general reputation of a country as an outsourcing destination, etc. Once you pinpoint a place on the map that you think is feasible to go to, the next recommended step would be creating a shortlist of companies that are based in that location to send your RFP to (don’t forget to clearly state the one but be prepared that the respondents will have questions). The feedback that you receive to the RFP will enable you to compare the responses of providers across a bunch of criteria to select the most appropriate proposal. Things that you should compare can range from the service provider’s general understanding of the project and the technical vision of the development to the estimated timeline and cost needed to execute the project.
An excellent additional criterion for screening potential vendors is having a short, 15- to 30-minute introductory call with each of them. Hearing their voice and looking at how they communicate can make a great impact on your decision-making.
9. Patent your IP and Sign an NDA
Before sharing any confidential material, knowledge, or information that may be of great value with any vendor, don’t forget to request the signing of a non-disclosure agreement (NDA). If you have a unique business idea, don’t forget to patent your IP. Together with your Legal department, prepare your own version of an NDA that fully satisfies your requirements. You may also ask a potential partner to send their standard NDA to you and customize it to suit your needs. After reviewing a vendor’s NDA, don’t hesitate to suggest your edits to it if you think that something is missing or stated unclearly because you need to make sure your confidentiality is 100% protected with this NDA.
10. How Can You Help Throughout the Development Process?
Don’t try to be an expert in everything. Don’t be a control freak. Outsourcing does not necessarily mean you’re giving up control, instead, it’s about delegating tasks critical for your business. Other experts can help you accomplish things, which you can’t accomplish on your own. In most cases, the desire to keep everything under control may really bottleneck your business. Consider this – outsourcing companies, who don’t follow international quality standards and best business practices, normally are not in the business for too long. Satisfaction of their clients is directly bound to their reputation and success. If you’ve already conducted company screening, checked all the references, etc., you don’t need to try and micromanage each and every process. You’ll need to learn to trust your partner.
At the same time, you still need to take part in the development process. The balance of control is critical here. Think of an outsourcing team as growing another helping hand, which, while being relatively independent, still should let you know what’s the state of the project and what’s next. Without your guidance, check-ins, acceptance tests, regular discussions with the project managers and product owners, the outcome of your project may be like a Schrodinger’s Cat and turn out completely different to what you wanted. Communicate and you’ll be all right!
The ten recommendations listed above are not a universal go-to guide, of course, but are rather aimed at helping you prepare for a future outsourcing partnership and making your outsourcing journey as enjoyable as possible.
Remember, that a good service provider is customer-centric and will always try its best to be highly flexible to meet a client’s needs. However, an outsourcing partnership is at all times a collaborative work of two parties and its success depends on both the client and the vendor.
Best of luck in all of your outsourcing endeavors!