Outsourcing is never an easy affair, especially if you are considering outsourcing your web project overseas to India or any other developing nation. As I have personally managed a web development team and also outsourced web development jobs to other developers, here is my list for the top ten tips to help you make sure that outsourcing your web development requirement, does not need to be a hassled affair.
Tip # 1: Use a Project tracking tool
It is imperative that the company you are working with uses a project collaboration tool like Basecamp, to enable you to communicate effectively and seamlessly with all members associated with that project. If you are a regular outsourcer, working with a no. of fixed providers, than you can use your own project management tool and assign logins to the outsourced individuals/firms which would be working on your projects.
Tip # 2: Research the credentials and competency of the outsourced firm
It is very important that you do adequate research on the individual or the firm who would be working on your project. You don’t want to get into an agreement and than realize that the that the firm is subcontracting the project to another vendor or worse they have no skill whatsoever for the assignment. It is important that you verify that they have worked on similar projects, are able to provide verifiable contacts and can communicate with you regularly on the progress of your project.
Tip # 3: Review the hidden costs
Every project has some fixed costs like the cost of development which is calculated by the proposed time you will invest on a project, promotional expenses, the cost of additional software, web hosting and other hardware expenses. However, it is also important that you make a list of the hidden costs for your project which would include, your time spent in communicating with the developers/your client, the duration of the project (the longer the duration, the more you would need to communicate), additional features which might needs to be added while the application is developed, third party applications to be bought and integrated into the site for additional functionality, maintenance and updates.
Tip # 4: Communicate, communicate, communicate
This is probably the single most important key to your project’s success. You need to communicate explicitly, relentlessly and on a daily basis to ensure that you get your message across. Don’t assume that the company you are outsourcing to, has the same vision for your project and you need to provide them with examples, illustrations, references and a road map to guide them forward to completing your project successfully. Don’t make logical assumptions and assume that they are on the same page. Start a dialogue and expect your team to follow suit.
Tip # 5: Don’t set unrealistic expectations
Can you develop a custom theme, slice it, plug it into a shopping cart, test and launch the site online within 4-5 working hours? Probably not. Don’t expect others to be able to get something done for you within a deadline which you can neither fulfill or you are not sure about the technicalities of the project. Just because your neighbors son has told you that its possible, don’t assume that to be the norm.
It’s a safe bet to assume that a project will take 1.5 to twice the effort to complete then what has been estimated initially. In the projects which we have done for our clients, there are very few projects which had got done within the deadline which was initially estimated but almost all of those projects were done successfully and with very pleased clients. At the end of the day, you should aim to have a great product rather than put up a lame website online.
Tip # 6: Start off with a test project
Ok, you think you have found the right resource to work on your project and you are confident that they can deliver. My advice would be take it one step at a time and rather than sending across the complete project to them, break up your project into smaller sub projects and send them a few of those assignments to complete. This will make both you and your team insync with each other and it would also give you a fair bit of idea of how they work, their internal processes and communication systems. It will also give your provider some understanding of your personality and they can adapt their development process to better suit your specific needs.
Tip # 7: Aim to work with a quality provider
Generally, the lower the price which a provider has quoted for your project, the more suspect the quality of work is going to be. This is unless, they are new and are trying to build a portfolio or if they are a ‘mass specialist’ like a logo development company and have the ec0nomies of scale to work with. You should aim to work with the provider who is best suited and most qualified for your project, even if it costs a little more, because in the long term, quality is what really matters and the price is quickly forgotten.
Tip # 8: Develop a prototype for your application
If your website or application is anything more complicated than some static content (with or without a CMS) with some feedback forms, consider building a prototype for your web application ‘before’ building out your application. If you have not yet built a prototype for your application and simply have the specs written down in a document or powerpoint file, rethink your outsourcing strategy and consider developing your application prototype as a project in itself.
As you cannot mass produce a vehicle, without building out several prototypes and perfecting its design, performance and handling, you cannot build a successful web application without creating a well documented and functional prototype which would allow you and your developers to walk through the various functionality, clarify any concerns and give you a firm time/cost estimate for your project.
Tip # 9: Give constructive feedback
You need to provide constructive and meaningful feedback to your team for them to work effectively on your project. It may sometimes happen, that there might some obvious design element or code functionality which is not working as expected and its pretty obvious to you. However, your team might be absorbed in other areas of your project or they might have overlooked this issue completely. Give them the benefit of doubt and post your concerns on your project collaboration website for them to address and resolve the issues. Setup TODO lists and weekly follow ups to ensure that resolve all outstanding issues for you. Remember, that developers generally cannot find fault in their own creations (or they don’t dig dip enough to find it), so the onus is on you to review the progress made and provide feedback and some timeline by which you would like these to be resolved.
Tip # 10: Make a Plan B
While outsourcing your project, make a Plan B, in case your developer fails to deliver. Ask for weekly code backups, original source files of your approved UI elements, documented code, DB backup and other relevant elements if you need to recreate your site from scratch. If required, define these deliverables in your project proposal and pay a little extra to your developers for providing these to you while the application is being built. Keep some alternate developer contacts handy with you and don’t be afraid to start over, if things don’t work out as expected.
Please post your feedback and comments below for any other point to consider before outsourcing your web project.