Fino ad ora, come sviluppatore di software, ho lavorato principalmente su progetti che erano abbastanza "monolitici", con pochissime dipendenze da altri progetti, senza l'automazione degli edifici (no Make, Ant, Maven, ecc.) e mantenuti su un semplice sistema di controllo della versione (principalmente Subversion) con pochi rami di versioni facilmente gestibili.
Ora insieme ad alcuni amici sto pianificando un progetto che è destinato a girare su più piattaforme (principalmente mobili: Android, iOS, Kindle, Windows, ecc.), quindi scritto in diverse lingue e su diverse piattaforme di sviluppo.
Ciò porterà a molte dipendenze: tutti i progetti che condividono le stesse risorse (ad esempio immagini) o progetti dipendenti l'uno dall'altro (ad esempio, un progetto di libreria Java principale utilizzato da Android e altre implementazioni basate su Java).
Quindi quello di cui ho bisogno sono alcune informazioni di base su come rispondere a domande come: Come sarebbe strutturato il VCS? Sarebbe meglio un client-based o un VCS decentralizzato? Come decidere i sistemi di automazione degli edifici da utilizzare?
Dato che questa è una domanda abbastanza aperta, immagino che per ora sarebbe fantastico se tu potessi indicarmi qualsiasi libro o risorsa web che puoi raccomandare per questo argomento.