Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Team per sviluppo software!
Forum - Tutto e di + - Team per sviluppo software!

Avatar
giovybus (Member)
Rookie


Messaggi: 50
Iscritto: 14/07/2010

Segnala al moderatore
Postato alle 14:40
Domenica, 16/02/2014
Salve a tutti come da oggetto volevo esporvi un mio problema, da qualche mese sto lavorando ad un programma con due miei amici, essendo la prima volta (per tutti e tre) a lavorare insieme per lo stesso progetto, stiamo avendo alcuni problemi.
qualcuno saprebbe consigliarmi quale deve essere l'approccio giusto per lavorare in team??

PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 15:04
Domenica, 16/02/2014
Dovreste usare un sistema di controllo versione come GIT o SVN (per l'hosting ci sono servizi come Sourceforge o Github), oppure se usate Visual Studio c'è anche il sistema proprietario di microsoft Team Foundation Server.

PM Quote
Avatar
giovybus (Member)
Rookie


Messaggi: 50
Iscritto: 14/07/2010

Segnala al moderatore
Postato alle 15:20
Domenica, 16/02/2014
Noi usiamo Eclipse, e scriviamo codice in java

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:32
Domenica, 16/02/2014
Sicuramente il version control è fondamentale, anche quando lavori solo.
Ma in team potrebbe non bastare.

Esponici quindi esattamente i problemi che state avendo.

Intanto ti posso elencare i punti fondamentali che caratterizzano un corretto lavoro in team o in autonomia, ma chiaramente nel primo caso se non si seguono emergono più problemi che in autonomia potrebbero pesarti meno:

- Definire e sviluppare una solida architettura, disaccoppiata, testabile ed estendibile. In tal caso è importante approfondire i principi SOLID, i design pattern e le più comuni architetture software OOP.

- Definire convenzioni e standard, come naming convention, che tutto il team deve seguire. In tal caso è buona norma partire dagli standard del linguaggio in uso, e da li definire delle proprie personalizzazioni.

- Usa in maniera adeguata il sistema di versionamento, nei progetti particolarmente grossi si mette vicino anche un build server che automaticamente compila, testa, crea il pacchetto e deploya le versioni pian piano committate

- Project Management, avere quindi definite le attività da svolgere, con priorità, dipendenze, effort, scadenze seguendo una metodologia come quelle agili che vanno per la maggiore ormai ad esempio scrum, kanban, XP.

- Adeguata metodologia di test (unit test, integration test, component test, system test, funcional test) e per la maggior parte automatizzati

Chiaramente nei progetti fatti per hobby si può essere un pò più blandi nei punti specifici, ma almeno tutte queste componenti devono essere presenti per lavorare bene.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6223
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:16
Domenica, 16/02/2014
Un esempio di convenzioni: http://devwiki.pierotofy.it/convenzioni


Il mio blog: https://piero.dev
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2131
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 19:05
Domenica, 16/02/2014
Questo e un bel topic.

Sinceramente anche io in passato ho avuto tantissime difficolta
Nel lavorare in team al progetto mmorpgmaker.

Effettivamente, piero ed netarrow hanno molta esperienza.
Io purtroppo non posso dare consigli utili o professinali al loro livello.
Semplicemente perche' non ho mai lavorato in un team seriamente.

Ma sempre lavorato singolarmente.
E difficile perche la programmazione e come un impronta digitale.
Nessuno programma allo stesso modo.
Ogni individuo ha il metodo ed il suo sistema di programmare le cose.

Io ho lavorato in questo modo. Non so se possa essere un metodo buono o grezzo.
Lascio poi la parola agli esperti.

Ho lavorato con SVN. Un programma utilissimo e TortoiseSVN.
Direi che sia il migliore in circolazione.

La prima fase sta nel stilare una lista di cosa da fare.
Esempio un ToDo list.
Ed assegnare a ciascun membro il proprio compito.
Nel caso che un utente resta indietro nel lavoro,
E utile aggiungere una ToDo list con varie priorita in modo che gli altri
Non rimangano fermi aspettando il lavorp di un'altro membro.

L'importante e non saltare passaggi. Ma rispettare la lista.

La bravura deve stare al project managment.
Che deve fare in modo di non sovrapporre ruoli.

Un esempio e:

Se A ha il compito di reallizare una classe che seriverbbe a B.
A non puo saltare quella fase altrimenti B rimarrebbe bloccato.
Facendo fermare anche C D.
Un'altra cosa importantissima e quella sempre di commentare ogni funzione, ogni struttur ed ogni metodo.
E tenere sempre aggiornato l'SVN. E ad ogni commit specificare sempre
Il motivo dell'aggiunta di un file o della modifica.
Ed aggiornare il ToDo list.

Cosi che A B C D sapranno se possono continuare o meno.
O se proseguire con le priorita piu basse.


PM Quote