views:

253

answers:

7

My small business is just about to start a program of work. The 2 of us have been in the same industry for many years and believe we have come up with a simple solution to a VERY common problem. We will know we have succeeded when it becomes a no-brainer to use our software and we can continue to solve the various problems encountered by organizations operating in this field.

The problems we have I am sure are faced by many businesses starting out - not enough funds, no IT experience etc. however we have done fairly well to date with our Excel prototypes (don't laugh) and are ready to commercialize.

Because of the costs of developing at home (Australia), we are trying to find a few developers internationally that we can have work on various pieces, potentially with one IT guy back here co-ordinating/bring the pieces together. We aren't necessarily looking for the cheapest work, but none of the quotes we have had here to date make sense.

Does looking abroad sound like a viable approach? What are some things we should look out for doing it this way? Has it worked/failed for anyone else before?

+2  A: 

I am not able to give you any answer to your problem but this: for development strategy, Agile methods are a no-go on your respect. The reason is that Agile methodologies assumes a very easy communication in front of a whiteboard, pair programming and so on. Although technology exist to supply for this, it is not the same as being in the same room.

So, check how other delocalized teams work (in particular, check KDE, MySQL and Mozilla) to choose a proper development strategy.

Stefano Borini
A: 

Choose one team and a backup. Don't just dive in with a newly hired team. Start with a small pilot project (yeah, spare some money) -- see how they fare and then go on. If you are not happy -- just get it done yourselves (it's much less hassle).

dirkgently
A: 

Write everything down!

It is very tempting to do meetings via phone, but you never know what is going on at the other end. If you do phone meetings, write meeting minutes and have every participant agree to them in writing. This will eliminate a lot of misunderstanding which might bite you later on.

Apart from this basic advice, I can think only of performing certain tests (let them do some example programs, solve a few programming puzzles relevant to your work etc.) to make sure your prospective hires abroad turn out to be right for the job.

Good luck, it will probably not be easy, but at least you might get to know some interesting people from across the globe.

HS
You may want to either record phone calls or use skype to communicate and record that.
Jared
Good idea, but text in a computer is easier to search.
HS
A: 

You may want to listen to this podcast episode. http://www.dotnetrocks.com/default.aspx?showNum=162

Jared
A: 

You cannot do without a good bug tracker w/ integration for your version control.

(Background: I work out of my home office doing custom software development, mostly for clients in the same city: I guess you could call that "short-distance development". I end up seeing my clients in person once every couple of weeks or so, and even then I totally depend on the bug tracker to keep things on the go.)

Sharkey
+2  A: 

I have an outsourcing company and have spent the last four+ years in Ukraine.

My strong suggestion is that you go physically to where the programmers are and spend as much time there as you can.

During the start of the project, you will be able to clearly explain to the programmers what you want. You will see how and where they work. They will understand the business side of what you want. They will feel how important the project is to you. You will be able to sense if there are people who are not pulling their weight (replace them immediately).

When you return back to Australia, have daily meetings to keep things on track. Make these consistent every day. Use a camera on both sides.

Get a hosted server that both you and the team have access to. Put source control, autobuilds, and demo sites on that machine. Ensure you have daily builds. Review the product often.

If you are going to do this full time, consider spending months with the programmers. Your cost of living will likely not be high.

Peter
+1  A: 

You mentioned getting the work done in Australia is costly, that is why you looking abroad. Can you not hire good university grads and get the work done? I have successfully worked with university grads, the key is to hire good programmers.

Working in a distributed environment have its challenges but there are solutions as well. I have worked in this environment and we managed to do it successfully.

Communication is most important, we used to rely on chat, mails and phone in that order. Once you have proper disciplined communication rest will be easy. We used source control, coding conventions, automatic builds, daily status meetings. All this helped to keep the control.

Bhushan
Uni grads would be great and eventually we'd look to hire as the business generated cash flow. Unfortunately we just don't have the resources for that from day one.Any tips for getting Uni students on board? I presume you would need one super-student or even an experienced IT individual to mentor/lead?
anthon