Nel nostro lavoro sempre più spesso la cosa che riesce a fare la differenza è l’unione delle forze. Sono convinto che, come me, anche il tuo percorso è iniziato pensando che l’essere in grado di fare tutto da soli sia un aspetto molto importante.
Tutto il budget dedicato al progetto finirà nelle tue tasche, sarai in grado di controllare lo sviluppo dalla A alla Z e in fin dei conti ti sentirai molto più soddisfatto se riuscirai a fare tutto da solo!
Sicuramente questi sono aspetti importanti nella vita di uno sviluppatore, ma al tempo stesso capita che questo tipo di approccio si trasformi in qualcosa di deleterio piuttosto che una carta vincente. Sono d’accordo con te se mi dici “Andrea, ma spesso i clienti non hanno il budget per permettermi di lavorare con più persone!”. È vero, il nostro lavoro da sviluppatori molto spesso viene visto alla stregua del muratore del digitale.
Non ho niente in contrario con quest’ultima professione, soprattutto visto che ha costruito il soffitto sopra la mia testa, ma al tempo stesso anche questo è un lavoro che non sempre ottiene i meriti che si è guadagnato e soprattutto è un lavoro che tutti pensano di poter fare…
In questo articolo non voglio andare ad affrontare un argomento simile perché ci saranno molte altre occasioni per poterlo fare, analizzare i perché e i percome la nostra professione non viene rispettata richiede un forte punto di vista.
Quello che voglio fare oggi è trovare una risposta pubblica a una domanda che un po’ di tempo fa è stata fatta all’interno del nostro forum.
Se ancora non ne sei al corrente la tua membership ti fornirà anche l’accesso al nostro forum dove ogni settimana ci incontriamo per discutere i dubbi e le novità che il web ci mette a disposizione. Dal nostro punto di vista questo è il miglior modo per poter crescere velocemente e se condividi quest’idea ti consiglio di registrarti il prima possibile, anche con un account gratuito.
Qualche tempo fa il nostro Simone ci ha chiesto quale sia l’uso corretto di Git all’interno di un team di sviluppatori. Le soluzioni sono sicuramente molte e ognuno può applicare quella che preferisce; in questo articolo voglio condividerti il modo in cui noi all’interno di <codeat/>
lavoriamo per portare a termine i progetti richiesti dai clienti.

Iniziamo subito con il dire che non sei obbligato a seguire il nostro percorso. Linus Torvalds, oltre ad aver creato il kernel Linux, ha anche creato il sistema di controllo versione Git di cui parliamo oggi. Questo ha permesso a chiunque di poter prendere questo strumento e di installarlo sui propri server in produzione; o anche server separati che permettono al nostro team di condividere il codice di un determinato progetto.
Se poi il terminale non è il tuo forte, puoi sempre chiedere al tuo sistemista di installare GitLab o Gogs in modo da avere un’interfaccia grafica che ti supporti durante l’analisi di un repository e delle PR inviate al progetto.
Il termine PR usato qua sopra viene inteso come Pull Request, una pratica che all’interno di un sistema di controllo versione permette all’amministratore del repository di accettare (o meno) il codice proposto da un utente esterno al progetto.
Onestamente questa è la stessa strada che per un po’ di tempo abbiamo valutato all’interno della nostra azienda, ma posso dirti la verità? Configurare i singoli servizi, mantenere il sistema aggiornato e controllare che tutto funzioni correttamente è una grande perdita di tempo!
Con questo non voglio dire che per tutti i team è una grande perdita, almeno nel nostro che è un piccolo team il tempo è forse la moneta più preziosa che abbiamo e se uno di noi deve perdere mezza giornata a settimana per assicurarsi che tutto funzioni correttamente (togliendo di conseguenza questo tempo dai lavori dei nostri clienti), ci andiamo semplicemente a rimettere.
Ecco perché abbiamo scelto BitBucket per il nostro sviluppo.
BitBucket è meglio di GitHub?
Personalmente non credo che questa sia la domanda più corretta da porsi, in fin dei conti perché uno dovrebbe essere meglio di un altro? Per i servizi che offre? Per i prezzi che fa? Oppure per lo spirito con il quale è stato costruito?
Possiamo dire tranquillamente che GitHub ha rivoluzionato il mondo open source permettendo a chiunque ne abbia bisogno di poter caricare al suo interno un progetto in forma gratuita, l’importante è che il codice fosse pubblico e che semplificasse la vita dei collaboratori. Basta rifletterci un attimo per capire che questo è il desiderio di qualsiasi progetto open source. Più il codice è aperto e più persone possono scoprirlo, più persone lo scoprono e maggiori sono le possibilità di trovare dei collaboratori.
Semplice matematica…

