Meine Empfehlung ist eigentlich ganz eindeutig: Such dir ein Programmierteam aus deiner Nähe. Nimm eines, dass agile Methoden wie "Extreme Programming" intus hat. Und nimm in Kauf, dass du denen während deren Arbeitszeit als Kunde zur Verfügung stehst, um direkt Fragen und Entscheidungen zu treffen.
Der Vorteil so eines Ansatzes ist ziemlich schlagkräftig:
- Du kriegst wirklich, was du dir vorstellst (bzw. auf was du umschwenkst, nachdem du deine ersten Ideen realisiert siehst, bzw. Benutzerfeedback reinkommt).
- Du kriegst erste funktionierende Versionen (die du ggf. auch schon zum Geldverdienen live stellen kannst) verhältnismäßig schnell.
- Die erstellte Software enthält extrem wenig Fehler.
Selbstverständlich ist die sprachliche und räumliche Trennung eine grosse Hürde, zudem da das Anforderungsmanagement und die zumindest indirekt anfallende Projektleitung (gut, nennen wirs controlling) einen ganz schön in den Pflug nimmt, aber dass mit vierfach teureren SW-Entwicklern in D das Rundum Happy-Paket geschnürt werden kann bzw. automatisch geschnürt wird, wage ich zu bezweifeln. Wobei auch das nicht an den Entwicklern liegen muss. ;)