How to outsource web development for your online store - a step by step tutorial
“Quit looking for a tech founder.” This is what everybody tells you, but nobody tells you what to do next. “Go learn first, then build;” easier said than done. We are all well aware of the perennial startup question – I don’t know how to code, so how do I develop my product? In short, you will be left with two options – Outsource or Hire. In case you choose to outsource, here is how I outsourced the complete development of KuberBox. Hiring is a different discussion altogether.
Step 1: Sketching a rough layout of the website on paper
We had decided that we would outsource the development and hire talent during later phases. We wanted to build India’s best diamond jewellery shopping website. From the onset, we were very clear about the final product and we could already visualize how it’d look like. So with this clarity, we started putting together a rough layout of how we wanted the website to finally look, deciding placements of key items, the logical flow, menu items and footer items. We sketched out the complete website, page by page, first on sheets of paper and then using the online tool “Wires by Quirktools”. This is what developers refer to as wireframes.
We always believed that it is important to transform your vision on paper before you start approaching coders. This helps the developer understand what exactly you want and thus provide a better estimate of time and money that would go into building it. Secondly, they realize that you are not handicapped and respect you for putting together something that can be worked upon, rather than just having a vague idea about building the next Facebook.
Step 2: Scouting for vendors
With this initial set done, we were now ready to look for talented vendors who would be able to deliver the required product. We looked at every possible place to find the kind of work quality that we desired. We searched high and low, and every probable contractor was being added to a spreadsheet containing their names, contact details, past work and our assessment of their work. This was going to be the spreadsheet that would eventually decide who gets the job. Whatever significant communication we had with these guys were also added against their names.
The job was also posted on popular freelance websites like oDesk and Elance (in case you didn’t know, these platforms are full of agency developers, not just freelancers) and we got numerous applications through these platform too. We had invited application from only those having at least 4.5/5 rating. We asked them to show us just their top two past works which according to them were best examples of their competitiveness. We patiently went through all these websites and the handful of contractors that we liked were now added to the same spreadsheet.
Step 3: Initial screening of vendors
Another important factor was their responsiveness to our queries and concerns. After around 20 days of this screening, our spreadsheet indicated 17 serious contenders, but we decided to continue discussion with just 11 of them. Again 4 were dropped due to budgetary constraints – the kind of 7 digit figures that some of these guys quote could surprise you and put you off the track. To avoid being taken for a ride on time and money estimates, we had a friend with us who advised us throughout the project and would join us on our conference calls.
Step 4: Zeroing down on the developer based on SOW
At this stage, generally one should ask for a SOW (Scope of Work) document from these developers. They prepare this document based on the requirements you have submitted and SOW contains finer details of all your requirements, feature requests, technologies to be used, wireframes, time and money estimates, and just about everything. With this document in our hands, we did further probing into their past work, asked for client references, and tried all sorts of things to test their competitiveness. A few quoted too long development cycle for our comfort, hence were rejected.
In the end it was about choosing from two vendors, one from Chandigarh and the other from Indore. Their quotations differed by $1000 and we chose to move ahead with the costlier one, totally based on gut feel. They were one of the most established players in their field and that worked in their favor. At this stage, we negotiated a little further and made them include every minor feature in the SOW. The vendor was selected.
Step 5: Getting the work done (The most difficult step)
Once you are at this stage, this is when the most important part begins. It does not matter whether you found the vendor online, offline, through dad’s friend’s 'bhatija' or whatever, make it a point to hand over the job through one of the freelance networks like oDesk, Elance, etc. You may end up paying ~10% extra than what you would have otherwise paid, but in the end this 10% will make sure that the other 90% gets your job done, in your way. This is so effective because these vendors would never want negative feedback/ratings from their past clients on these platforms. That’s because a profile with bad reviews would make getting clients in future a pain in the ass and nobody wants to lose potential clients. This kind of accountability that such platforms provide is of most value to people like us and helps keep vendors in check. We did all this and outsourced the job, escrowed the funds and the work began.
Having issued the work in June’13, you’d be surprised to know that we are not done with them yet. Half way into the project, the developers totally ignored one of the important modules and dropped it. According to them, the module was mistakenly included in the deliverables by the Analyst without any consultation with the developers. This led to a series of mails where we were trying to get them to deliver as promised while they kept declining. After around a month of this to-and-fro communication, we wrote a strongly worded mail to this company’s top cadre and within 10 days of that, we were back on track. I guess these time estimates never work as they are supposed to. I had heard about most of the projects taking twice or thrice the estimated time. It took 6 months instead of the estimated 3 months. While the project was delivered in Oct’13 per se, their team is still on it and fine-tuning the website. This is what happens when you have a proper requirement copy in place before outsourcing. You can get them to work on each and every deliverable mentioned there, and strike off once they are done.
The biggest bone of contention in our project was the question of website responsiveness. As it turns out, their definition and our definition of responsive website were not the same. We were surprised to find their version of the responsive site. There was zero fluidity in the design, the content boxes were piled one above the other with center alignment, resulting in 60% white space on either sides. We rejected that and have since been working on the responsive design. We are yet to get the desired results but we are hell bent on getting our every penny’s worth.
There is a reason why we were able to get each and every feature implemented in a way that we wanted. That is because we had the SOW document that covered finer details of the complete requirement and we stuck to that document till the very end. Every week, we had a con call with their team and we discussed the work that was done the earlier week and provided feedback for them to work on. This development-feedback-development circle helped in getting the desired final output.
We made some test cases and tested those cases on the website to see if things were working as they should. We used Quirktools (Screenfly) to test the responsiveness and also tested on various browsers and devices. At the end of each call, the comments were again added to the SOW document so that all things are in one place. We need to applaud our vendors too here for the kind of professionalism they have shown in documenting the whole project. Another reason why this is so important is because tomorrow when we have our internal team working on the development, this would make their life easier.
Maintenance is another big issue. The site may look all nice and stuff when there is surge in traffic, the same set of codes may start acting differently. Though the vendor was offering a maintenance package for an hourly pay, we decided not to go ahead with them. Instead we chose to hire a freelancer, a friend who is also a startup founder, for an hourly pay. This friend of ours is really good with what he does and currently takes care of the website maintenance.
Being small on team and other resources, we have found outsourcing to be really helpful and feel other entrepreneurs who are just starting up could also try it. Knowing a little about the various technologies involved helps significantly and I would suggest others to do a basic reading on web development technologies. This would in turn help you express yourself better to the developer.
From the time we started KuberBox, we have outsourced numerous jobs, and the output has been fruitful in most cases. We have outsourced logo design, content writing, jewellery design, graphics and more.
With all that, what we have eventually learnt is that the key lies in two important things – expressing yourself and then tracking progress like a mad man.
About the author:
Sourav Lodha is trying to build India’s best diamond jewellery shopping website at KuberBox.com. You can find him on twitter @LodhaSourav. Before founding KuberBox, Sourav had founded and sold off PrintBooth while still back in college.
Related stories:
5 things to consider when choosing data storage solutions on the cloud
4 things to do before you outsource your Product Development