E questo aspetto è stato capito visto che al suo interno si possono trovare progetti come il nostro amato WordPress, il plugin Jetpack, il kernel Linux, il framework BootStrap e anche l’immensa libreria di font icon FontAwesome.
Però questo non è il punto di questo articolo, gli esempi appena fatti rappresentano grandi realtà che grazie al sostegno della community (e talvolta di imprenditori coraggiosi) sono in grado di mantenere le personalità di spicco che permettono al progetto di sostenersi.
Quello che facciamo noi sviluppatori nel nostro quotidiano è lavorare e non sempre abbiamo la possibilità di sviluppare del codice open source, anzi molto spesso il nostro cliente ci chiede il massimo della privacy e questo non è assolutamente possibile all’interno di un repository GitHub.
È vero, potresti mettere mano al portafoglio e acquistare un account Micro che ti offre la possibilità di creare fino a 5 repository privati e invitare al suo interno soltanto i collaboratori di cui hai bisogno, in fin dei conti si tratta soltanto di $7 al mese.
Dalla stesura di questo articolo GitHub sta cambiando un po’ le carte in tavola. Nonostante il fatto che il piano Micro sia sempre disponibile ha lanciato anche un diverso piano per organizzazioni che permette di aprire un numero illimitato di repository privati pagando soltanto per gli utenti che collaborano al progetto.
Sicuramente questa è una via percorribile, ma in team di piccole dimensioni avere degli strumenti affidabili e gratuiti ha il suo buon tornaconto.
Ed ecco che arriva in nostro soccorso BitBucket che offre gli stessi strumenti che ci vengono messi a disposizione da GitHub, ma al contrario di quest’ultimo, ci permette di avere un illimitato numero di repository privati il cui unico limite è dato dal numero di utenti.
Perché riteniamo BitBucket un nostro alleato
Ti voglio confessare che all’interno di <codeat/>
non siamo tanti, ma sappiamo il fatto nostro e spesso ci capita di sviluppare progetti molto interessanti che richiedono l’uso di strumenti per collaborare senza che il nostro codice diventi di pubblico dominio.
Amiamo l’open source, basta vedere il profilo GitHub del nostro Daniele (tra l’altro Reps Mozilla), l’ultimo plugin rilasciato oppure i tatuaggi di Eugenio per capire che quando possibile condividiamo tranquillamente il nostro codice e lo mettiamo a disposizione di altri sviluppatori; purtroppo per alcuni progetti non sempre questa è la via migliore…
Ed ecco svelato il motivo per il quale abbiamo scoperto BitBucket!
Avevamo (e abbiamo tutt’ora) bisogno di un server centralizzato che ci permettesse di condividere il nostro codice, di mantenerlo sincronizzato e di poterci assegnare a vicenda delle issue per dedicarci allo sviluppo di singole caratteristiche. Per nostra fortuna abbiamo trovato tutto questo in BitBucket 🙂

Per il momento l’account gratuito ci basta e avanza, ma se dovessimo crescere (cosa che ci auguriamo) i costi di questa piattaforma sono veramente economici e permettono di poter scalare senza grossi problemi.
Bisogna anche ammettere che BitBucket è soltanto un componente di una famiglia di strumenti ben più utili che possono essere acquistati assieme. Per esempio Eugenio mi ha parlato molto spesso di JIRA, un altro prodotto Atlassian, che offre un pannello di gestione per team Agile (un tipo di approccio allo sviluppo) semplice da usare e che si integra facilmente con gli altri strumenti.
Non te l’avevo ancora detto, ma Atlassian è l’azienda che ha sviluppato e che mantiene il progetto BitBucket.
È vero, tornando alla discussione precedente, come team siamo in grado di prendere GitLab o Gogs e installare Git su un server di nostra proprietà. Onestamente abbiamo anche provato a seguire questa via ma per noi è stata soltanto una perdita di tempo e abbiamo preferito scegliere uno strumento che ci permettesse di abbattere i costi e di dedicarci alla nostra attività preferita: creare del codice che funziona e che soddisfa i nostri clienti.
Non è tutto BitBucket quello che luccica
È vero, sicuramente utilizzare uno strumento come BitBucket non può risolvere tutti i nostri problemi; in fin dei conti si parla sempre di Git ed è necessario sapere come muoversi all’interno del terminale perché non è possibile fare tutto da una semplice interfaccia web.
Se devo essere onesto con te, neanche su GitHub puoi fare tutto da interfaccia web, e se dovessimo valutare questa caratteristica neanche con GitLab o Gogs abbiamo tutti gli strumenti a disposizione, ma in fin dei conti di quali strumenti hai bisogno?
Devo ammettere che se non sei un fan della riga di comando e vuoi un’interfaccia grafica per gestire i tuoi repository, grazie ad Atlassian puoi utilizzare la comoda applicazione SourceTree che offre una ottima GUI per gestire qualsiasi tipo di repository. Che tu stia utilizzando Git su BitBucket, GitHub o da un tuo server proprietario SourceTree è l’applicazione che fa per te!

Personalmente trovo solo un piccolo difetto in questa applicazione… Sono anni che è atteso un porting per Linux, ma l’azienda ancora non ha preso una decisione su questa caratteristica.
A parte questo, il software è stabile e offre tutte le feature che si possono chiedere per la gestione di un progetto. Se desideri avere maggiori informazioni a riguardo non esitare a farmelo sapere attraverso i commenti e mi adopererò per scrivere un bell’articolo sulle feature più interessanti di questa applicazione.
Se però sei un fanatico utilizzatore Linux e vuoi avere a tua disposizione una GUI che ti permetta di gestire i tuoi repository, recentemente è nato un nuovo progetto completamente open source che è anche multipiattaforma. Questo prende il nome di Kraken, o meglio GitKracken, e puoi scaricarlo direttamente dalla sua homepage e iniziare a utilizzarlo per i tuoi scopi.
Siamo però giunti alla conclusione di questo articolo, spero che i miei toni e i concetti condivisi non ti siano sembrati un inno a BitBucket e agli altri prodotti Atlassian perché non ho preso neanche un centesimo per scrivere questo articolo 😀
La mia intenzione è stata semplicemente quella di farti conoscere uno strumento che tu e il tuo team potete usare (anche gratuitamente) per sviluppare i vostri progetti e soprattutto per farlo utilizzando il potente sistema di controllo versione Git.
Lascia un commento