I’ll admit when I first joined Pollenizer, I found the development model a little scary. Pollenizer uses (sort-of, kind-of) outsourced development teams in foreign countries. Outsourced dev teams tend to get a bad rap, often being described as being low-quality, cheap and difficult to work with.
At Pollenizer, these aren’t such issues. The model is slightly different though.
Instead of using elance or freelancer or some similar system to find developers, Pollenizer has a dedicated team in India. They work alongside us on start-up projects from inception to completion. They’re not robotic in any sense — we don’t just throw specifications at them and expect them to complete them. They’re complete participants in the process; their suggestions and ideas are taken on board and more often than not incorporated into the finished product.
I work with four developers as their “bridge” to Australia, and I think the process is a good one. We’re learning from them; they’re learning from us. Every project is making everyone involved in it sharper and more creative. The biggest challenge for me, as a developer, has been letting go and learning to delegate rather than taking everything on myself (I am constantly over-enthusiastic; it is probably my greatest professional flaw. I’m working on it).
If I’m being honest, some of the “outsourced” developers I’m working with are better developers than I am.
I think the key here though is that these are not just random faces at the end of the Internet who I’m tasking with work. They’re people I interact with on a daily basis (we communicate constantly via Skype). I’m concerned when they’re sick. I experience a massive kick when they do something innovative. When something goes wrong, they’re right in there beside me working to fix it. They’re co-workers in every sense of the word.
Anyone who expects to fling code at an outsourcing company — wherever in the world it is — is not going to get good results. Developers everywhere require mentorship and teamwork, peer review and guidance. Gone are the days of the lone hot-shot developer; we’re team players now, and you need to build a team.
If you want to outsource your software development, you have to care about quality, you have to care about the people you work with. You have to find (or build) the right team, engage with them, as people, as a person, and let their strengths shine though. Several of the founders at Pollenizer visit India regularly to touch base and keep everyone together and I can’t see how it could work otherwise.
It’s never going to be simple. It’s software. That’s how it is. (Irreducible complexity)
P.S. To my dev team in Trivandrum, you guys rock. :)