So here we go. This is the first of my blog posts where I am warming up to participate in the #idevblogaday project (see www.idevblogaday.com). I decided that I should get in the habit of writing now, since there are 12 people waiting in line ahead of me, and the penalty for not writing in your slot is to go to the back of the line.
As it turns out, I apparently had a lot to say on this subject, so my apologies for the length. If you are lazy and just want to skip to the end, I have included an executive summary of my recommendations. I have tried to justify my recommendations in the main body of the blog, but if you just want a cheat sheet, it’s there for you.
Outsourcing For Fun & Profit
Today’s topic is outsourcing of iPhone related work to sites like Elance.com and rentacoder.com (recently rechristened VWorker.com). These sites provide the ability to outsource a wide variety of jobs related to iPhone development including, but not limited to:
- Programming
- Game art
- Logo design
- Icon design
- Illustration
- Website design
- Website programming
- Website Search Engine Optimization
- Press Release writing
Although I will specifically discuss my experiences with Elance.com and rentacoder.com, my advice generally applies to any outsourcing work site.
What Projects Have You Outsourced?
Before I get started, I thought I would run through a list of the projects I’ve outsourced so far. Hopefully this gives me some credibility as to why you should bother to listen to my opinions on this topic!
- freeAppCalendar.com – I first used rentacoder.com to create the freeAppCalendar.com website. I ended up hiring a programmer from Kyrgyzstan. He was fairly decent and got the site done very quickly. The site came with a complete backend admin interface, developer dashboard, auto-rotating calendar, database creation and more. I had been quoted $6000 from a friend-of-a-friend in the US to do about half as much work, and that was with his friend-of-a-friend discount. Total cost: $750
- Sticker Doodle! iPad App – This is an iPad app I’ve had under development for a few months now. It is a kids sticker book app, and was my first iOS outsourcing experiment I had a problem with the first provider and had to cancel the project. It cost me about 5 weeks of wasted time, but I got all my money back. Now I’ve found a provider that is making good progress, and at a lower price to boot! This app is actually somewhat complex as it will support in-app purchases. The new provider is located in India. Total cost: $900
- Sticker Doodle! Sticker Art – I found an artist on istockphoto.com whose style was just what I wanted. I contacted him through their site’s email system and asked if he was interested in working on this project. He was, and he was willing to work through Elance, so I got him signed up there and he completed the artwork in about 3 weeks (70 non-animated “stickers”, 10 animations, and a logo). Since then, I tried to work with him again (he is from Indonesia), but he has not responded to me for several weeks. Be prepared for this type of provider attrition! Total cost: $265
- Calc XL iPad App – This was another iOS experiment to see what sort of quality of programming I could find on Elance.com. The project is a scientific calculator very similar to that provided in Mac OS X, but for the iPad (which doesn’t ship with a calculator). This project is a few weeks behind schedule, but I just received a new build last night and aside from a few bugs, it is fully functional now. I actually outsourced the graphics to one provider and the code to another provider. Total cost: $650
- Various Logos – I have had various logos created for me on Elance with prices ranging from $50 to $125, depending on the complexity. The $125 logo required a 3D model. The great thing here was that I got dozens of rounds of tweaks to the logos. With those logo creation websites, you often pay hundreds of dollars for only 2-3 revisions.
- Fantasy Character Illustrations – I got very lucky in finding Kip Ayers, a fantasy illustrator, on Elance. Kip did some absolutely awesome work (first two rows of his portfolio) for Duels of the Runemasters. If you happen to be looking for someone to do work like this, your search has ended!
- Search Engine Optimization (SEO) for freeAppCalendar.com – I paid for a multi-month SEO package, but I was very displeased with the results. Although there was definitely an increase in the keyword placement of my site, it made absolutely zero difference in my site traffic. Total cost: $600
- Email Address Collection – I paid a provider to get me a list of email addresses for iPhone developers so that I could email them with information on freeAppCalendar. This worked fairly well, although I got about a 30% bounce rate on the emails I sent out. Fortunately, the provider gave me additional addresses for free to help make up for it. I paid about 7 cents per email address, and was able to earn about $1000 in revenue from the developers I signed up to participate in the site. Total cost: $150
Why Outsource?
The most common reasons to outsource are that:
- You need something done and don’t have the skills to do it yourself
- You need something done and don’t have the time to do it yourself
- You want to accelerate the delivery of a project by bringing on more help
The good news is that there are thousands of people all over the world who want to help you. The bad news is that it will cost you some money, and not all of those people who say they can help you actually can.
So let’s go through the various phases of a managing a project through a site like Elance.com and see what’s involved with outsourcing.
The Project Submission
The project submission is one of the most critical steps to a successful outsourced project. Here you have to tell the providers what it is you want them to do. If you omit important details or forget entire sections, the provider’s bid will likely be too low and they have no obligation to complete that missing work. My advice here is to create a complete and accurate description of the work you want done, and if possible, have someone review it and let you know if they see anything missing. Obviously this is more important for larger projects than small ones.
The project submission page on Elance offers you the ability to provide a project description, and also allows you to add attachments. I recommend writing your entire job description in your favorite word processor, including any images necessary to convey your idea, and attach it to the project submission as a PDF. Attach any other helpful files as well. At this stage, do NOT attach any of the files that your provider will need to use to do the job, as those files are downloadable by any provider reading the project description.
Some things to include in your project document:
- Proposed timeframe: when do you need the work to be complete?
- Deliverables list: What does the provider need to deliver?
- Resources list: What resources will you give the provider? This could be existing code, existing art, sample data files, etc.
- Technical requirements: What file formats and sizes are to be delivered? What programming language must be used? What web framework should your site be built on?
- Comparables: Give the provider some references to other work that might be similar to what you are looking for. This is especially helpful for art and logo projects.
You will need to choose between a Fixed Price or Hourly job. I recommend Fixed Price for most jobs. There is a lot of competition on Elance, and I have yet to post a project where I didn’t receive a bid in the price range I was hoping for. When selecting the estimated price range for the project, I generally choose $50-$500 unless I am certain that nobody can do the job for less than $500. For medium-sized projects, you will still get bids over $500 if you select this range, but it prevents someone from just bidding $500 when they might otherwise have bid $300.
During the submission process, you will also be asked if you want to pay for a featured listing. In my experience I have never had a shortage of providers and bids, so I have never seen a need to pay for this.
Managing Provider Proposals
After you have submitted your carefully crafted project description, you should start to receive proposals. Make sure to wait at least a couple of days before choosing a provider, as you will often continue to receive proposals several days or even a week after posting the project.
One way to ensure that you get enough proposals is to take the time to search for providers by appropriate keywords and invite them to your project. You may get a lot of “declined” messages, but this practice definitely helps increase the number of bids you get, and gives you the opportunity to pre-filter by only selecting 4.5 to 5 star providers that have skills in your desired areas.
If a potential provider asks a question, make sure to answer it. If you think the information in your answer would be a helpful clarification for other bidders, go ahead and add a message in the Public Q&A tab of your workroom. This will help you avoid answering the same question more than once.
Also, make sure that YOU ask questions of the providers. This is a really good way to root out the providers out there who basically just quickly read a project proposal and put in a bid without really understanding your needs. If you ask a question, only the serious providers will generally take the time to answer. I’ve had about 30% of my questions to providers go completely unanswered. Obviously I don’t select those providers.
During this phase of the project, you might get some bids that are just out of line with reality, either way too high or way too low. Elance provides an option to allow you to reject a bid. I don’t usually bother with this though. I find it easier to just make my choice and move on. I wasted some time before trying to convince providers why their bids were too high, but it was rather fruitless.
Selecting a Provider
Selecting a provider can take a lot of time and is somewhat nerve-wracking. You are always worried that you will pick the wrong one. The good thing with these escrow-based sites is that if the provider does not deliver what was requested, then you can get some or all of your money back.
Here is a list of questions you can ask yourself to help make a good selection:
- Do the provider’s comments indicate that they have read and understood the project submission?
- Does the provider’s portfolio show a history of similar work and good quality?
- What is the provider’s average star rating? Look for 4.5 or better.
- Do the comments from other clients in the provider’s job history raise any red flags (or indicate that the provider goes the extra mile)?
- Does the bid amount make sense? A $100 bid to create a complete iPhone app is rather suspect.
- Is the provider’s proposed timeframe acceptable to you? Some providers will give themselves a lot of extra time to complete the project and this may not fit your schedule.
- Is the provider making a placeholder bid? Some providers just put in an arbitrary bid like $500 and then tell you that their hourly rate is $20, and to please contact them for a detailed estimation. I ignore these bidders since I have clearly posted my project as a fixed-price job.
- Has the provider worked on projects of a similar scale to yours? If all a provider’s past work is in the $50-$100 range, and they have bid $2000 for your project, you might want to consider another provider.
- How long has the provider been on Elance?
- How many clients has the provider worked for, and how many were repeat clients?
- Has the provider completed any skill assessments? Elance allows providers to take timed tests to show their competency in various areas. If a provider has taken time to complete these tests and has scored well, that is usually a good sign.
- Is it important to you to have a North American provider or are you comfortable with a provider from China, Russia, India, etc.? Elance gives you the choice to restrict this when submitting your project.
Before you evaluate these items, setup some MUST HAVE criteria and stick to it. For example, you might decide that the provider must have a 4.5+ rating, must have worked on jobs over $500, must have worked for at least 5 other clients, and must have a portfolio that shows similar types of work. Try not to compromise on these MUST HAVEs and use them to eliminate providers that don’t measure up.
Once you have evaluated all the providers, only you can decide which one to choose. The nice thing is that if you choose poorly, and the project is not completed, then you generally don’t have to pay.
Setting & Funding Milestones
Once you have selected the provider for a project, you will need to create milestones and fund at least the first one. I strongly recommend breaking up any project into milestones if it is expected to take more than 1-2 weeks. More importantly, you should setup the milestones so that the deliverables received from the provider are as whole and complete as possible.
This way, you are always paying for work you can actually use if the provider suddenly disappears (which happens). Rather than having components A and B both 50% done by Milestone 1, it would be better to have component A 100% done, and then have component B 100% complete in Milestone 2.
Once you have created your milestones, I recommend that you wait for the provider to accept the terms before you fund any milestones. This is because if you fund a milestone now, and the provider wants to change any terms, your money gets refunded and you have to go through the funding process again. It’s just a bit annoying, so just avoid the problem.
Once the provider has accepted the terms, you will need to fund at least the first milestone. This can be easily done using PayPal. I recommend not funding additional milestones until the previous milestone is complete. The reason is that if you have to cancel a project partway through, then you don’t have to wait for Elance to review the cancellation and refund your money for milestones that have not started yet. You will still have to wait a bit to get a refund for the current milestone though.
One other key point. Some providers will ask you for an up-front payment before beginning work. Never accept this. The whole purpose of the Elance escrow system is to guarantee that providers get paid when they deliver work, and to protect you when the provider does not deliver.
If you release an up-front payment and the provider doesn’t deliver anything, that money is gone, and Elance will not help you get it back. The only reason an honest provider would ask for this up-front payment is if they have cash flow issues, which quite frankly is not a problem you are in any way obliged to help them with.
Communicating with the Provider
During the project, you should carry on your entire conversation with the provider directly through the Elance workroom page. Do not give out your email address or MSN address. The reason is that, if things go south, and you can’t come to a reasonable agreement with the provider, Elance may have to step in and arbitrate a resolution.
The only evidence that Elance takes into account during this arbitration is what is contained in the workroom messages and attachments. This includes your original project submission, and any communication with the developer prior to you selecting them for the project.
If you do happen to do some MSN or email communication, I suggest pasting a transcript into the workroom and ask the provider to confirm that it is an accurate record of your conversation.
Accepting a Milestone & Releasing Payments
Congratulations! Your provider has just delivered a milestone and asked you to release the payment. Not so fast though! You need to review the work before releasing any payments. Make sure to take the time to inspect the art, code, written work or whatever it is that was delivered. If you are not satisfied with the work, you need to ask the provider to make changes before releasing the milestone payment.
Do not accept a milestone or release payment until you are happy with the provided work.
Make sure that you get the whole work product at each step too. If it is a coding project, make sure that you get the source code and not just a video or executable demo. If it is an art project, make sure you get the original Illustrator file or Photoshop file. Ideally, you will have mentioned this in your project description or negotiated it before selecting a provider.
Once you have reviewed the milestone and are happy with it, it is a couple of quick clicks to release the money to your provider. If they’ve done a good job, pass along some encouraging words of thanks and mention that you’ve released the payment.
Also, don’t forget to fund the next milestone once you have accepted the current one. Many providers will not commence work on the next milestone until the escrow has been funded for it.
Completing a Project
Completing a project is really the same as accepting a milestone, except that you need to make sure that all loose ends are wrapped up. Before issuing the final payment, make sure that you have received all the source code, original art files, documents, etc. for the project.
If anything is missing, make sure to ask for it and politely mention that once the final deliverables are received and reviewed that you will release the final payment.
Giving Feedback
Once you have completed a project, Elance and VWorker both give you a chance to rate your provider. If things went well during your project, now’s the time to give the provider some great positive feedback and recommend him to other buyers.
If there were major problems during your project, now’s your chance to let others know so they can hopefully avoid that provider in the future.
Don’t be unduly harsh here though. Stick to facts and objective statements. Keep your comments polite and professional, even if you would like to rant about how terrible the provider was.
Put yourself in your shoes back at the beginning of the project. What information do you wish you had known about this provider back then? Try to distill that into some helpful advice for others.
Handling A Dispute
If you get into a situation where you and a provider cannot agree on how to proceed, you can ask Elance for help. If you do not want to work with the provider anymore, the easiest thing to do is cancel the project. Elance will review the situation and usually refund your escrow money to you.
If you still want the provider to continue, you can still enlist the help of Elance through their support system.
Either way, remember again to be honest, accurate and professional. Don’t write emotional tirade’s against the provider as that doesn’t help the situation.
Be prepared to answer additional questions from the Elance arbitrator to help them make their decision on how to proceed.
How Much Will My Project Cost?
Very often when I mention Elance and VWorker to people, this question comes up. Of course the correct answer is “it depends”. However, in my experience, the following are some representative ranges that you can expect to see:
- Elance Minimum: $50
- Icons and Logos: $50-$100
- Simple iOS Apps: $350-$2000
- Complex iOS Apps: $2000-$10000
- SEO: $200-$500/month
Well, that just about covers it. Feel free to ask me any questions you might have about my experience using these sites.
Executive Summary (aka Cheat Sheet)
Here is my executive summary of the above in bullet form:
Project Submission
- Write a complete and accurate description of the work you need done
- Show examples of similar work
- Specify a timeframe, deliverables list, technical requirements and any other details that are important to you.
- Prefer a Fixed-Price job over an Hourly rate for most projects
- Choose $50-$500 for most projects, even if you are willing to pay more than that
- Do not pay for a Featured Listing
Managing Bids
- Reply to any questions asked quickly
- Post any clarifications to the Public Q&A section of your project
- Ask questions to help weed out less serious providers
Selecting a Provider
- Review the list of questions from above for each provider
- Start removing bids that don’t meet your MUST have requirements
- Go through the remaining bids one-by-one and compare them to make your final choice
- If you choose a bidder and it doesn’t work out, you can go back to your proposals and select your second choice
Setting & Funding Milestones
- Organize the project into milestones with usable deliverables at each one
- Wait for the provider to accept the final terms before funding the first milestone
- Don’t fund subsequent milestones until the previous one is complete
- Don’t agree to any up-front payments or “down payments” or you will lose the Elance escrow protection
Communicating with the Provider
- Keep all communication in the workroom
- If you do communicate outside the workroom, post a summary of the things discussed and ask the provider to confirm
Accepting a Milestone & Releasing Payments
- Review all received work files thoroughly before accepting each milestone
- Ensure that you receive all the original files at each milestone
- Remember to fund the next milestone once the current one is complete
Completing a Project
- Very similar to finishing a milestone, but this is your last chance to have any issues dealt with
- Ensure that all loose ends are tied up before completing the project and releasing the final payment
Giving Feeback
- Give positive feedback for good providers as it can help them get more work
- Give accurate feedback for poor providers. Be fair and honest, but don’t be rude or unprofessional.
- What information would have been helpful to you to have known about this provider before you selected them?
Handling A Dispute
- Cancel the project and allow Elance to review the situation.
- Request mediation from Elance via their support ticket system.
- You may be asked to provide additional information or clarification by the Elance arbitrator.
How Much Will My Project Cost
- Elance Minimum: $50
- Icons and Logos: $50-$100
- Simple iOS Apps: $350-$2000
- Complex iOS Apps: $2000-$10000
- SEO: $200-$500/month
