View Full Version : Come suddividere il lavoro in un team, nello sviluppo di un'applicazione?
Dovrei sviluppare un'applicazione android a scopo didattico, insieme ad altre due persone. Il problema è che non avendo mai lavorato in team non abbiamo idea su come suddividere il lavoro.
Esiste un approccio standard? Voi cosa potete consigliarmi sulla base della vostra esperienza?
Mi sembra difficile dare risposte o anche solo suggerimenti senza conoscere dimensione e tipologia di applicazione, tempo ed eventuali altre risorse a disposizione, qual è l'obiettivo (ok realizzare l'applicazione, ma è più importante il tempo impiegato o dimostrare che funzioni?), competenze disponibili e qualità delle stesse, se esiste già un minimo di analisi del software, se il programma verrà esteso in futuro. Per progetti piccoli già dare risposte a queste domande probabilmente risolve il problema di chi fa cosa e come.
Mi sembra difficile dare risposte o anche solo suggerimenti senza conoscere dimensione e tipologia di applicazione, tempo ed eventuali altre risorse a disposizione, qual è l'obiettivo (ok realizzare l'applicazione, ma è più importante il tempo impiegato o dimostrare che funzioni?), competenze disponibili e qualità delle stesse, se esiste già un minimo di analisi del software, se il programma verrà esteso in futuro. Per progetti piccoli già dare risposte a queste domande probabilmente risolve il problema di chi fa cosa e come.
è un semplice client (il lato server è stato già fatto). Essendo un lavoro per un'esame universitario l'applicazione verrà fatta fine a se stessa. Abbiamo già le specifiche. Il punto è che non sappiamo come dividerci i compiti.
ciao,
premesso che se semplice e solo client fate in tre quello che normalmente fa uno, quindi vi incasinate un po' (a meno che non siate fluidi nel muovervi assieme).
potreste dividervi in frontend, backend e supervisione/incapsulamento
(parto dall'assunto che si tratti per semplicità di un app html/js incapsulata)
:)
wingman87
16-12-2015, 10:34
Se è un progetto abbastanza piccolo, potreste anche pensare di lavorare tutti insieme sullo stesso pc, alternando la persona al "comando". E' un buon modo per imparare gli uni dagli altri e non rischiate di pestarvi i piedi.
uno sviluppa i test, l'altro sviluppa il codice che deve passare quei test, il terzo sviluppa l'infrastruttura, o vi alternate semplicemente nello sviluppo dei test e del codice che deve passare i test..
mi piace la seconda opzione :)
tomminno
16-12-2015, 14:56
Se è un progetto universitario almeno un sistema di controllo di versione (git, svn,ecc) dei sorgenti ci vuole. Non sarebbe male anche un Jenkins come build server.
Ma se l'obiettivo del progetto è semplicemente di carattere gestionale potete applicare un semplice modello Scrum, basato su sprint settimanali, dove usate una kanban con il backlog delle attività, brevi daily meeting e retrospettive :sofico:
Aggiungo che per suddividere bene il lavoro bisogna avere ben chiara l'architettura del sistema, i suoi moduli, le interfacce e di conseguenza la divisione potrebbe venire da se (ovvero ognuno a quel punto sceglie il modulo da sviluppare).
Probabilmente l'architettura è una di quelle cose da sviluppare assieme al team, ed è la prima cosa da fare.
Aggiungo che per suddividere bene il lavoro bisogna avere ben chiara l'architettura del sistema, i suoi moduli, le interfacce e di conseguenza la divisione potrebbe venire da se (ovvero ognuno a quel punto sceglie il modulo da sviluppare).
Probabilmente l'architettura è una di quelle cose da sviluppare assieme al team, ed è la prima cosa da fare.
quoto
sviluppate la struttura dell'applicazione insieme, sviluppate insieme le interfacce tra i vari componenti e dopo ognuno si prende in carico lo sviluppo di alcune classi dell'applicazione
Dovrei sviluppare un'applicazione android a scopo didattico, insieme ad altre due persone. Il problema è che non avendo mai lavorato in team non abbiamo idea su come suddividere il lavoro.
Esiste un approccio standard? Voi cosa potete consigliarmi sulla base della vostra esperienza?
Perchè sia vantaggioso fare il lavoro in più persone è necessario che l'applicazione sia sufficientemente complessa. Altrimenti una persona da sola rischia di essere più veloce di tre.
Sicuramente in un app per cellulari l'interfaccia grafica gioca un ruolo fondamentale, per cui una persona potrebbe occuparsi di quella.
Un'altra persona potrebbe poi occuparsi della comunicazione client-server, gestione dei timeout, degli errori etc.
La terza persona potrebbe occuparsi in ultimo di mettere tutto assieme.
E' importante definire prima quali funzioni dovrà avere il programma.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.