This post is a bit of a rant about outsourcing development work... For the last 7 months we've been working with an external development firm that we picked up through elance. They had an excellent feedback rating, and overall seem like really great people... but the project has been something of a nightmare.. it was only supposed to be a 4 month job!
Today, we've finally received our beta... and I'm at a bit of a loss. The quality is far below our communicated standards, and on a level that I would call alpha (the alpha delivered some months ago, was at a borderline 'conceptual' level.) so I should have expected it.. but ever the optimist I had hoped they'd just somehow mend their ways.... Anyway, 2 hours in to beta testing, I've got a list of 50+ bugs, and I'm not even half way through the system...
If you're considering outsourcing, heres some tips:
- Pay with a credit card (pref. amex). When problems arise, you'll sleep better knowing that if push comes to shove you can always do a chargeback...
- Be prepared to do ALL of the visual design work. Based on our experiences, a lot of these firms have a very different idea about what graphic design and usability should look like. A BA in IT, is not the same as a BA in Graphic design.. this is a difficult concept for some...
- Be absolutely EXPLICIT in all of your requirements. Any gray areas will invariably bite you in the @ss as they take the path of least resistant, and totally ignore previously established design standards or functionality requirements. Review all of your requirements (technical, functional, visual) and look for assumptions. Replacec these with specific descriptions.
- DON'T CUT CORNERS. This includes short cutting planning documentation such as business rules, project scoping etc. The super long-winded approach will save many headaches later.
- Involve yourself daily in the work.. insist on it! I made the initial mistake of being 'hands off' and leaving it to the 'professionals'. IM at least once everyday to discuss the project.
- Be careful about changes in scope/requirement. We got a nasty surprise when our firm tried to bill us for 'out of scope work' despite previous assurance that it would be included within the current project constraints. Once again, being very explicit would have helped avoid the problem.
- Don't expect a great deal of 'value add' or 'creative input' like you would get from a local/internal dev team. These guys are are great at colouring in between the lines, but don't ask them to draw the picture.
I guess the overall message I'm trying to get across is that you can't be too explicit, and the bigger the system, the more true this is. Don't leave anything to chance or the third parties judgement, and you'll have a much smoother ride...
If you're thinking about outsouring a project and feel like you want to have a chat to someone about it, feel free to drop me an email.Anyway... back to my beatiful website.. *sigh* "Bug #51..."
That's great advice. Nice one.
(Tangler needs a thumbs up button!)
Outsourcing is always tricky. Do you think fixed price jobs based on good specs would have worked better?
We went with fixed price (around $30k USD). The only way I'd do it, at least for the initial project in a relationship. Too much risk of being bled out otherwise (a past experience). There's a lot of learning (that I didn't expect) in the first few months, particularly in terms of communicating expectations that wastes time and effort. IMO its better for the provider to carry that risk.
Our biggest mistake was rushing the spec. and like I said in an earlier post, not exposing the product to our target audience soon enough.
Another tidbit I picked up for anyone who's not a developer (like me
) the best planning tool ever is MS Excel. Build your site first as wireframe- its relatively quick and very easy. Then later once you're happy with it, go through it and document every single function or requirement implied in your mockup![]()
Agreed!!
After managing outsourced work for a number of years, I whole heartedly agree!
One thing I can also suggest is to also show the outsourcer your testing methodology & test strategy.
If you can show them what their delivered product will be put through, generally they will be more dilligent about adhering to the requirements.
I have had one group say they are not interested after seeing the test strategy.... this is a good thing ... it means they have no faith in their delivered product.. (i.e. their crap!!)
Plus ask them about their coding standards, version control and other stuff that any half decent shop should be using... remember, at the end of the day youmight be maintaining it!
Marty - how about this one -- ![]()
Thanks for the link.. checking it out now..
Hrmm.. I don't have a test strategy.. We also cut corners on version control and were too brief in terms of our coding standard. Ahh hindsight..
Our guys do provide a 90 warranty on the code for any bugs once signed off... its just that getting it to a standard where I'm happy to have the public see it has been like juggling fish.
You can tell a lot from the initial interview. 9 times out of ten they send the MD & a Senior Programmer or Team leader to see you.
If you can make the Senior Programmer sweat a little, your getting a good idea of how they operate.
Perhaps we need to start a topic called "Evaluating & Selecting Resources "
Sending ...