Controllo della versione e gestione dei progetti per lavori freelance

5

Esistono strumenti di controllo delle versioni e di gestione dei progetti che "funzionano bene" con i lavori freelance, se voglio mantenere il mio cliente coinvolto nel progetto in ogni momento?

Ciò che mi preoccupa è che i fornitori di hosting di repository hanno le loro tariffe basate sul "numero di utenti", che ritengo sia il numero che aumenterà costantemente man mano che finisco un progetto dopo l'altro. Per ogni progetto, ad esempio, dovrei aggiungere le autorizzazioni al mio appaltatore per consentirgli di estrarre il codice sorgente e collaborare.

Quindi come funziona in pratica? Devo "rimuovere" l'appaltatore dal progetto una volta terminato? Ciò significa che in pratica dichiaro che non offro più supporto e correzioni di errori. Oppure i freelance finiscono per pagare sempre più denaro per questi servizi?

Usi tali servizi online o li ospitali da solo? O semplicemente invii il tuo codice al tuo cliente per e-mail in iterazioni settimanali?

    
posta Groo 28.08.2012 - 12:30
fonte

4 risposte

6

Il problema con un sistema di controllo del codice sorgente che usi e dai accesso ai tuoi clienti è che spesso non usano quello strumento SCM. per esempio. Se decidi di usare git, potrebbero girarsi e dire "mi dispiace, usiamo svn" o viceversa. In ogni caso, vogliono davvero mantenere il codice in un altro repository? Probabilmente vorranno che il tuo codice venga migrato al loro scm e DB esistenti.

Quindi, una zip è probabilmente la migliore - impacchetta tutto e inviala a loro.

Capisco che potresti voler offrire loro tutti i vantaggi di un SCM, ma generalmente prenderanno il tuo zip, lo decomprimeranno e importeranno (ad esempio, il codice) sul loro sistema. Tutti i benefici saranno presenti e avranno l'esperienza per gestirlo molto meglio che in uno strumento straniero.

Nulla ti impedisce di utilizzare qualsiasi sistema SCM online da sviluppare, naturalmente.

Un'altra cosa: quando hai finito, cosa ti fa pensare che non continueranno a lavorare sul codice? Se tornano per chiedere un po 'di lavoro, non puoi aspettarti di continuare da dove eri rimasto - se hai dato loro un link SCM, e lo hanno copiato internamente, dovresti ricominciare da zero, o con una versione nuova e aggiornata da loro. L'idea di archiviare tutto il codice in un repository comune non è abbastanza pratica.

    
risposta data 28.08.2012 - 14:07
fonte
3

Sono d'accordo con te sul fatto che la maggior parte dei servizi non funziona su una mentalità simile a questa, dal momento che il loro modello di pricing è intorno ai team e non al caso d'uso che tu desideri. Non è fattibile a lungo termine aggiungere / rimuovere utenti per progetto o giocoleria per mantenere la tua ricarica con un prezzo arbitrario (cosa faresti se un cliente ti ingaggia nuovamente, iscrivendoli indietro?)

Credo che abbia a che fare con quanto la vostra base di clienti vorrebbe interagire con il controllo della versione. Vorrebbero integrare il tuo lavoro con qualcosa di simile a subversion externals o git submodules, o vogliono solo avere l'ultima versione da qualche parte? In quest'ultimo caso, penso che uno script che estrae "zip" ed e-mail sia sufficiente la versione più recente.

    
risposta data 28.08.2012 - 14:16
fonte
3

Di solito sono dall'altra parte del tavolo qui, in genere richiediamo a qualsiasi sviluppatore esterno di "cavalcare le nostre guide" e utilizzare la nostra SCM / CI / impostazione di monitoraggio dei problemi. Ma ho la sensazione di essere in minoranza.

Quello che farei se fossi nei tuoi panni è:

a) Probabilmente userò bitbucket come host predefinito. I loro termini per i repository privati sono molto migliori in quanto vengono addebitati dall'utente. Sono più flessibili (HG e Git). La ragione per cui andare a dcvs è che, una volta terminato il progetto, puoi assicurarti che abbiano una copia fedele e quindi tagliarli dal repository in modo da non pagare per gli utenti vuoti. Faccio il contrario qui con i nostri freelance e funziona molto bene.

b) Scegli un tracker di problemi che sia altamente flessibile e non integrato, ma che funzioni con il tuo DCVS. Redmine è un'ottima scelta qui, e fa anche un po 'di monitoraggio del tempo.

c) Assicurarsi di disporre di un'infrastruttura CI per pubblicare le modifiche frequentemente; la maggior parte dei clienti desidera vedere il sito Web non i commit. Jenkins è un ottimo compagno in quanto è abbastanza libero di stare in piedi e lavora con qualsiasi cosa.

Questo ti mette in grado di coprire tutte le tue basi e non dovrebbe costare un braccio e una gamba per ottenere o andare avanti.

    
risposta data 28.08.2012 - 15:34
fonte
-2

Dipendo da cosa stai sviluppando. Per i progetti .NET e anche per i progetti Java suggerirei "Team FOUNDATION Service" (www.tfspreview.com). Qui hai un TFS completo, incluso un servizio di compilazione. Non è necessario creare un contratto per più anni, non è necessario pagare più di quello che hai usato. È sempre molto interessante per i Freelance che penso.

Altrimenti pensa a TFS Express o a un'istanza Git o SVN.

    
risposta data 28.08.2012 - 13:43
fonte

Leggi altre domande sui tag