Quali sono i diversi metodi di divisione e organizzazione del lavoro tra i membri del team di progetto?

6

Nella mia squadra, tutti vorrebbero fare tutto, incluso backend, frontend, middle layer. Ho detto loro che dovremmo dividere il lavoro in base ai ruoli e all'area di competenza.

Quali sono i pro e i contro di dividere il lavoro verticalmente (ogni story utente è fatta dalla stessa persona dal back-end al front-end) rispetto a dividere il lavoro orizzontalmente (ogni strato di astrazione è fatto dalla stessa persona)?

    
posta siamii 11.04.2011 - 04:06
fonte

6 risposte

6

Questi sono buoni consigli, immagino che la risposta dipenda dal tuo punto di vista. Ecco come lo vedo ...

  • Dividi il progetto verticalmente in modo che ogni iterazione al termine restituisca un sottoinsieme utilizzabile del tutto.

  • Dividi ogni iterazione in orizzontale mentre lavori insieme per raggiungere l'obiettivo.

  • Riutilizzo e refactoring eseguiti da iterazioni precedenti in modo da far crescere il sistema in modo coerente.

  • Assicurati che ogni membro abbia un assaggio di tutti gli aspetti in modo che tutti possano lavorare in modo intercambiabile e nessuno si senta a disagio con le parti. questo ti permetterà di ottenere guadagni e di imparare di più mentre assicuri che il progetto non ne risentirà se un autobus si allontana pericolosamente vicino a uno di voi.

  • Preferisci lavorare insieme su un singolo aspetto piuttosto che ciascuno sul tuo pezzo. Questo renderà più divertente e otterrai recensioni di peer quasi gratis.

  • Preferisci gli strumenti che rendono il lavoro di squadra divertente (git) su strumenti che seminano paura e incertezza sul tuo codice (VSS, TFS)

risposta data 11.04.2011 - 05:12
fonte
1

Rompa ogni singolo utente in attività, quindi verifica se le persone vogliono dividerle.

Il rischio è che se una persona trascorre troppo tempo su un determinato set di funzionalità correlate, altre potrebbero non capire il codice, e quella persona diventa l'esperto per i problemi lì.

Dal momento che tutti possono lavorare su ogni livello, può essere che a volte abbia senso avere una persona a fare il compito, ma dipende da quanto complicato sarà il lavoro, per una storia utente sufficientemente complessa che potrebbe ha senso avere 2 o 3 persone che dividono il lavoro e lo fanno.

    
risposta data 11.04.2011 - 04:20
fonte
1

Buona domanda. Direi che potrebbe valere la pena di dividere il frontend del lavoro, il backend - lato server e design del database. Tuttavia avere team multi-talento sarebbe vantaggioso per il progetto. Quindi vale la pena considerare che ognuno conosce e capisce ogni area cosa sta succedendo e sulla base delle competenze dedica maggiore attenzione a quell'area e guida gli altri membri su quell'area. basicamente sono cresciuto con quella cultura della squadra.

    
risposta data 11.04.2011 - 04:20
fonte
1

Che dire:
Invece di dividere il lavoro in base ai ruoli e all'area di competenza,
"sciama" insieme e affronta 1 persona per 1 come squadra (o coppia)

Vantaggio

  • Condivisione della conoscenza tra i membri del team
  • Le storie degli utenti vengono completate e non le attività (ci occupiamo di user story e attività non eseguite)
  • Incoraggiare il team a concentrarsi sulle funzionalità, anziché sulle attività

Google Forming, Storming, Norming, Swarming

    
risposta data 11.04.2011 - 04:32
fonte
0

Nel nostro team abbiamo alcune funzioni di ruolo che giriamo su ogni iterazione, in modo che tutti acquisiscano conoscenza in altre aree.

    
risposta data 11.04.2011 - 04:24
fonte
0

Hai a che fare con persone e ogni squadra ha un DNA diverso. Ciò che funziona meglio per la tua squadra e amp; prodotto, potrebbe essere una cattiva pratica in un'altra situazione.

Lascia che sia il team a provare a modo loro e dopo alcune settimane discuti cosa è andato bene e cosa è andato storto.

    
risposta data 25.01.2012 - 00:37
fonte

Leggi altre domande sui tag