Det finns flera populära modeller för att bygga mjukvaruutvecklingsteam på distans, inklusive personalökningstjänster, frilansplattformar, outsourcingbyråer och offshoring.