Lo que necesitan es un sistema de Build automatizados.
Que es? Es hacer un programa con TODOS los pasos necesarios para liberar una version de entrega al usuario/tester.
http://en.wikipedia.org/wiki/Build_automation.
Yo utilizo
http://www.finalbuilder.com/.
Por ejemplo, esto es lo que hago para armar a
www.bestsellerapp.com:
- Descargo de internet las librerias (versiones exactas) de python/dependencias si no estan ya descargadas en el equipo
- Descargo del repositorio de Subversion la ultimo version estable
- Limpio los .ini de configuraciones
- Compilo el proyecto
- Ejecuto los test de DUNit
- Recolecto todos los archivos que necesita el instalador
- Genera dinamicamente el archivo XML que usa el generador de instaladores multiplataforma
http://bitrock.com/
- Valido que el XML sea correcto
- Invoco a bitrock y genero el instalador
- Conecto al servidor
www.elmalabarista.com por SFTP, elimino el instalador viejo y subo el nuevo
- Envio un correo informando del nuevo instalador
Y eso, que voy en la *mitad* del proceso. Estoy armando la parte de conectarse4 al mac, compilar con Freepascal/lazarus la version en OSX, compilar con XCode la version de iPhone, generar el archivo de firma digital, subir al servidor de apple y publicar.
Resutado?
A cualquier dia, en cualquie momento, tengo 100% de certeza que puedo entregar una version estable del proyecto, con mas de 100 pruebas automatizadas, de forma repetible y sin meter archivos que no son o que me falten, sin versiones de depuracion, configuraciones erroneas y todo eso.